5.3. Архивирование и восстановление из архива

5.3.1. Общие положения

Предполагаются следующие возможные варианты создания архивной копии конфигурации FraudWall:

  • создание snapshot-образов виртуальных машин (наиболее предпочтительный вариант)

  • создание посекторной копии жесткого диска серверов FraudWall (требует специализированного программного обеспечения)

  • создание архива конфигурации сервера штатными утилитами FraudWall fw_backup и fw_restore

Утилита fw_backup позволяет сохранить конфигурацию сервера FraudWall, а также содержимое базы данных FraudWall, в архивном файле.

Данная процедура также позволяет мигрировать сервер FraudWall на другой физический сервер, т.к. архивный файл может быть восстановлен на другом сервере.

Создание архива может быть выполнено как в интерактивном режиме, так и как cron-задание.

Созданный архив будет находится в директории /var/tmp/ с именем файла вида fwbackup-ГГГГММДД_ЧЧММСС-имясервера.tgz, который необходимо вручную перенести с сервера FraudWall на сервер хранения архивов.

5.3.2. Создание архивной копии с помощью утилиты fw_backup в интерактивном режиме

Для начала создания архивной копии необходимо выполнить команду fw_backup

5.3.3. Создание архивной копии с помощью утилиты fw_backup как cron-задание

Создание архива можно автоматизировать, например, как еженочное создание архива.

Для выполнения утилиты fw_backup в скриптах предусмотрен параметр -c. После завершения работы, fw_backup возвращает код возврата 0 при успехе, а при ошибке - ненулевое значение.

При конфигурировании автоматического создания архива на сервере управления убедитесь, что в конфигурационном файле /var/lib/pgsql/data/postgresql.conf есть следующие параметры:

archive_mode = on
archive_command = '/usr/sbin/fw_dbwal "%p" "%f"'
archive_timeout = 0

Если указанные параметры отличаются, подкорректируйте их, а затем перегрузите сервер командой reboot

Пример скрипта, который будет выполнять автоматическое создание архива, следующий:

#!/bin/bash

# Создаем архив в /var/tmp
/usr/sbin/fw_backup -c
RETVAL=$?
if [ $RETVAL -ne 0 ]; then
  echo "Error"
  exit 1
fi

# Копируем архив из /var/tmp на другой сервер по SCP
scp /var/tmp/fwbackup* user@arcserver:/mnt/backup/

# Удаляем архив из /var/tmp
rm -f /var/tmp/fwbackup*

Внимание

Чтобы не вызвать конфликта с другими процессами, запускайте скрипт автоматического создания архива в 00 минут необходимого часа

5.3.4. Восстановление из архивной копии с помощью утилиты fw_restore

Утилита fw_restore позволяет восстановить сервер FraudWall из архивной копии, в том числе на другом физическом сервере.

Восстановление сервера осуществляется в следующей последовательности:

  1. Если предполагается восстанавливать архив на другом физическом сервере, необходимо предварительно на нем установить "чистую" операционную систему (т.е. выполнить действия в разделе 4.5 «Установка операционной системы» до начала копирования файла с лицензией, т.к. дальнейшие пункты (в т.ч. редактировать файлы /etc/fraudwall/fwcontrol.xml и /etc/fraudwall/fraudwall.xml) выполнять не обязательно).

  2. Перед началом восстановления скопируйте файл архивной копии в директорию/var/tmp (убедитесь, что в ней нет других архивных файлов fwbackup-*.tgz)

    Примечание

    Работа с SFTP (SCP)-клиентом описана в разделе 5.1.3 «Интерфейс передачи файлов посредством протоколов SCP и SFTP»

  3. Для начала восстановления из архивной копии запустите команду fw_restore

  4. После восстановления проверьте и при необходимости подкорректируйте IP адреса, указанные в файле /etc/fraudwall/fraudwall.xml

  5. Перегрузите сервер командой reboot

  6. Если восстанавливается сервер баз данных FraudWall (как правило, это сервер управления), после восстановления и перезагрузки сервера, необходимо дополнительно выполнить команду: fw_control -c dbfix

  7. Установите обновления на операционную систему в соответствии с разделом 10.3.2 «Установка обновлений на операционную систему в ручном режиме»fw_update -s

  8. Убедитесь в работоспособности восстановленного сервера

5.3.5. Восстановление из snapshot-образов и посекторной копии жесткого диска

