Установка клиента 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 состоят в следующем:

  1. Запуск rubackup_client необходимо выполнять от имени пользователя vdsm в root директории (/). В том случае, если вам необходимо запустить клиент не как сервис, а в терминальном режиме, воспользуйтесь командами:

    Запуск клиента
    sudo -u vdsm /opt/rubackup/bin/rubackup_client start
    Остановка клиента
    sudo -u vdsm /opt/rubackup/bin/rubackup_client stop
  2. В состав клиентского пакета включен только модуль для резервного копирования виртуальных машин oVirt/zVirt/REDVirt/ROSA Virtualization, никаких других модулей в данной конфигурации не предусмотрено.

  3. В состав клиентского пакета входят только утилиты командной строки, графический менеджер клиента RBC в состав пакета не включен.

  4. Использование возможности автоматически предоставлять NFS [1] файловую систему со стороны сервера резервного копирования для работы клиента oVirt не предусмотрено и не поддерживается.

  5. Для создания и восстановления резервных копий на стороне клиента резервного копирования требуется специально выделенное пространство:

    • Для создания резервной копии в размере не менее 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.

  1. После создания каталога для работы с временными файлами (например, при выборе каталога /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.

Таблица 1. Параметры файла конфигурации модуля резервного копирования oVirt/zVirt/REDVirt/ROSA Virtualization
Параметр Назначение Значение по умолчанию

engine

IP-адрес для API-запросов в платформу виртуализации oVirt

grant_type

Тип гранта токена аутентификации OAuth для взаимодействия с API-платформой виртуализации

password

username

Имя пользователя, от имени которого будут выполняться запросы API

password

Пароль для пользователя, указанного в параметре username

ca_info

Путь до сертификата ssl

timeout

Время ожидания (в секундах) ответа от платформы виртуализации на API запросы. Минимум 1 секунда, максимум 300 секунд, по умолчанию 10 секунд. Если при выполнении задачи на создание РК или восстановление РК ответ от платформы не поступит в течение заданного опцией timeout времени, то соответствующая задача может быть завершена с ошибкой

10

disk_upload_mechanism

Механизм для чтения данных диска и записи данных на диск внутри платформы виртуализации.

Допустимые значения:

  • nbd — механизм взаимодействия с дисками, реализуемый на основе протокола NBD. Этот бэкенд обеспечивает наилучшую производительность и расширенные функции, такие как zero/dirty extents.

  • file — механизм взаимодействия с дисками на основе прямого доступа к ним. Этот бэкенд не поддерживает множественные подключения при записи данных, а также функционал zero/dirty extents.

    Для восстановления ВМ на платформе виртуализации с используемой версией
    oVirt ниже 4.5.0 с помощью механизма загрузки дисков "nbd" в хранилища
    типа iSCSI и FCP необходимо, чтобы диски оригинальной ВМ имели Политику
    распределения — "Тонкое резервирование", иначе не гарантируется
    восстановление ВМ. (см. подробнее на странице
    https://ovirt.github.io/ovirt-imageio/packages.html)

file

allow_work_with_incompatible_versions

Параметр, указывающий, будет ли модуль работать с версией платформы виртуализации, совместимость с которой не была протестирована.

Допустимые значения: yes, no.

Если модуль не совместим с версией платформы виртуализации и значение параметра установлено в no, модуль завершит свою работу с соответствующим сообщением об ошибке.

При необходимости работы с несовместимой версией платформы виртуализации установите параметр в значение yes

no

disk_upload_timeout

Таймаут для загрузки каждого диска на платформу при восстановлении. Измеряется в минутах. По умолчанию 2 минуты. Минимальное значение — 1 минута;

2

disk_download_timeout

Таймаут для загрузки каждого диска с платформы при бекапе.  Измеряется в минутах. По умолчанию 10 минут. Минимальное значение — 1 минута;

10

imagetransfer_inactivity_timeout

Параметр определяет какое количество секунд платформа будет ожидать начала загрузки диска после создания ImageTransfer-а. Измеряется в секундах. Минимальное значение — 5 секунд, максимальное значение — 500 секунд.

5

curl_verbose

Параметр выводит дополнительную информацию по REST API запросам, при значении yes.

no

backup_vm_from_native_host

Параметр определяет, будет ли задача резервного копирования виртуальной машины назначена клиенту RuBackup, который работает на том же хосте, что и целевая ВМ.

  • Если значение установлено на yes, задача будет назначена клиенту RuBackup на том же хосте. Клиент СРК при этом должен быть добавлен в кластерную группу вместе с другими клиентами СРК, размещенными на узлах платформы виртуализации. Для информации о добавлении клиента в кластрную группу см. раздел «Группы клиентов» Руководства системного администратора RuBackup.

  • Если значение установлено на no, задача будет назначена клиенту RuBackup, используемому при создании правила резервного копирования.

yes

Далее необходимо выполнить следующие действия:

  1. Изменить в этом файле настройки для подключения к 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
  2. В ручном режиме проверить правильность настроек следующей командой:

    /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>

Если при подключении система не требовала пароль — настройка выполнена верно.


1. NFS — Network File System (см. подробнее на странице https://www.ovirt.org/documentation/administration_guide/
2. iSCSI — Internet Small Computer System Interface (см. подробнее на странице https://www.ovirt.org/documentation/administration_guide/
3. FCP — Fibre Channel Protocol (см. подробнее на странице https://www.ovirt.org/documentation/administration_guide/