Как прикрепить существующий диск ZFS к виртуальной машине Proxmox

У нас есть установка Proxmov HV, подключенная к 2 ящикам FreeNAS. Мы используем интерфейс FreeNAS ZFS поверх iSCSI для представления zvols в качестве томов для виртуальных машин Proxmox.

Мы включили создание моментальных снимков на стороне FreeNAS и реплицируем блоки NAS друг с другом.

Что мы сейчас пытаемся сделать. для восстановления необходимо смонтировать существующий снимок к виртуальной машине Proxmox.

0
задан 27 August 2019 в 06:38
1 ответ

Во-первых, вам понадобится консольный доступ к блоку FreeNAS, блоку Promox HV (при запущенной виртуальной машине) и виртуальной машине. Вам также потребуется доступ к пользовательскому интерфейсу для FreeNAS и, возможно, Proxmox.

Вам нужно будет ввести свои собственные пути и имена пула.

В сеансе SSH на NAS:

  1. Поставьте на паузу нужный моментальный снимок. Это гарантирует, что он не будет случайно удален.

    sudo zfs hold keep tank / tank-iscsi / * snapshot-name *

  2. Если вам нужно получить список снимков, эта команда может помочь

sudo zfs list -t snapshot -o name | grep * vm-id *

  1. Если вы используете исходный NAS в качестве источника (Primary NAS)

    sudo zfs clone tank / tank-iscsi / * snapshot-name * tank / tank-iscsi / * cloned-snapshot -name *

  2. Если вы используете реплицированный NAS в качестве источника (Реплицированный NAS)

    sudo zfs clone tank / replicated / tank-iscsi / * snapshot-name * tank / replicated / tank-iscsi / * cloned- snapshot-name *

NB: путь / имя zvol должно быть меньше 67 символов и не должно быть доступно только для чтения. Это может потребовать изменения родительского набора данных.

В пользовательском интерфейсе FreeNAS:

  1. Перейдите к Совместное использование-> iSCSI-> Экстенты-> Добавить экстент
  2. Добавьте новый экстент:
    • Название:
    • Основной NAS: tank / tank-iscsi / * cloned-snapshot-name *
    • Реплицированный NAS: tank / replicated / tank-iscsi / * cloned-snapshot-name *
    • Устройство: выберите имя-клонированного снимка
  3. Перейдите к Совместное использование-> iSCSI-> Связанные цели-> Добавить цель
    • Выберите правильное хранилище. (Мы используем то же, что и другая цель для танка)
    • Введите LUN ​​ID, который не повлияет на будущие добавления (IE большое число)
    • Выберите только что созданный экстент

NB: Это можно сделать на любом из NAS из-за репликации. При использовании реплицированной цели убедитесь, что ReadOnly имеет значение false и репликация выключена. Возможно, вам потребуется настроить новую цель iscsi хранилища в Proxmox для пути к реплицированной цели iscsi.

В SSH на Proxmox HV ( https://johnkeen.tech/proxmox-physical-disk-to -vm-only-2-commands / ):

  1. Проверить, что zvol виден Proxmox:

    • Основной NAS: pvesm list tank-zfs-iscsi
    • Реплицированный NAS: pvesm list tank-zfs-iscsi-replicated
  2. Добавьте диск к ВМ:

    • Первичный NAS: qm set * vm-id * -virtio1 tank-zfs-iscsi: * cloned-snapshot-name *
    • Реплицированный NAS: 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 ):

  1. Убедитесь, что диск присутствует (скорее всего, это будет vbb или vbc)
  2. Измените имя тома LVM
  3. Смонтируйте том
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

  • Отсоедините диск Если моментальный снимок больше не требуется, его можно удалить (NB: эту операцию нельзя отменить, если она исчезла, она исчезнет)

На NAS SSH:

  • Отмените удержание снимка:

sudo zfs release keep Slow1 / slow1-iscsi / * имя-снимка *

1
ответ дан 4 December 2019 в 15:38

Теги

Похожие вопросы