Перейти к содержанию

Резервное копирование через утилиту mnt-backup

Установка и настройка утилиты

Внимание

Чтобы получить утилиту mnt-backup для резервного копирования, обратитесь в техническую поддержку.

Предварительные условия

Для корректной работы утилиты требуется следующий пакет: rsync.

Создание каталога для установки

Обязательно создайте в директории (/home) пользователя с правами sudo отдельный каталог для распаковки архива с дистрибутивом и запуска программы. Не рекомендуется распаковывать архив и запускать программу в домашней директории пользователя. Не забудьте установить приложение для распаковки архива, например unzip.

Создание пользователя и авторизация

Перед началом работы:

  1. создайте отдельного пользователя с правами sudo (группа wheel). Подключаться к серверу под учетной записью root нельзя по требованиям безопасности;
  2. авторизуйтесь под этим пользователем перед выполнением дальнейших шагов.

Распаковка архива

Скопируйте или переместите архив с дистрибутивом в специально созданный каталог (в домашней директории пользователя с правами sudo). Затем распакуйте архив. Состав дистрибутива:

  • файлы программы mnt-backup;
  • каталог tars со вспомогательными образами;

При работе запускайте файл mnt-backup от имени специально созданного пользователя и именно из той директории, в которой находится файл программы.

Подготовка к резервному копированию

  1. Выполните загрузку вспомогательных образов:

    sudo ./mnt-backup prepare
    
  2. Подготовьте гипервизор к резервному копированию:

    sudo ./mnt-backup backup -D /backup/2023-03-30/
    

Утилита выполнит резервное копирование баз данных (физическое) по указанному пути.

Данные, подлежащие резервному копированию

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

  • /var/lib/docker/

Резервное копирование утилиты по установке и настройке системы:

  • /home/deployer/
  • Директория с установщиком Почты onpremise-deployer_linux. Необходимо, если при установке Почты вы распаковали архив с дистрибутивом в другую директорию.

Резервное копирование юнит-файлов установщика и системы:

  • /etc/systemd/system/onpremise-*

  • /etc/systemd/system/deployer.service

Резервное копирование постоянных дисков:

  • /opt/mailOnPremise/

Резервное копирование баз данных (путь, указанный при подготовке к резервному копированию):

  • /backup/2023-03-30/

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

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

  1. Выполните восстановление установщика (из директории в директорию):

    • /home/deployer/ -> /home/deployer/
    • /etc/systemd/system/deployer.service -> /etc/systemd/system/deployer.service

    Внимание

    Если при установке Почты вы распаковали архив с дистрибутивом не в /home/deployer/, а в другую директорию, например, /opt/VKWorkmail/deployer/, то также нужно выполнить восстановление:

    • /opt/VKWorkmail/deployer/ -> /opt/VKWorkmail/deployer/
    systemctl daemon-reload
    systemctl start deployer
    
  2. Выполните шаги по настройке машины из программы-установщика:

    1. Перейдите в программу-установщик (http://<ip_or_domain_name>:8888).

    2. Перейдите в настройки восстанавливаемого гипервизора.

    3. Настройте машину:

      image_3

      tune_kernel
      disable_NM_for_cali
      disable_firewall
      disable_selinux
      check_needed_packs
      hypervisor_repo
      install_hypervisor_packs
      tune_docker
      configure_calicoCtl
      
  3. Остановите сервисы:

    systemctl stop deployer
    systemctl stop docker.socket
    systemctl stop docker
    systemctl stop containerd
    
  4. Восстановите директорию Docker: /var/lib/docker/ -> /var/lib/docker/

  5. Восстановите юнит-файлы: /etc/systemd/system/* -> /etc/systemd/system/

  6. Восстановите постоянные диски:

    /opt/mailOnPremise -> /opt/mailOnPremise/
    /backup/2023-03-30/ -> /opt/mailOnPremise/
    
  7. Запустите сервисы:

    systemctl daemon-reload
    systemctl start containerd
    systemctl start docker
    systemctl start docker.socket
    systemctl start deployer
    
  8. Для всех сервисов поочередно запустите задачи up_container из установщика.

    1. Перейдите в программу-установщик (http://<ip_or_domain_name>:8888).

    2. Перейдите в настройки сервиса и выполните шаг: up_container. Пункт 8.b необходимо выполнить последовательно для каждого сервиса.

    Примечание

    Для автоматической установки можно воспользоваться утилитой yq. Установите ее и выполните команду:

    yq '(.[][] | select (.name == "up_container")).status = "needRefresh"' 
    -i <deployer_path>/computesPlaybooks.yaml
    
    systemctl restart deployer
    
    , где deployer_path - путь, по которому установлена система.

    После проделанной операции все задачи up_container перейдут в статус «Необходимо обновление» теперь можно начинать автоматическую установку.

    Перейдите в программу-установщик (http://<ip_or_domain_name>:8888). Запустите автоматическую установку без проверки:

    image_5