Установка клиента 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 Смоленск с активированным режимом защитной программной среды необходимо:
-
Выполнить команду
sudo update-initramfs -u -k all
-
Перезагрузить операционную систему
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 необходимо выполнить следующие настройки:
-
Авторизуйтесь под пользователем
root
и установитеceph-deploy
на каждой фронтальной машине:sudo -i apt install ceph-deploy
-
Создайте пользователя ceph-adm на каждой фронтальной машине:
adduser ceph-adm
Установите такой же пароль, который вы задали при конфигурации Ceph. |
-
Добавьте пользователя в группу
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
-
Создайте директорию для хранения ssh-ключей пользователя ceph-adm на каждой фронтальной машине:
su – ceph-adm ssh localhost
-
Авторизуйтесь на узле 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/
-
Авторизуйтесь под пользователем
ceph-adm
на хосте Ceph-кластера и запустите установку управляющих компонентов на фронтальные машины:su - ceph-adm ceph-deploy --username ceph-adm install --cli <имя фронтальной машины> ceph-deploy --username ceph-adm admin <имя фронтальной машины>
-
Скопируйте с узла кластера 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
:
-
Настройте для пользователя
root
ssh-доступ с аутентификацией по ключу между узлом, на котором запущена процедура резервного копирования, и узлом, на котором находится ВМ, для которой нужно осуществить процедуру резервного копирования. -
На узле с ВМ, для которой нужно осуществить операцию резервного копирования, нужно установить клиент СРК RuBackup той же версии, что и на узле, с которого будет осуществляться процедура резервного копирования.
-
На узле с ВМ, для которой нужно осуществить операцию резервного копирования, нужно создать папку в том же месте, которое указано в параметре
use-local-backup-directory
файла/opt/rubackup/etc/config.file
на узле, с которого осуществляется процедура создания резервного копии. -
В случае значения опции
enable_remote_backup: yes
для процедуры создания резервной копии будут недоступны операции защищенного преобразования и цифровой подписи РК.-
snapshot_path
— параметр задает путь на узле виртуализации, по которому будут создаваться снэпшоты дисков резервируемой ВМ.
-
-
Не каждую директорию можно указывать для параметра без предварительной подготовки. Для некоторых директорий следует так же указать путь в файле
/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
— параметр соотношения свободного пространства к общему пространству хранения.-
Значение параметра должно учитываться при создании снэпшотов дисков включенной ВМ при бэкапе. Если в каталоге, определенном с помощью параметра
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.-
После заполнения данных параметров Вы сможете указать одну из ВМ 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