Восстановление резервной копии виртуальной машины#

Непосредственное восстановление виртуальных машин в KVM при помощи подсистемы возможно для таких виртуальных машин, диски которых располагаются в файловой системе и используют формат qcow2. Если для дисков виртуальной машины используются блочные устройства или устройства Ceph, то резервная копия будет восстановлена в каталоге в виде набора файлов виртуальной машины (конфигурационный xml-файл и образы дисков виртуальной машины), которые можно импортировать в среду виртуализации вручную.

Клиент может осуществить восстановление данных резервной копии в RBC, либо при помощи утилиты командной строки rb_archives.

В случае восстановления инкрементальной резервной копии будет сформирована цепочка восстановления: вначале будет восстановлена полная резервная копия, на которую будут наложены изменения из инкрементальных резервных копий.

Восстановление резервной копии в RBC#

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

  1. Выделить нужную резервную копию и в контекстном меню выбрать Восстановить:

../../../../_images/kvm_vosst_1.png
  1. Ввести пароль клиента и далее RBC выведет информационное сообщение о дальнейших действиях:

../../../../_images/kvm_vosst_2.png
  1. Указать место восстановления резервной копии:

../../../../_images/kvm_vosst_3.png
  1. Далее появится информационное сообщение о создании задачи на восстановление:

../../../../_images/kvm_vosst_4.png
  1. Проконтролировать результат процесса восстановления можно после автоматического переключения RBC на вкладку Задачи:

../../../../_images/kvm_vosst_5.png

После выполнения восстановления в KVM появится новая виртуальная машина, полностью идентичная той, которая была в системе в момент резервного копирования.

Централизованное восстановление резервных копий с помощью RBM#

Подсистема резервного копирования предусматривает возможность восстановления резервных копий как со стороны клиента системы, так и со стороны администратора подсистемы. В тех случаях, когда централизованное восстановление резервных копий не желательно, например когда восстановление данных является зоной ответственности владельца клиентской системы, эта функциональность может быть отключена на клиенте. В тех случаях, когда централизованное восстановление на клиенте доступно, то его можно инициировать, перейдя в раздел Репозиторий. Найти в списке требуемую резервную копию, нажать на нее правой кнопкой мыши и выбрать в контекстном меню Восстановить:

../../../../_images/kvm_vosst_6.png

В окне централизованного восстановления можно увидеть основные параметры резервной копии и, если это применимо, определить место восстановления резервной копии. В случае восстановления виртуальной машины из резервной копии будет выполнена проверка наличия в среде виртуализации виртуальной машины с оригинальным именем. Если такой виртуальной машины нет, то будет произведено восстановление с оригинальным именем. Если виртуальная машина с таким именем уже есть, то к имени виртуальной машины будет добавлен цифровой постфикс. Также будут удалены из восстанавливаемой виртуальной машины специфичные параметры сетевых интерфейсов (например MAC-адрес), для избежания конфликтов с оригинальной виртуальной машиной.

../../../../_images/kvm_vosst_7.png

Проверить ход выполнения восстановления резервной копии можно в окне Очередь задач.

../../../../_images/kvm_vosst_8.png

При успешном завершении восстановления резервной копии или цепочки резервных копий, соответствующие задачи на восстановление перейдут в статус Done.

../../../../_images/kvm_vosst_9.png

Восстановление при помощи утилиты rb_archives#

Для восстановления резервных копий клиент может использовать утилиту командной строки rb_archives. Вызов следующий:

# rb_archives
../../../../_images/kvm_vosst_10.png
# rb_archives -x 63

Password:
----> Restore archive chain: 63  < ----
Record ID: 63 has status: Trusted
TASK WAS ADDED TO QUEUE:233

Можно проконтролировать процесс восстановления в файле журнала при помощи вызова:

# tail -f /opt/rubackup/log/RuBackup.log
Tue Mar  2 17:58:29 2021: Try new name: ubuntu18.04-test-kvm-0
Tue Mar  2 17:58:29 2021: The name: ubuntu18.04-test-kvm-0 is free.
Use it
Tue Mar  2 17:58:29 2021: Found disk in XML file. Type: file device: disk
Tue Mar  2 17:58:29 2021: Source file: /var/lib/libvirt/images/ubuntu18.04_clean-clone-3-clone-clone-1.qcow2
Tue Mar  2 17:58:29 2021: File is exists: /var/lib/libvirt/images/ubuntu18.04_clean-clone-3-clone-clone-1.qcow2
Tue Mar  2 17:58:29 2021: Try new filename: /var/lib/libvirt/images/ubuntu18.04_clean-clone-3-clone-clone-1-0.qcow2
Tue Mar  2 17:58:29 2021: ------------>> Direct restore
<<------------
Tue Mar  2 17:58:37 2021: New domain was defined from XML file: /rubackup-tmp/cbc208da-ee42-40ec-a111-778cb456853c/cbc208da-ee42-40eca111-778cb456853c.xml
Tue Mar  2 17:58:37 2021: Task was done. ID: 234
Tue Mar  2 17:58:37 2021: Task ID: 234. New status: Done

После выполнения восстановления в KVM появится новая виртуальная машина, полностью идентичная той, которая была в системе в момент резервного копирования. В том случае, если виртуальная машина с оригинальным именем уже присутствует в KVM, то новая виртуальная машина будет восстановлена с определенным постфиксом в ее имени, например -0.

В том случае, если необходимо восстановить файлы виртуальной машины без развертывания ее в KVM, то можно воспользоваться опцией -X:

rb_archives -X 63
Password:
----> Restore archive chain: 63  < ----
Record ID: 63 has status: Trusted
TASK WAS ADDED TO QUEUE:235

В этом случае файлы виртуальной машины будут восстановлены в текущий каталог, из которого была выполнена команда rb_archives:

sudo ls -l cbc208da-ee42-40ec-a111-778cb456853c/ итого 5913168
-rw------- 1 root root       5475 мар  2 17:36 cbc208da-ee42-40ec-a111-778cb456853c.xml
-rw------- 1 root root        116 мар  2 17:36 target_list
-rw------- 1 root root 6055067648 мар  2 17:36 ubuntu18.04_clean-clone-3-clone-clone-1.qcow2