Установка клиента RuBackup
Для возможности резервного копирования виртуальных машин сред виртуализации oVirt/zVirt/REDVirt/ROSA Virtualization необходимо установить пакеты клиента RuBackup на выбранный гипервизор (гипервизоры), cм. дистрибутив для oVirt:
-
rubackup-ovirt-client-<version>.el8.x86_64.rpm
-
rubackup-ovirt-common-<version>.el8.x86_64.rpm
,
где <version>
— номер версии модуля oVirt.
Подробно процедура установки клиента описана в «Руководстве по установке серверов резервного копирования и Linux клиентов RuBackup».
Основные отличия работы клиента RuBackup в средах виртуализации oVirt/zVirt/REDVirt/ROSA Virtualization виртуализации oVirt состоят в следующем:
-
Запуск
rubackup_client
необходимо выполнять от имени пользователяvdsm
в root директории (/
). В том случае, если вам необходимо запустить клиент не как сервис, а в терминальном режиме, воспользуйтесь командами:Запуск клиентаsudo -u vdsm /opt/rubackup/bin/rubackup_client start
Остановка клиентаsudo -u vdsm /opt/rubackup/bin/rubackup_client stop
-
В состав клиентского пакета включен только модуль для резервного копирования виртуальных машин oVirt/zVirt/REDVirt/ROSA Virtualization, никаких других модулей в данной конфигурации не предусмотрено.
-
В состав клиентского пакета входят только утилиты командной строки, графический менеджер клиента RBC в состав пакета не включен.
-
Использование возможности автоматически предоставлять NFS [1] файловую систему со стороны сервера резервного копирования для работы клиента oVirt не предусмотрено и не поддерживается.
-
Для создания и восстановления резервных копий на стороне клиента резервного копирования требуется специально выделенное пространство:
-
Для создания резервной копии в размере не менее 3% от общего объема виртуальных машин, для которых выполняются одновременные операции резервного копирования (например, для одновременного резервного копирования 10 виртуальных машин по 10Гб необходимо 3Гб выделенного пространства). Это связано с тем, что создание резервных копий дисков виртуальных машин происходит непосредственно из хранилища, однако требуется свободное пространство в размере 3% от объема резервируемых ресурсов для временного хранения служебной информации.
-
Для создания резервной копии выключенной виртуальной машины, диски которой расположены в хранилище iSCSI [2] или FCP [3], требуется место в каталоге для временных операций в размере 103% от её объема (100% — для временного хранения копии диска + 3% для хранения служебной информации). Копии дисков такой виртуальной машины загружаются в каталог для временных операций через oVirt API.
-
Для восстановления резервной копии в размере не менее 103% от общего объема виртуальных машин, для которых выполнено резервное копирование (например, для восстановления 10 виртуальных машин по 10 Гб необходимо 103 Гб выделенного пространства). Это связано с тем, что 100% от размера восстанавливаемых ресурсов составляют копии дисков виртуальных машин, а 3% — служебная информация.
-
Для восстановления ВМ с использованием механизма загрузки дисков "nbd" в хранилища типа iSCSI и FCP на узле Клиента РК (гипервизоре) должно быть свободное место в размере не менее 203% общего объема ВМ, для которой выполняется операция восстановления.
-
При резервном копировании в режиме дедупликации это требование не является обязательным, т. к. весь обмен данными происходит без использования дискового пространства, однако для восстановления виртуальной машины из дедуплицированной резервной копии на клиенте потребуется место для формирования дисков восстанавливаемой виртуальной машины.
После распаковки пакетов common и client в файле /root/.bashrc
прописать следующую строчку:
export PATH=$PATH:/opt/rubackup/bin
Далее перезагрузить окружение:
. ~/.bashrc
Затем создать конфигурационный файл клиента RuBackup с помощью
консольной утилиты rb_init
.
При конфигурации клиента с использованием электронной подписи, после
выполнения rb_init
на клиенте необходимо выполнить команду chown vdsm:kvm
/opt/rubackup/keys/secret-key.pem
.
-
После создания каталога для работы с временными файлами (например, при выборе каталога
/rubackup-tmp
) необходимо предоставить к нему доступ пользователюvdsm
:chown vdsm:kvm /rubackup-tmp
Временный каталог необходим для хранения:
-
Метаданных, которые формирует СРК в процессе создания резервной копии виртуальной машины. Размер формируемых метаданных может достигать 3% от объема одновременно резервируемых виртуальных машин.
-
Копий дисков виртуальных машин — для случаев, когда выполняется резервное копирование выключенной виртуальной машины, диски которой расположены в хранилище iSCSI или FCP. В данном случае объем каталога для временных операций должен быть не менее 103% от размера виртуальных машин, для которых выполняется резервное копирование.
При установке клиента рекомендуется использовать функцию централизованного восстановления в тех случаях, когда предполагается восстановление виртуальной машины из средства управления RBM.
В ходе инсталляции пакета в системе будет создан файл настроек доступа
системы резервного копирования к API oVirt
/opt/rubackup/etc/rb_module_ovirt.conf
:
# Symbol "#" at the beginning of the line treats as a comment
# "#" in the middle of the line treats as a parameter value
# So please do not use comments in one line with parameter
engine <url>
grant_type <password>
username <username>
password <password>
ca_info <path to a certificate>
timeout <timeout in seconds>
# The mechanism used (backend) to upload the disk to the server. Default: file
disk_upload_mechanism <file/nbd>
# Set this flag to 'yes' if there is a need to assign a VM backup task the RuBackup client
# which is running on the same host as the target VM.
# If set 'no' the backup task will be assigned the RuBackup client node used for backup rule creation.
# Default value: yes
backup_vm_from_native_host yes
# Specifies the maximum single disk upload timeout in minutes. Default: 2 minutes. Min 1 minute
disk_upload_timeout 2
# Specifies the maximum single disk download timeout in minutes. Default: 10 minutes. Min 1 minute
disk_download_timeout 10
# oVirt ImageTransfer inactivity_timeout in seconds. Default: 60 seconds. Min 5 seconds, max 500 seconds
imagetransfer_inactivity_timeout 60
# Try using the module if the platform version is not compatible with RuBackup. Default: no
allow_work_with_incompatible_versions no
# Turn on debug of REST requests
# Possible values: yes, no. Default no
curl_verbose no
Параметры из конфигурационного файла rb_module_ovirt.conf
представлены в
таблице 1.
Параметр | Назначение | Значение по умолчанию |
---|---|---|
|
IP-адрес для API-запросов в платформу виртуализации oVirt |
|
|
Тип гранта токена аутентификации OAuth для взаимодействия с API-платформой виртуализации |
password |
|
Имя пользователя, от имени которого будут выполняться запросы API |
|
|
Пароль для пользователя, указанного в параметре username |
|
|
Путь до сертификата ssl |
|
|
Время ожидания (в секундах) ответа от платформы виртуализации на API запросы. Минимум 1 секунда, максимум 300 секунд, по умолчанию 10 секунд. Если при выполнении задачи на создание РК или восстановление РК ответ от платформы не поступит в течение заданного опцией timeout времени, то соответствующая задача может быть завершена с ошибкой |
10 |
|
Механизм для чтения данных диска и записи данных на диск внутри платформы виртуализации. Допустимые значения:
|
file |
|
Параметр, указывающий, будет ли модуль работать с версией платформы виртуализации, совместимость с которой не была протестирована. Допустимые значения: yes, no. Если модуль не совместим с версией платформы виртуализации и значение параметра установлено в no, модуль завершит свою работу с соответствующим сообщением об ошибке. При необходимости работы с несовместимой версией платформы виртуализации установите параметр в значение yes |
no |
|
Таймаут для загрузки каждого диска на платформу при восстановлении. Измеряется в минутах. По умолчанию 2 минуты. Минимальное значение — 1 минута; |
2 |
|
Таймаут для загрузки каждого диска с платформы при бекапе. Измеряется в минутах. По умолчанию 10 минут. Минимальное значение — 1 минута; |
10 |
|
Параметр определяет какое количество секунд платформа будет ожидать начала загрузки диска после создания ImageTransfer-а. Измеряется в секундах. Минимальное значение — 5 секунд, максимальное значение — 500 секунд. |
5 |
|
Параметр выводит дополнительную информацию по REST API запросам, при значении yes. |
no |
|
Параметр определяет, будет ли задача резервного копирования виртуальной машины назначена клиенту RuBackup, который работает на том же хосте, что и целевая ВМ.
|
yes |
Далее необходимо выполнить следующие действия:
-
Изменить в этом файле настройки для подключения к API, для чего:
-
создать сертификат доступа к API следующей командой:
curl --output /opt/rubackup/keys/ovirt.ca.crt 'http://ovirt-engine.yourdomain.local/ovirt-engine/services/pki-resource?resource=ca-certificate&format=X509-PEM-CA'
-
изменить права доступа для сертификата следующей командой:
chown vdsm:kvm /opt/rubackup/keys/ovirt.ca.crt
При старте клиента RuBackup в журнальном файле
/opt/rubackup/log/RuBackup.log
на клиенте появится следующая запись:Try to check module: 'oVirt' ... Execute OS command: /opt/rubackup/modules/rb_module_ovirt -t 2>&1 [2024-02-01 08:37:31] Info: Module version: 2.0 [2024-02-01 08:37:31] Info: zVirt Engine version: 4.5 ... module 'oVirt' was checked successfully Execute OS command: /opt/rubackup/modules/rb_module_ovirt -c 2>&1
-
-
В ручном режиме проверить правильность настроек следующей командой:
/opt/rubackup/modules/rb_module_ovirt -t
1. Настройка доступа без пароля для пользователя vdsm
Для корректной работы с модулем пользователю vdsm
необходим доступ
без пароля по ssh. К пользователю root
на остальных узлах виртуализации,
где установлен клиент RuBackup.
Для этого необходимо проверить наличие ssh ключа на данном узле, если ключ отсутствует, создать его следующей командой:
sudo -u vdsm ssh-keygen -t rsa -b 4096 -f /var/lib/vdsm/.ssh/id_rsa
Далее необходимо скопировать публичный ключ пользователя vdsm
,
находящийся в файле id_rsa.pub
и записать в файл
/root/.ssh/authorized_keys
на всех остальных узлах виртуализации,
где установлен клиент RuBackup.
После вышеописанных действий необходимо убедиться, что все выполнено правильно, попробовать подключиться с одного узла виртуализации на другой командой:
sudo -u vdsm ssh root@<hostname>
Если при подключении система не требовала пароль — настройка выполнена верно.