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

Инструкция №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