После восстановления сервера из snapshot-образов или посекторной копии жесткого диска, сервер FraudWall необходимо перегрузить командой reboot

Если восстанавливается сервер баз данных FraudWall (как правило, это сервер управления), после восстановления и перезагрузки сервера, необходимо дополнительно выполнить команду: fw_control -c dbfix

По завершению данной команды сервер считается восстановленным.

5.3.6. Миграция сервера FraudWall на другой физический сервер.

Миграция сервера FraudWall, как правило, осуществляется при необходимости расширить аппаратные ресурсы сервера (например, увеличить дисковое пространство), либо при смене операционной системы (например, с RedHat на бесплатный CentOS).

Миграция осуществляется с помощью утилиты fw_backup.

Если в установлен дополнительный сервер анализа трафика, первоначально необходимо мигрировать сервер управления FraudWall.

Внимание

В процессе миграции платежи анализироваться не будут.

5.3.6.1. Подготовительные мероприятия

Перед началом миграции необходимо выделить новую виртуальную или выделенную машину, с характеристиками не хуже мигрируемого сервера (например, можно увеличить место на диске и т.д.).

Примечание

Подготовительные мероприятия из данного пункта делаются до начала миграции. Они не влияют на анализ платежей существующими серверами FraudWall, поэтому подготовку к миграции можно выполнить в любое рабочее время.

На новый сервер нужно установить "чистую" операционную систему (т.е. выполнить действия в разделе 4.5 «Установка операционной системы» до начала копирования файла с лицензией, т.к. дальнейшие пункты (в т.ч. редактировать файлы /etc/fraudwall/fwcontrol.xml и /etc/fraudwall/fraudwall.xml) выполнять не нужно).

Внимание

Во время выполнения пункта 11 необходимо выдать временные IP адреса для дальнейшего взаимодействия и переноса резервной копии.

Примечание

Если взаимодействие с Интернет осуществляется через proxy-сервер, то необходимо произвести настройку согласно пункту 10.5.2 «Конфигурирование получения обновлений в проксированном режиме»

5.3.6.2. Миграция сервера: создание резервной копии старого сервера

Создание резервной копии осуществляется утилитой fw_backup (т.е. необходимо выполнить действия, описанные в разделе 5.3.2 «Создание архивной копии с помощью утилиты fw_backup в интерактивном режиме».

Переносим /var/tmp/fwbackup-ГГГГММДД_ЧЧММСС-<имясервера>.tgz с старого сервера на новый.

5.3.6.3. Миграция сервера: восстановление резервной копии на новом сервере
  1. Выключаем старый сервер.

  2. Выполняем команду на новом сервере service fw_setup start

  3. Изменяем доменное имя и IP адрес на значения старого сервера.

  4. Перезагружаем новый сервер командой reboot

  5. На новом сервере (он будет доступен уже по IP адресу старого сервера) восстанавливаем конфигурацию сервера командой fw_restore

  6. Повторно перегружаем сервер командой reboot

  7. Выполняем обновление системных пакетов командой fw_update -s

5.3.6.4. Миграция сервера: проверка работоспособности

После восстановления сервера FraudWall, необходимо убедиться в работоспособности системы:

  1. Проверяем доступность WEB-интерфейса системы FraudWall.

  2. Обновляем статус всех серверов в WEB-интерфейсе FraudWall во вкладке инфраструктура. Не должно быть ошибок, а время последнего обновления статуса серверов должно быть актуальным.

    Рисунок 57. Просмотр состояния сервера FraudWall

    Просмотр состояния сервера FraudWall


  3. Просматриваем логи /var/log/fraudwall/fw_control.log на наличие ошибок (строки содержащие "[err]").

  4. При миграции сервера управления необходимо проверить, что все сайты подключаются к соответствующим БД (АБС или ДБО). Для этого необходимо проверить, что последние записи в файлах /var/log/fraudwall/siteNNN-afdb.log не содержат ошибок (строки содержащие "[err]").

  5. При миграции сервера анализа трафика проверяем работоспособность связки нового сервера анализа трафика с сервером управления. Для этого необходимо проверить, что файл /var/log/fraudwall/siteNNN-af.log на сервере анализа трафика не содержат ошибок (строки содержащие "[err]").

    Дополнительно проверяем работоспособность тонкого клиента BS-Client.