Руководство по резервному копированию ПО «zVirt Max»
1. Общая информация о резервном копировании Менеджера управления
Используйте инструмент engine-backup для регулярного резервного копирования Менеджера управления. Инструмент создает резервную копию базы данных и файлов конфигурации engine в виде одного файла и его можно запускать, не прерывая работу службы ovirt-engine.
1.1. Синтаксис команды резервного копирования engine-backup
Команда engine-backup выполняется в одном из трёх стандартных режимов:
engine-backup –-mode=backup
engine-backup –-mode=restore
engine-backup –-mode=verify
Режимы можно расширить набором параметров, уточняющих объем резервного копирования и различных учетных данных для базы данных engine.
Команда engine-backup --help откроет полный список параметров и их функций. В таблице представлено описание основных параметров.
| Параметр | Описание |
|---|---|
--mode |
Определяет, будет ли команда выполнять операцию резервного копирования, восстановления или проверки резервной копии. Доступны три варианта: резервное копирование (backup), восстановление (restore) и проверка резервной копии (verify). Это обязательный параметр. |
--file |
Указывает путь и имя файла, в который будут делаться резервные копии в режиме резервного копирования, и путь и имя файла, из которого будут считываться данные резервной копии в режиме восстановления или проверки. Это обязательный параметр. |
--log |
Указывает путь и имя файла, в который будут записываться журналы операций резервного копирования или восстановления. Этот параметр обязателен в режимах резервного копирования и восстановления. |
--scope |
Определяет охват операции резервного копирования или
восстановления. По умолчанию используется значение |
В таблице ниже представлено описание дополнительных значений для параметра –scope.
| Значение | Описание |
|---|---|
all |
Полная резервная копия всех баз данных и файлов конфигурации Менеджера управления |
files |
Резервная копия только файлов в системе |
db |
Резервная копия только базы данных Менеджера управления |
dwhdb |
Резервная копия только базы данных Хранилища (DWH) |
cinderlibdb |
Резервная копия только базы данных Cinderlib |
grafanadb |
Резервная копия только базы данных Grafana |
При работе утилиты engine-backup в режиме восстановления (restore) есть дополнительные параметры для восстановления базы данных Менеджера управления и базы данных Хранилища (DWH). Синтаксис параметров можно посмотреть с помощью команды engine-backup --help.
В таблице представлено описание данных параметров.
| Параметр | Описание |
|---|---|
--provision-db |
Создает базу данных PostgreSQL, куда будет выполнено восстановление из резервной копии базы данных Менеджера управления. Это обязательный параметр при восстановлении из резервной копии на удаленном хосте или новой установке, в которой еще не сконфигурирована база данных PostgreSQL. |
--change-db-credentials |
Позволяет указать другие учетные данные, чтобы восстановление базы данных Менеджера управления можно было выполнить с использованием учетных данных, отличных от тех, что хранятся в самой резервной копии. См. дополнительные параметры, необходимые для этого параметра, с помощью команды engine-backup --help. |
--restore-permissions или --no-restore-permissions |
Восстанавливает (или не восстанавливает) разрешения пользователей базы данных. Один из этих параметров обязателен при восстановлении резервной копии. |
1.2. Процедура резервного копирования
Рекомендуется регулярно выполнять процедуру резервного копирования базы данных менеджера управления. Процедуру рекомендуется выполнять в нерабочее время.
-
Подключитесь по SSH к хосту, на котором в текущий момент работает ВМ HostedEngine.
-
Включите режим глобального обслуживания:
hosted-engine --set-maintenance --mode=global -
Проверьте, что режим глобального обслуживания включен:
hosted-engine --vm-statusВ выводе команды должно быть:
!! Cluster is in GLOBAL MAINTENANCE mode !!: -
Для настройки доступа по SSH к ВМ HostedEngine:
-
В портале Администрирования нажмите Ресурсы (Compute) → Виртуальные машины (Virtual Machines) и выберите виртуальную машину HostedEngine.
-
Нажмите на кнопку Консоль(Console). По умолчанию браузер предложит загрузить файл с именем
console.vv. Откройте данный файл с помощью инструмента удаленного просмотра (Remote Viewer) и введите логин и пароль. -
Убедитесь, что сервис sshd имеет статус запущен
(active(running), с помощью команды:systemctl status sshd
-
В файле конфигурации
/etc/ssh/sshd_configраскоментируйте строки с параметрамиPortиPermitRootLogin. В параметреPortукажите номер порта, по умолчанию 22. В параметреPermitRootLoginукажите значениеyes.
-
Перезагрузите сервис sshd с помощью команды:
systemctl restart sshd.service
-
-
Подключитесь по SSH к ВМ HostedEngine.
-
Остановите сервис ovirt-engine с помощью команды:
systemctl stop ovirt-engine.service -
Создайте резервную копию базы данных менеджера управления:
engine-backup --scope=all --mode=backup --file=backup.bck --log=backuplog.log -
Сохраните полученные файлы в хранилище вне среды виртуализации.
-
Запустите сервис ovirt-engine:
systemctl start ovirt-engine.service -
Подключитесь по SSH к хосту, на котором в текущий момент работает ВМ HostedEngine.
-
Выйдите из режима глобального обслуживания:
hosted-engine --set-maintenance --mode=none -
Проверьте, что режим глобального обслуживания выключен:
hosted-engine --vm-statusВ выводе команды должно отсутствовать сообщение
!! Cluster is in GLOBAL MAINTENANCE mode !!.
2. Процедура восстановления
Восстановление может происходить в нескольких вариантах:
-
Из резервной копии на хост, ранее находившийся в кластере.
-
Из резервной копии на вновь созданный (чистый хост).
-
Из резервной копии до предыдущего состояния.
2.1. Восстановление из резервной копии на хост, ранее находившийся в кластере
Перед развертыванием необходимо подготовить новое (чистое) хранилище для менеджера управления.
-
Подключитесь на хост, ранее находившихся в кластере и подготовленный для размещения ВМ HostedEngine (в данном кластере ранее был расположен менеджер управления), и командой
hosted-engine --vm-statusпроверьте, на каком из хостов запущен (находится в аварийном режиме) менеджер управления. -
Подключитесь по SSH к этому хосту.
-
Включите режим глобального обслуживания и отключите менеджер управления:
hosted-engine --set-maintenance --mode=global hosted-engine --vm-shutdown -
Проверьте, что ВМ HostedEngine выключена и режим глобального обслуживания включен:
hosted-engine --vm-statusВ выводе команды должно быть:
... !! Cluster is in GLOBAL MAINTENANCE mode !!:В выводе команды статус ВМ HostedEngine :
Engine status : {"vm": "down_unexpected", "health": "bad", "detail": "Down", "reason": "bad vm status"} -
Подключитесь по протоколу SSH на хост, на который необходимо восстановить менеджер управления.
-
Проверьте командой dnf repolist all что репозитории
zvirt_extrasиzvirt_mainподключены:
-
Выполните обновление репозитория командой dnf update.
-
Выполните установку пакета ovirt-engine-appliance из репозитория с помощью команды:
dnf install -y ovirt-engine-appliance -
Скопируйте резервную копию
backup.bck, созданную ранее, на хост. -
Запустите терминальный мультиплексор:
tmux -
Перейдите в директорию с резервной копией и начните процедуру развертывания:
hosted-engine --deploy --restore-from-file=backup.bck -
В процессе развертывания будет задан ряд вопросов, отвечайте на них в соответствии с предпочтениями, но на вопросы, указанные ниже, необходимо ответить следующим образом:
[ INFO ] Stage: Environment setup During customization use CTRL-D to abort. Continuing will configure this host for serving as hypervisor and will create a local VM with a running engine. The provided engine backup file will be restored there, it's strongly recommended to run this tool on an host that wasn't part of the environment going to be restored. If a reference to this host is already contained in the backup file, it will be filtered out at restore time. The locally running engine will be used to configure a new storage domain and create a VM there. At the end the disk of the local VM will be moved to the shared storage. The old hosted-engine storage domain will be renamed, after checking that everything is correctly working you can manually remove it. Other hosted-engine hosts have to be reinstalled from the engine to update their hosted-engine configuration. Are you sure you want to continue? (Yes, No)[No]: - выбрать Yes; [ INFO ] skipping: [localhost] Renew engine CA on restore if needed? Please notice that if you choose Yes, all hosts will have to be later manually reinstalled from the engine. Renew CA if needed? (Yes, No)[No]: - выбрать Yes; [ INFO ] skipping: [localhost] Pause the execution after adding this host to the engine? You will be able to connect to the restored engine in order to manually review and remediate its configuration. This is normally not required when restoring an up to date and coherent backup. Pause after adding the host? (Yes, No)[No]: на данном этапе необходимо выбрать ответ исходя из конфигурации среды виртуализации. Если на хосте необходимо произвести дополнительные настройки (например, добавить неосновные сети VLAN) выберите - Yes, если в этом нет необходимости выберите - No.Наименования центров данных и кластеров при ответах на вопросы должно совпадать с наименованиями, имеющимися в исходной конфигурации, которую вы восстанавливаете.
-
В процессе установки, после получения следующего уведомления, необходимо:
FATAL: Provisioning database 'engine' failed, please check the log for details You can now connect from this host to the bootstrap engine VM using ssh as root and the temporary IP address - 192.168.222.91 - and fix this issue. Please continue only after the backup is restored. To retry the command that failed, you can run, on the bootstrap engine VM: engine-backup --mode=restore --file=/root/engine_backup --provision-all-databases --restore-permissions-
Подключиться по протоколу SSH к хосту, на котором выполняется установка менеджера управления:
-
В файле
/etc/hostsузнать временный адрес ВМ-менеджера управления (или использовать адрес, полученный из уведомления на шаге 13); -
Подключиться по протоколу SSH к ВМ-менеджера управления с хоста, на котором выполняется установка менеджера управления;
-
Установить и активировать БД. Порядок установки и активации БД Jatoba описан в пункте Инструкция по установке СУБД Jatoba.
-
-
После установки и активации СУБД Jatoba в ВМ-менеджера управления выполните команду:
engine-backup --mode=restore --file=/root/engine_backup --provision-all-databases --restore-permissions -
Подключитесь по протоколу SSH к хосту, на котором выполняется установка менеджера управления, и удалите временный файл, имя которого указано в окне установки (Например,
/tmp/ansible.6kktq7yy_he_setup_lock), будет продолжена работа мастера. -
Если на шаге 11 Pause after adding the host? был выбран вариант ответа Yes, то скрипт остановит свою работу. Будет предложено подключиться к менеджеру управления по временной ссылке. В примере это адрес https://host2.example.com:6900/ovirt-engine/, к которому можно подключиться и произвести необходимые настройки, например, добавить обязательные сети VLAN. После выполнения настроек, необходимо удалить временный файл, имя которого указано в окне установки (Например,
/tmp/ansible.6kktq7yy_he_setup_lock), будет продолжена работа мастера.
| Перед развертыванием необходимо подготовить новое (чистое) хранилище для менеджера управления. |
-
Укажите тип хранилища, которое вы хотите использовать для размещения ВМ HostedEngine.
Please specify the storage you would like to use (iscsi, fc, nfs)[nfs]:-
Для NFS введите версию, полный адрес и путь к хранилищу, а также необходимые параметры монтирования:
Please specify the nfs version you would like to use (auto, v3, v4, v4_1)[auto]: Please specify the full shared storage connection path to use (example: host:/path): storage.example.com:/hosted_engine/nfs If needed, specify additional mount options for the connection to the hosted-engine storage domain []: -
Для iSCSI введите данные портала и выберите цель и LUN из автоматически определяемых списков. Во время развертывания можно выбрать только одну цель iSCSI, но поддерживается многоканальность для подключения всех порталов одной группы порталов.
Please specify the iSCSI portal IP address: Please specify the iSCSI portal port [3260]: Please specify the iSCSI discover user: Please specify the iSCSI discover password: Please specify the iSCSI portal login user: Please specify the iSCSI portal login password: The following targets have been found: [1] iqn.2017-10.com.redhat.example:he TPGT: 1, portals: 192.168.1.xxx:3260 192.168.2.xxx:3260 192.168.3.xxx:3260 Please select a target (1) [1]: 1 The following luns have been found on the requested target: [1] 360003ff44dc75adcb5046390a16b4beb 199 GiB MSFT Virtual HD status: free, paths: 1 active Please select the destination LUN (1) [1]:
-
-
Выберите размер диска менеджера управления.
-
После успешного завершения работы мастера можно подключиться по исходному FQDN менеджера управления.
2.2. Восстановление из резервной копии на хост, ранее не находившийся в кластере
Перед развертыванием необходимо:
-
Все исходные хранилища должны быть доступны (в случае недоступности хранилищ появится ошибка
Cannot access the Storage Domain attached to the DataCenter). -
Выполнить установку хоста виртуализации согласно требованиям пункта Установка хоста виртуализации из Руководства по установке.
-
Подготовьте настройки репозиториев на хосте в соответствии с разделом Настройка репозитория из Руководства по установке.
Перед развертыванием необходимо подготовить новое (чистое) хранилище для менеджера управления.
-
Подключитесь на хост, ранее находившихся в кластере и подготовленный для размещения ВМ HostedEngine (в данном кластере ранее был расположен менеджер управления), и командой hosted-engine --vm-status проверьте, на каком из хостов запущен (находится в аварийном режиме) менеджер управления.
-
Подключитесь по SSH к этому хосту.
-
Включите режим глобального обслуживания и отключите менеджер управления:
hosted-engine --set-maintenance --mode=global hosted-engine --vm-shutdown -
Проверьте, что режим глобального обслуживания включен:
hosted-engine --vm-statusВ выводе команды должно быть:
!! Cluster is in GLOBAL MAINTENANCE mode !!:В выводе команды статус ВМ HostedEngine :
Engine status : {"vm": "down_unexpected", "health": "bad", "detail": "Down", "reason": "bad vm status"} -
Подключитесь по протоколу SSH на хост, на который необходимо восстановить менеджер управления.
-
Проверьте командой dnf repolist all что репозитории
zvirt_extrasиzvirt_mainподключены:
-
Выполните обновление репозитория командой dnf update.
-
Выполните установку пакета ovirt-engine-appliance из репозитория с помощью команды:
dnf install -y ovirt-engine-appliance -
Скопируйте резервную копию
backup.bck, созданную ранее, на хост. -
Запустите терминальный мультиплексор:
tmux -
Перейдите в директорию с резервной копией и начните процедуру развертывания:
hosted-engine --deploy --restore-from-file=backup.bck -
В процессе развертывания будет задан ряд вопросов, отвечайте на них в соответствии с предпочтениями, но на вопросы, указанные ниже, необходимо ответить следующим образом:
[ INFO ] Stage: Environment setup During customization use CTRL-D to abort. Continuing will configure this host for serving as hypervisor and will create a local VM with a running engine. The provided engine backup file will be restored there, it's strongly recommended to run this tool on an host that wasn't part of the environment going to be restored. If a reference to this host is already contained in the backup file, it will be filtered out at restore time. The locally running engine will be used to configure a new storage domain and create a VM there. At the end the disk of the local VM will be moved to the shared storage. The old hosted-engine storage domain will be renamed, after checking that everything is correctly working you can manually remove it. Other hosted-engine hosts have to be reinstalled from the engine to update their hosted-engine configuration. Are you sure you want to continue? (Yes, No)[No]: - выбрать Yes; [ INFO ] skipping: [localhost] Renew engine CA on restore if needed? Please notice that if you choose Yes, all hosts will have to be later manually reinstalled from the engine. Renew CA if needed? (Yes, No)[No]: - выбрать Yes; [ INFO ] skipping: [localhost] Pause the execution after adding this host to the engine? You will be able to connect to the restored engine in order to manually review and remediate its configuration. This is normally not required when restoring an up to date and coherent backup. Pause after adding the host? (Yes, No)[No]: на данном этапе необходимо выбрать ответ исходя из конфигурации среды виртуализации. Если на хосте необходимо произвести дополнительные настройки (например, добавить неосновные сети VLAN) выберите - Yes, если в этом нет необходимости выберите - No. -
В процессе установки, после получения следующего уведомления, необходимо:
FATAL: Provisioning database 'engine' failed, please check the log for details You can now connect from this host to the bootstrap engine VM using ssh as root and the temporary IP address - 192.168.222.91 - and fix this issue. Please continue only after the backup is restored. To retry the command that failed, you can run, on the bootstrap engine VM: engine-backup --mode=restore --file=/root/engine_backup --provision-all-databases --restore-permissionsПодключиться по протоколу SSH к хосту, на котором выполняется установка менеджера управления;
-
В файле /etc/hosts узнать временный адрес ВМ-менеджера управления (или использовать адрес, полученный из уведомления на шаге 13);
-
Подключиться по протоколу SSH к ВМ-менеджера управления;
-
Установить и активировать БД. Порядок установки и активации БД Jatoba описан в пункте Инструкция по установке СУБД Jatoba.
-
-
После установки и активации СУБД Jatoba в ВМ-менеджера управления выполните команду:
engine-backup --mode=restore --file=/root/engine_backup --provision-all-databases --restore-permissions -
Подключитесь по протоколу SSH к хосту, на котором выполняется установка менеджера управления, и удалите временный файл, имя которого указано в окне установки (Например,
/tmp/ansible.6kktq7yy_he_setup_lock), будет продолжена работа мастера. -
Если на шаге 11 Pause after adding the host? был выбран вариант ответа Yes, то скрипт остановит свою работу. Будет предложено подключиться к менеджеру управления по временной ссылке. В примере это адрес https://host2.example.com:6900/ovirt-engine/, к которому можно подключиться и произвести необходимые настройки, например, добавить обязательные сети VLAN. После выполнения настроек, необходимо удалить временный файл, имя которого указано в окне установки (Например, /tmp/ansible.6kktq7yy_he_setup_lock), будет продолжена работа мастера.
| Перед развертыванием необходимо подготовить новое (чистое) хранилище для менеджера управления. |
-
Укажите тип хранилища, которое вы хотите использовать для размещения ВМ HostedEngine.
Please specify the storage you would like to use (iscsi, fc, nfs)[nfs]:-
Для NFS введите версию, полный адрес и путь к хранилищу, а также необходимые параметры монтирования:
Please specify the nfs version you would like to use (auto, v3, v4, v4_1)[auto]: Please specify the full shared storage connection path to use (example: host:/path): storage.example.com:/hosted_engine/nfs If needed, specify additional mount options for the connection to the hosted-engine storage domain []: -
Для iSCSI введите данные портала и выберите цель и LUN из автоматически определяемых списков. Во время развертывания можно выбрать только одну цель iSCSI, но поддерживается многоканальность для подключения всех порталов одной группы порталов.
Please specify the iSCSI portal IP address: Please specify the iSCSI portal port [3260]: Please specify the iSCSI discover user: Please specify the iSCSI discover password: Please specify the iSCSI portal login user: Please specify the iSCSI portal login password: The following targets have been found: [1] iqn.2017-10.com.redhat.example:he TPGT: 1, portals: 192.168.1.xxx:3260 192.168.2.xxx:3260 192.168.3.xxx:3260 Please select a target (1) [1]: 1 The following luns have been found on the requested target: [1] 360003ff44dc75adcb5046390a16b4beb 199 GiB MSFT Virtual HD status: free, paths: 1 active Please select the destination LUN (1) [1]:
-
-
Выберите размер диска менеджера управления.
-
После успешного завершения работы мастера можно подключиться по исходному FQDN менеджера управления.
2.3. Восстановление из резервной копии до предыдущего состояния
Если менеджер управления доступен, но в нем возникла проблема, (например, повреждение базы данных или ошибка конфигурации) можно восстановить менеджер управления в предыдущее состояние, используя резервную копию, сделанную до возникновения проблемы.
-
Подключитесь по SSH к хосту, на котором работает ВМ HostedEngine.
-
Включите режим глобального обслуживания:
hosted-engine --set-maintenance --mode=global -
Проверьте, что режим глобального обслуживания включен:
hosted-engine --vm-statusВ выводе команды должно быть:
!! Cluster is in GLOBAL MAINTENANCE mode !!: -
Подключитесь по SSH к менеджеру управления, остановите сервис ovirt-engine:
systemctl stop ovirt-engine.service -
Выполните команду очистки БД менеджера управления. В процессе выполнения скрипт предупредит, что будет остановлена служба engine, если она не была остановлена. Необходимо подтвердить операцию:
[root@manager-drp ~]# engine-cleanup [ INFO ] Stage: Initializing [ INFO ] Stage: Environment setup Configuration files: /etc/ovirt-engine-setup.conf.d/10-packaging-jboss.conf, /etc/ovirt-engine-setup.conf.d/10-packaging.conf, /etc/ovirt-engine-setup.conf.d/20-setup-ovirt-post.conf Log file: /var/log/ovirt-engine/setup/ovirt-engine-remove-20221222123552-w6qn8l.log Version: otopi-1.9.6 (otopi-1.9.6-1.el8) [ INFO ] Stage: Environment packages setup [ INFO ] Stage: Programs detection [ INFO ] Stage: Environment customization [ INFO ] Stage: Setup validation During execution engine service will be stopped (OK, Cancel) [OK]: OK -
В процессе выполнения скрипт предупредит, что будут удалены все компоненты. Необходимо подтвердить операцию:
[ INFO ] Hosted Engine HA is in Global Maintenance mode. All the installed ovirt components are about to be removed, data will be lost (OK, Cancel) [Cancel]: OK -
В случае успешного завершения операции сообщение будет следующим:
[ INFO ] Stage: Clean up Log file is located at /var/log/ovirt-engine/setup/ovirt-engine-remove-20221222123552-w6qn8l.log [ INFO ] Generating answer file '/var/lib/ovirt-engine/setup/answers/20221222123722-cleanup.conf' [ INFO ] Stage: Pre-termination [ INFO ] Stage: Termination [ INFO ] Execution of cleanup completed successfully -
Выполните команду для загрузки из резервной копии:
engine-backup --mode=restore --file=/root/filename.bck --restore-permissions -
Если имеется несколько резервных копий, рекомендуется выполнить команду:
sudo /usr/share/ovirt-engine/dbscripts/engine-psql.sh -c "select fn_db_delete_config_value('AdminPassword','general');" -
В случае успешного выполнения будет указана дата и время, на которую произошло восстановление:
Please note: The engine database was backed up at 2024-XX-XX XX:XX:XX. Objects that were added, removed or changed after this date, such as virtual machines, disks, etc., are missing in the engine, and will probably require recovery or recreation. - DWH database ovirt_engine_history - Grafana database /var/lib/grafana/grafana.db You should now run engine-setup. Done -
Выполните команду engine-setup.
-
В процессе развертывания на вопрос о конфигурации firewall необходимо ответить «Yes».
Setup can automatically configure the firewall on this system. Note: automatic configuration of the firewall may overwrite current settings. Do you want Setup to configure the firewall? (Yes, No) [Yes]: Yes -
В процессе развертывания на два вопроса о резервном копировании необходимо ответить следующим образом:
If you choose to not back up the database, and Setup later fails for some reason, it will not be able to restore the database and all DWH data will be lost. Would you like to backup the existing database before upgrading it? (Yes, No) [Yes]: No [WARNING] Are you sure you do not want to backup the DWH database? A positive reply makes sense only if you do not need the data in DWH, or have some other, external means to restore it to a working state. Are you sure you do not want to backup the DWH database?(Yes, No) [No]: No -
В процессе развертывания на два вопроса об операциях vacuum и full vacuum необходимо ответить «No».
This operation may take a while depending on this setup health and the configuration of the db vacuum process. (Yes, No) [No]: No --== OVIRT ENGINE CONFIGURATION ==-- Perform full vacuum on the engine database engine@localhost? This operation may take a while depending on this setup health and the configuration of the db vacuum process. (Yes, No) [No]: No -
После окончания работы мастера запустите службу ovirt-engine:
systemctl start ovirt-engine.service -
Подключитесь по исходному FQDN менеджера управления.