Подготовка хоста KVM для выполнения резервного копирования#
Для возможности резервного копирования и восстановления виртуальных машин KVM на сервер следует установить следующие пакеты:
rubackup-common.deb
— общие компоненты;rubackup-client.deb
— клиент резервного копирования;rubackup-kvm.deb
— модуль резервного копирования данных KVM.
Установка клиента#
Для осуществления резервного копирования и восстановления виртуальных машин KVM при помощи подсистемы на сервер виртуализации должен быть установлен клиент подсистемы со всеми необходимыми модулями. Клиент представляет собой фоновое системное приложение (демон или сервис), обеспечивающее взаимодействие с серверной группировкой подсистемы.
Для выполнения резервного копирования виртуальных машин KVM клиент должен работать от имени суперпользователя (root в Linux и Unix).
Установка пакетов модулей резервного копирования#
Установка пакета модулей резервного копирования производится из учетной записи с административными правами на узле KVM после установки на него клиента подсистемы.
Установить пакеты модулей командой, в зависимости от операционной системы:
# sudo dpkg -i ./rubackup-kvm.deb
#или
# sudo rpm -I ./rubackup-kvm.rpm
Настройка каталога для временных файлов#
Для создания резервных копий и хранения временных файлов, которые создаются при их восстановлении, требуется определенное пространство. Рекомендуется выделить для этой цели отдельный диск или устройство хранения достаточного размера и примонтировать к /kvm-backup
(либо к иной удобной точке монтирования), во избежание переполнения системного диска.
Необходимо определить этот каталог как значение параметра use-localbackup-directory
в конфигурационном файле /opt/rubackup/etc/config.file
и перезагрузить клиент.
В исключительных случаях допустимо использование возможности сервера подсистемы предоставить клиенту NFS каталог для создания резервной копии. Для этого нужно определить значение параметра nfs-share-mountpoint
, который определяет в какую точку файловой системы будет примонтирован NFS каталог. Параметр use-local-backup-directory
в этом случае должен быть отключен, а на сервере подсистемы произведены соответствующие настройки для определения разделяемого каталога.
Настройка AppArmor#
В некоторых случаях AppArmor может блокировать выполнение резервного копирования виртуальных машин. На это может указывать следующая ошибка в системных журналах:
(error: internal error: unable to execute QEMU command 'transaction': Could not create file: Permission denied)
и сообщения о блокировании операций AppArmor в журнале системы.
Для того, чтобы данную ошибку устранить, необходимо выполнить:
$ sudo apt-get install apparmor-utils
$ sudo aa-complain /usr/sbin/libvirtd
$ sudo aa-complain /etc/apparmor.d/libvirt/libvirt-7d2b303d-8c14-4a1d-9cbd-9020460b2f4e (подобные файлы)
Какой именно файл блокируется можно определить командой:
$ sudo cat /var/log/syslog | grep "apparmor" | grep "DENIED" | grep libvirt
В том случае, когда у виртуальной машины несколько дисков, при создании снапшота может возникнуть блокировка, инициированная AppArmor.
Чтобы избежать подобных ситуаций, необходимо внести информацию о каталоге для создания резервных копий и хранения временных файлов в шаблон /etc/apparmor.d/libvirt/TEMPLATE.qemu
:
profile LIBVIRT_TEMPLATE flags=(attach_disconnected) {
#include <abstractions/libvirt-qemu>
/kvm-backup/** rw,
}
Удаление клиента подсистемы#
При необходимости можно удалить с сервера клиент подсистемы и установленные модули резервного копирования. Удаление клиента возможно из учетной записи с административными правами.
Для удаления сервиса rubackup-client
используйте команды:
$ sudo systemctl disable rubackup_client
$ sudo systemctl daemon-reload
Для удаления клиента и модуля rubackup-kvm
используйте следующие команды:
$ sudo apt remove rubackup-kvm
$ sudo apt remove rubackup-client
При необходимости удалить клиент из конфигурации, это может сделать системный администратор подсистемы при помощи RBM.
После удаления клиента в ОС Astra Linux SE 1.6 с активированным режимом защитной программной среды, необходимо выполнить команду:
$ sudo update-initramfs -u -k all 2.
Перезагрузить операционную систему:
$ init 6