У нас есть установка Proxmov HV, подключенная к 2 ящикам FreeNAS. Мы используем интерфейс FreeNAS ZFS поверх iSCSI для представления zvols в качестве томов для виртуальных машин Proxmox.
Мы включили создание моментальных снимков на стороне FreeNAS и реплицируем блоки NAS друг с другом.
Что мы сейчас пытаемся сделать. для восстановления необходимо смонтировать существующий снимок к виртуальной машине Proxmox.
Во-первых, вам понадобится консольный доступ к блоку FreeNAS, блоку Promox HV (при запущенной виртуальной машине) и виртуальной машине. Вам также потребуется доступ к пользовательскому интерфейсу для FreeNAS и, возможно, Proxmox.
Вам нужно будет ввести свои собственные пути и имена пула.
В сеансе SSH на NAS:
Поставьте на паузу нужный моментальный снимок. Это гарантирует, что он не будет случайно удален.
sudo zfs hold keep tank / tank-iscsi / * snapshot-name *
Если вам нужно получить список снимков, эта команда может помочь
sudo zfs list -t snapshot -o name | grep * vm-id *
Если вы используете исходный NAS в качестве источника (Primary NAS)
sudo zfs clone tank / tank-iscsi / * snapshot-name * tank / tank-iscsi / * cloned-snapshot -name *
Если вы используете реплицированный NAS в качестве источника (Реплицированный NAS)
sudo zfs clone tank / replicated / tank-iscsi / * snapshot-name * tank / replicated / tank-iscsi / * cloned- snapshot-name *
NB: путь / имя zvol должно быть меньше 67 символов и не должно быть доступно только для чтения. Это может потребовать изменения родительского набора данных.
В пользовательском интерфейсе FreeNAS:
Совместное использование-> iSCSI-> Экстенты-> Добавить экстент
tank / tank-iscsi / * cloned-snapshot-name *
tank / replicated / tank-iscsi / * cloned-snapshot-name *
Совместное использование-> iSCSI-> Связанные цели-> Добавить цель
NB: Это можно сделать на любом из NAS из-за репликации. При использовании реплицированной цели убедитесь, что ReadOnly имеет значение false и репликация выключена. Возможно, вам потребуется настроить новую цель iscsi хранилища в Proxmox для пути к реплицированной цели iscsi.
В SSH на Proxmox HV ( https://johnkeen.tech/proxmox-physical-disk-to -vm-only-2-commands / ):
Проверить, что zvol виден Proxmox:
pvesm list tank-zfs-iscsi
pvesm list tank-zfs-iscsi-replicated
Добавьте диск к ВМ:
qm set * vm-id * -virtio1 tank-zfs-iscsi: * cloned-snapshot-name *
qm set * vm-id * -virtio1 tank-zfs-iscsi-replicated: * cloned-snapshot-name *
В виртуальной машине ( https: // sontsysadmin. blogspot.com/2017/09/mounting-lvm-with-same-pv-lv-vg-names.html ):
vgimportclone --basevgname recover /dev/vdX3
lvs
vgchange -a y recover
ls /dev/recover/
mkdir /mnt/recover
mount /dev/recover/ubuntu-lv /mnt/recover/
ls /mnt/recover/
Если вы получите следующую ошибку:
$ vgchange -ay recover
device-mapper: create ioctl on recover-ubuntu--lv LVM-3jIHEjL7LvdGGd4BP08N failed: Device or resource busy
Попробуйте выполнить эти команды для сброса диска:
dmsetup ls
recover-ubuntu--lv (253:1)
ubuntu--vg-ubuntu--lv (253:0)
dmsetup remove recover-ubuntu--lv
Повторить попытку $ vgchange -ay восстановление
Очистка
На ВМ:
umount /mnt/recover
lvchange -an recover
vgchange -an recover
В пользовательском интерфейсе Proxmox
На NAS SSH:
sudo zfs release keep Slow1 / slow1-iscsi / * имя-снимка *