Установка клиента RuBackup

Для резервного копирования ПК СВ «БРЕСТ» необходимы следующие пакеты:

rubackup-common_signed.deb

rubackup-client_signed.deb — клиент резервного копирования;

rubackup-brest_signed.deb — модули резервного копирования.

Установка пакетов клиента RuBackup производится из-под учетной записи с административными правами на узел фронтальной машины ПК СВ «БРЕСТ» при помощи следующих команд:

dpkg -i rubackup-common_signed.deb

dpkg -i rubackup-client_signed.deb

dpkg -i rubackup-brest_signed.deb
root@srv:~# dpkg -i rubackup-client-brest_signed.deb
Выбор ранее не выбранного пакета rubackup-client-brest.
(Чтение базы данных ... на данный момент установлено 137286 файлов и каталогов.
Подготовка к распаковке rubackup-client-brest_signed.deb ...
Распаковывается rubackup-client-brest (2020-04-22) ...
Настраивается пакет rubackup-client-brest (2020-04-22) ...

root@srv:~# dpkg -i rubackup-brest_signed.deb
Выбор ранее не выбранного пакета rubackup-brest.
(Чтение базы данных ... на данный момент установлено 137334 файла и каталога.) Подготовка к распаковке rubackup-brest_signed.deb ...
Распаковывается rubackup-brest (2020-04-22) ...
Настраивается пакет rubackup-brest (2020-04-22) ...
root@srv:~#

1. Настройка клиента с помощью интерактивной утилиты rb_init

Порядок настройки клиента с помощью интерактивной утилиты rb_init изложен в документе «Руководство по установке серверов резервного копирования и Linux клиентов RuBackup».

При установке клиента RuBackup в ОС Astra Linux 1.6 Смоленск с активированным режимом защитной программной среды необходимо:

  1. Выполнить команду

    sudo update-initramfs -u -k all
  2. Перезагрузить операционную систему

    sudo init 6

2. Компрессор pigz

Необходимо сделать символьную ссылку для имитации наличия в ОС компрессора pigz (это аналог gzip, но использующий в работе несколько ядер процессора):

ln -s /bin/gzip /usr/bin/pigz

3. Настройка SSH-доступа

Необходимо обеспечить беспарольный доступ для пользователя root с узла фронтальной машины root@srv.brest.loc на узлы с гипервизором

root@srv.brest.loc# ssh-keygen -t rsa
root@srv.brest.loct# cat /root/.ssh/id_rsa.pub

Этот публичный ключ нужно добавить в файл ~/.ssh/authorized_keys на узлах с гипервизором для пользователей root, brestadmin и oneadmin.

4. Добавление пользователя root в необходимые группы

Для того чтобы модуль rb_module_brest_vm имел возможность создавать моментальные снимки дисков ВМ, на узле фронтальной машины и узлах гипервизоров требуется добавить пользователя root в группы astra-console, astra-admin, kvm, libvirt, libvirt-qemu, libvirt-admin, oneadmin.

usermod -a -G astra-console root

usermod -a -G astra-admin root

usermod -a -G kvm root

usermod -a -G libvirt root

usermod -a -G libvirt-qemu root

usermod -a -G libvirt-admin root

usermod -a -G oneadmin root

5. Дополнительные настройки ПК СВ «БРЕСТ»

В случае если фронтальные машины ПК СВ «БРЕСТ» установлены отдельно от узлов виртуализации, а внутри платформы используются хранилища Ceph, для работы модулей RuBackup необходимо выполнить следующие настройки:

  1. Авторизуйтесь под пользователем root и установите ceph-deploy на каждой фронтальной машине:

    sudo -i
    apt install ceph-deploy
  2. Создайте пользователя ceph-adm на каждой фронтальной машине:

    adduser ceph-adm
Установите такой же пароль, который вы задали при конфигурации Ceph.
  1. Добавьте пользователя в группу sudoers:

    echo "ceph-adm ALL = (root) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/ceph-adm chmod 0440 /etc/sudoers.d/ceph-adm pdpl-user -i 127 ceph-adm
  2. Создайте директорию для хранения ssh-ключей пользователя ceph-adm на каждой фронтальной машине:

    su – ceph-adm
    
    ssh localhost
  3. Авторизуйтесь на узле Ceph-кластера по ssh, переключитесь на пользователя ceph-adm и скопируйте ssh-ключи и authorized_keys пользователя на все фронтальные машины:

    ssh <имя ноды Ceph-кластера>
    
    su - ceph-adm
    
    scp /home/ceph-adm/.ssh/id_rsa <имя фронтальной машины>:/home/ceph-adm/.ssh/
    
    scp /home/ceph-adm/.ssh/authorized_keys <имя фронтальной машины>:/home/ceph-adm/.ssh/
  4. Авторизуйтесь под пользователем ceph-adm на хосте Ceph-кластера и запустите установку управляющих компонентов на фронтальные машины:

    su - ceph-adm ceph-deploy --username ceph-adm install --cli <имя фронтальной машины>
    
    ceph-deploy --username ceph-adm admin <имя фронтальной машины>
  5. Скопируйте с узла кластера Ceph файл /etc/ceph/ceph.client.libvirt.keyring на фронтальные машины:

    scp /etc/ceph/ceph.client.libvirt.keyring <имя фронтальной машины>:/etc/ceph/

6. Конфигурационный файл модуля

В ходе инсталляции пакета модуля в системе будет создан файл настроек /opt/rubackup/etc/rb_module_brest_vm.conf.

Содержимое конфигурационного файла
# Конфигурационный файл заполняется пользователем вручную
#
# Символ "#" в начале строки воспринимается как комментарий
# "#" в середине строки воспринимается как значение параметра
# По этой причине не стоит добавлять комментарии на одной строке
# с именем и значением параметра
#
# Хост с Termidesk API
#
#termidesk_url: ~
#
# Версия Termidesk api, например draft, v1, v1.1, v2
#
#termidesk_api_version: ~
#
# Учетные данные администратора Brest для Termidesk api
#
#termidesk_username: ~
#termidesk_password: ~
#
# Время ожидания в секундах с момента запроса на создание ВМ до ее перехода в состояние
# "POWEROFF" (8) при восстановлении из РК.
# Значение по умолчанию: 300 секунд
# Минимальное значение: 10 секунд
# Максимальное значение: 900 секунд
vm_state_timeout: 300
#
# Опция актуальна если ВМ, для которой выполняется резервное копирование:
# - содержит диски на базе LVM-LVM хранилища;
# - расположена на хосте, отличном от того, где запущена процедура бэкапа.
# Возможные значения: yes, no.
# Значение по умолчанию: no.
# Если установлено значение "yes", то диски ВМ отправляются в РК
# непосредственно с хоста, на котором эта ВМ расположена, т.е. не происходит промежуточного
# копирования дисков ВМ на фронтальный хост, где запущена процедура бэкапа.
# Важно отметить, что при этом недоступны опции защищенного преобразования и цифровой подписи РК.
#
enable_remote_backup: no
#
# Путь до директории на узле виртуализации, в которой будут создаваться снэпшоты дисков при бэкапе включенной ВМ.
# Если установлено значение "vm_path", снэпшоты ВМ создаются в директории ВМ на узле виртуализации: /var/lib/datastores/<id хранилища>/<id ВМ>/
snapshot_path: vm_path
#
# Необходимая доля свободного пространства в процентах на диске в директории,
#  в которой будут созданы снэпшоты дисков включенной ВМ при ее резервировании.
free_to_total_storage_space_ratio: 30
#
# Если для опции 'remove_old_snapshots_if_found' установлено значение 'yes',
# и на момент выполнения задачи резервирования ВМ для дисков данной ВМ обнаружены неактуальные файлы снэпшотов,
# созданные данным модулем, например в случае нештатного завершения предыдущей задачи резервирования,
# то на текущей итерации бэкапа модуль выполнит удаление неактуальных файлов снэпшотов.
# В аналогичной ситуации при значении 'no' данного парамтера задача резервирования ВМ завершится с ошибкой.
# Возможные значения: yes, no
# Значение по умолчанию: no
remove_old_snapshots_if_found: no
#
# Если для опции 'commit_old_snapshots_if_found' установлено значение 'yes',
# и на момент выполнения задачи резервирования ВМ обнаружен нефинализированнный снэпшот ВМ,
# созданный данным модулем, например в случае нештатного завершения предыдущей задачи резервирования,
# то на текущей итерации бэкапа модуль выполнит финализацию снэпшота.
# В случае успеха задача резервирования ВМ продолжит свое выполнение.
# Возможные значения: yes, no
# Значение по умолчанию: no
commit_old_snapshots_if_found: no

7. Параметры конфигурационного файла

  • vm_state_timeout — параметр восстановления ВМ из резервной копии (см. раздел Централизованное восстановление резервных копий.

  • enable_remote_backup — параметр ускорения процедуры резервного копирования.

Возможные значения:

  • enable_remote_backup: no (значение по умолчанию)

  • enable_remote_backup: yes

Параметр предназначен для ускорения процедуры резервного копирования ВМ, в случае если данная ВМ запущена на узле «Брест», отличном от того, на котором запущена процедура резервного копирования, а диски ВМ находятся в хранилище типа LVM_LVM.

Чтобы процедура резервного копирования работала корректно для значения enable_remote_backup: yes:

  1. Настройте для пользователя root ssh-доступ с аутентификацией по ключу между узлом, на котором запущена процедура резервного копирования, и узлом, на котором находится ВМ, для которой нужно осуществить процедуру резервного копирования.

  2. На узле с ВМ, для которой нужно осуществить операцию резервного копирования, нужно установить клиент СРК RuBackup той же версии, что и на узле, с которого будет осуществляться процедура резервного копирования.

  3. На узле с ВМ, для которой нужно осуществить операцию резервного копирования, нужно создать папку в том же месте, которое указано в параметре use-local-backup-directory файла /opt/rubackup/etc/config.file на узле, с которого осуществляется процедура создания резервного копии.

  4. В случае значения опции enable_remote_backup: yes для процедуры создания резервной копии будут недоступны операции защищенного преобразования и цифровой подписи РК.

    • snapshot_path — параметр задает путь на узле виртуализации, по которому будут создаваться снэпшоты дисков резервируемой ВМ.

  5. Не каждую директорию можно указывать для параметра без предварительной подготовки. Для некоторых директорий следует так же указать путь в файле /usr/sbin/pdp-init-libvirt в переменной LIBVIRT_DIRS. После того, как директория будет указана, необходимо перезапустить сервис libvirt командой: systemctl restart libvirtd.service. Для проверки, что все установлено правильно можно выполнить команду: sudo pdp-ls -Md <path_to_dir>.

    Вывод должен быть такой: Уровень_3:Высокий:Категория_1,Категория_2,0xfffffffffffffffc:ccnr <path_to_dir>.

    Если вывод выглядит так: Уровень_0:Низкий:Нет:0x0 <path_to_dir>, то директория не добавлена в список LIBVIRT_DIRS или процесс libvirtd не перезапущен.

Значение по умолчанию — vm_path означает, что снэпшоты создаются в каталоге ВМ там же, где находятся диски ВМ. Если задано значение, отличное от значения по умолчанию, и при этом значение не является директорией или указанная директория не существует на момент бэкапа, то задача по созданию РК будет завершаться с ошибкой с соответствующим сообщением в журнале.

  • free_to_total_storage_space_ratio — параметр соотношения свободного пространства к общему пространству хранения.

    1. Значение параметра должно учитываться при создании снэпшотов дисков включенной ВМ при бэкапе. Если в каталоге, определенном с помощью параметра snapshot_path, соотношение свободного места к общему размеру места меньше значения, заданного с помощью free_to_total_storage_space_ratio, то задача на создание РК завершится с ошибкой с соответствующим сообщением в журнале.

      Единица измерения параметра — проценты, Значение по умолчанию — 30 %

Параметры, необходимые для выполнения резервного копирования виртуальных машин «Брест», находящихся в кластере Termidesk:

  • termidesk_url — адрес хоста с Termidesk API.

  • termidesk_api_version — версия Termidesk API.

  • termidesk_username — логин администратора Brest для Termidesk API.

  • termidesk_password — пароль администратора Brest для Termidesk API.

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

  • remove_old_snapshots_if_found - удаление неактуальных снимков состояния (снэпшотов)

    Если для параметра remove_old_snapshots_if_found установлено значение yes и на момент выполнения задачи резервного копирования ВМ для дисков данной ВМ обнаружены неактуальные файлы снимков состояния, созданные данным модулем (например, в случае нештатного завершения предыдущей задачи резервного копирования), то в ходе текущего резервного копирования модуль удалит неактуальные снимки состояния.

    Если в аналогичной ситуации значение параметра 'no', то задача резервного копирования ВМ завершится с ошибкой.

    Возможные значения:

  • remove_old_snapshots_if_found: no (значение по умолчанию)

  • remove_old_snapshots_if_found: yes

  • 'commit_old_snapshots_if_found' - финализация снимков состояния (снэпшотов)

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

    В случае успеха задача резервирования ВМ продолжит свое выполнение.

    При значении no в такой же ситуации задача резервного копирования завершится с ошибкой.

    Возможные значения:

  • commit_old_snapshots_if_found: no (значение по умолчанию)

  • commit_old_snapshots_if_found: yes