Перейти к основному содержимому

Инструкция №32. Резервное копирование и восстановление VM управления кластером vStack

Резервное копирование VM управления кластером vStack

Данная инструкция предназначена для создания резервной копии и восттановления из неё, VM управления кластером (далее — mgmtvm) кластера vStack, которая позволит выполнить восстановление mgmtvm за короткий промежуток времени в случае аварийной ситуации, повлёкшей за собой не работоспособность mgmtvm.

Нам потребуется:

  1. USB memory stick (далее — Носитель) размером не менее 32GB, либо сетевое хранилище.
  2. Доступ в CLI узла.

Желательно использовать модель Носителя, поддерживающую версию USB не менее 3.0, и подключать её в разъём USB 3.0. В случае невозможности использования USB 3.0 скорость создания резервной копии и восстановления из неё существенно увеличится.

Посредством SSH или системной консоли выполните логин на Узел, на котором обслуживается пул z01 (посмотреть можно в веб интерфейсе либо на любом из узлов, cli утилитой ccrd_cli (в примере пулл обслуживается на узле номер 3).

root@q7u001:~ # ccrd_cli

Node ID: 1; name: q7u001.z.vstack.com; state: ONLINE; [ enabled]
Service name: zpool_z03; state: STARTED; [ enabled]

Node ID: 2; name: q7u002.z.vstack.com; state: ONLINE; [ enabled]
Service name: zpool_z02; state: STARTED; [ enabled]

Node ID: 3; name: q7u003.z.vstack.com; state: ONLINE; [ enabled]
Service name: zpool_z01; state: STARTED; [ enabled]

Node ID: 4; name: q7u004.z.vstack.com; state: ONLINE; [ enabled]
Service name: zpool_z05; state: STARTED; [ enabled]

Node ID: 5; name: q7u005.z.vstack.com; state: ONLINE; [ enabled]
Service name: cluster-management; state: STARTED; [ enabled]
Service name: zpool_z04; state: STARTED; [ enabled]

________________________________________

Подключите Носитель к узлу описание процедуры содержится в Инструкции №30.

Проверяем статус mgmtvm (она имеет ID 0)

root@q7u003:~ # vstack-vm vm --list | grep ^0
0 : z01 : Started

Для создания консистентной резервной копии необходимо остановить mgmtvm

root@q7u003:~ # vstack-vm vm --id=0 --stop
VM_id=0 stopping; fifo=/var/run/vstack-vm-cli-fifo.18515.14
VM_id=0 event Status=Stopping Progress=0
VM_id=0 event Status=Stopping Progress=20
VM_id=0 event Status=Stopping Progress=30
VM_id=0 event Status=Stopping Progress=40
VM_id=0 event Status=Stopping Progress=50
VM_id=0 event Status=Stopping Progress=90
VM_id=0 event Status=Offline Progress=100
VM_id=0 finish Status=1
VM_id=0 stopped with status: 1

Выполнить снятие снапшета, после чего mgmtvm можно запустить, резервная копия будет создаваться и копироваться из снятого снапшета.

root@q7u003:~ # zfs snapshot -r z01/.vm_V4/000000000@20260514
root@q7u003:~ # vstack-vm vm --id=0 --start
VM_id=0 starting; fifo=/var/run/vstack-vm-cli-fifo.23800.0
VM_id=0 event Status=Starting Progress=0
VM_id=0 event Status=Starting Progress=20
VM_id=0 event Status=Starting Progress=40
VM_id=0 event Status=Starting Progress=90
VM_id=0 event Status=Started Progress=100
VM_id=0 finish Status=1
root@q7u003:~ # zfs send -vR z01/.vm_V4/000000000@20260514 > mgmtvm_20260514.zfs
full send of to z01/.vm_V4/000000000@20260514 estimated size is 399K
full send of to z01/.vm_V4/000000000/disk_00@20260514 estimated size is 3.74G
full send of to z01/.vm_V4/000000000/disk_02@20260514 estimated size is 372M
full send of to z01/.vm_V4/000000000/log@20260514 estimated size is 101K
full send of to z01/.vm_V4/000000000/disk_01@20260514 estimated size is 141M
total estimated size is 11.0G
TIME SENT SNAPSHOT z01/.vm_V4/000000000@20260514
08:47:10 396M z01/.vm_V4/000000000/disk_00@20260514
...
TIME SENT SNAPSHOT z01/.vm_V4/000000000/disk_00@20260514
08:47:49 6.89G z01/.vm_V4/000000000/disk_00@20260514
...
08:48:08 10.3G z01/.vm_V4/000000000/disk_00@20260514
TIME SENT SNAPSHOT z01/.vm_V4/000000000/disk_02@20260514
08:48:10 10.8G z01/.vm_V4/000000000/disk_02@20260514
TIME SENT SNAPSHOT z01/.vm_V4/000000000/log@20260514
TIME SENT SNAPSHOT z01/.vm_V4/000000000/disk_01@20260514
08:48:12 11.0G z01/.vm_V4/000000000/disk_01@20260514
08:48:13 11.0G z01/.vm_V4/000000000/disk_01@20260514

Восстановление VM управления кластером vStack из резервной копии

Данная инструкция предназначена для восстановления mgmtvm кластера vStack из резервной копии.

Восстановление производится на пул z01. Определить его местоположение из cli на любом из серверов, с помощью утилиты ccrd_cli. На Узле на котором находится пул z01:

  • проверить активность пула z01
  • остановить mgmtvm
  • переименовать текущий датасет mgmtvm
  • восстановить резервную копию
  • запустить mgmtvm
root@q7u003:~ # zpool list
NAME SIZE ALLOC FREE CKPOINT EXPANDSZ FRAG CAP DEDUP HEALTH ALTROOT
z01 2.17T 963G 1.23T - - 29% 43% 1.39x ONLINE -
root@q7u003:~ # vstack-vm vm --id=0 --stop
VM_id=0 stopping; fifo=/var/run/vstack-vm-cli-fifo.29936.0
VM_id=0 event Status=Stopping Progress=0
VM_id=0 event Status=Stopping Progress=20
VM_id=0 event Status=Stopping Progress=30
VM_id=0 event Status=Stopping Progress=40
VM_id=0 event Status=Stopping Progress=50
VM_id=0 event Status=Stopping Progress=90
VM_id=0 event Status=Offline Progress=100
VM_id=0 finish Status=1
VM_id=0 stopped with status: 1
root@q7u003:~ # zfs rename z01/.vm_V4/000000000 z01/.vm_V4/20260514-000000000
root@q7u003:~ # cat mgmtvm_20260514.zfs | zfs recv -vd z01
receiving full stream of z01/.vm_V4/000000000@20260514 into z01/.vm_V4/000000000@20260514
received 47.5K stream in 0.06 seconds (734K/sec)
receiving full stream of z01/.vm_V4/000000000/disk_00@20260514 into z01/.vm_V4/000000000/disk_00@20260514
received 6.68G stream in 44.95 seconds (152M/sec)
receiving full stream of z01/.vm_V4/000000000/disk_02@20260514 into z01/.vm_V4/000000000/disk_02@20260514
received 49.2M stream in 3.69 seconds (13.3M/sec)
receiving full stream of z01/.vm_V4/000000000/log@20260514 into z01/.vm_V4/000000000/log@20260514
received 46.0K stream in 0.51 seconds (91.0K/sec)
receiving full stream of z01/.vm_V4/000000000/disk_01@20260514 into z01/.vm_V4/000000000/disk_01@20260514
received 49.2M stream in 3.89 seconds (12.6M/sec)
root@q7u003:~ # vstack-vm vm --id=0 --start
VM_id=0 starting; fifo=/var/run/vstack-vm-cli-fifo.43075.0
VM_id=0 event Status=Starting Progress=0
VM_id=0 event Status=Starting Progress=20
VM_id=0 event Status=Starting Progress=40
VM_id=0 event Status=Starting Progress=90
VM_id=0 event Status=Started Progress=100
VM_id=0 finish Status=1

После проверки, можно удалить старый датасет

root@q7u003:~ # zfs destroy -r z01/.vm_V4/20260514-000000000