Подготовка хоста 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