Обслуживание

Резервное копирование

Резервная копия (бэкап) хранит настройки, сделанные через web-интерфейс и API. В нее не входят данные графиков, по которым также строятся отчеты.

Восстановление возможно только на ту же версию Mitigator´а, с которой была сделана резервная копия.

Создание резервной копии

При работающем Mitigator´е:

docker-compose exec postgres sh -c 'backup > /tmp/backup.sql'
docker cp mitigator_postgres_1:/tmp/backup.sql .

При остановленном Mitigator´е:

docker-compose up -d postgres
docker-compose exec postgres sh -c 'backup > /tmp/backup.sql'
docker cp mitigator_postgres_1:/tmp/backup.sql .
docker-compose down postgres

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

tail backup.sql

Восстановление из резервной копии

  1. Остановить Mitigator:

    docker-compose down
    
  2. Удалить существующую базу:

    docker volume rm mitigator_postgres
    
  3. Запустить Postgres:

    docker-compose up -d postgres && docker-compose logs -f postgres
    
  4. Дождаться сообщения database system is ready to accept connections, нажать Ctrl+C.

  5. Перенести бэкап в контейнер и восстановить данные:

    docker cp backup.sql mitigator_postgres_1:/tmp
    docker-compose exec postgres sh -c 'psql mitigator </tmp/backup.sql >/tmp/restore.log'
    
  6. Запустить Mitigator:

    docker-compose up -d
    

Если на этапе восстановления появились ошибки, технической поддержке будет нужен их текст и файл restore.log, который можно забрать из контейнера так:

docker cp mitigator_postgres_1:/tmp/restore.log .

Обновление

Перед обновлением настоятельно рекомендуется сделать резервную копию.

  1. Записать в файл .env строку с версией (если файла нет, создать его):

    VERSION=v19.12
    
  2. Загрузить актуальный Compose-файл:

    wget https://docs.mitigator.ru/dist/docker-compose.yml
    

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

  3. Совершить вход в хранилище образов со своими учетными данными:

    docker login docker.mitigator.ru
    
  4. Скачать образы:

    docker-compose pull
    
  5. Перезапустить все компоненты Mitigator´а:

    systemctl restart mitigator
    

Смена конфигурации

Применить правки любых файлов конфигурации в /srv/mitigator:

systemctl reload mitigator

При этом могут быть перезапущены релевантные компоненты Mitigator´а.

После смены сетевых портов, то есть после редактирования /etc/systemd/system/mitigator.service.d/nics.conf, необходимо:

systemctl daemon-reload
systemctl restart mitigator

При этом Mitigator будет полностью выключен и заново включен.

Скрипт получения и восстановления конфигурации Mitigator´а

Доступен скрипт MBackup для получения в формате JSON-файла основных настроек системы через API, а также для восстановления из полученного файла (только на чистую систему).

Такой файл не содержит настроек пользователей, сети, журналов и не может в полной мере заменить резерное бекапирование.

Возможные сценарии использования:

  • Отслеживание изменений настроек системы (регулярное получение файла и его сравнение с предыдущей версией).
  • Перенос основных настроек на другой стенд, создание шаблона настроек.
  • Дублирование функциональности резервного копирования и восстановления.