вторник, 13 августа 2019 г.

Proxmox VE. Успешная попытка спасения VM на поврежденном ZFS томе с чередованием.

 Случилась на днях беда:
Менял одну из нод на более мощный сервер. В качестве хранилищ используются ZFS тома с чередованием, которые реплицируются между нодами (имеется в виду репликация виртуалок). Я мигрировал машины с заменяемой ноды на другие, а настроить репликацию на время замены поленился, так как собирался все проделать буквально за полчаса. В итоге, после замены ноды, одна виртуалка при попытке выполнить обратную миграцию начала выдавать ошибку:
Я попытался настроить репликацию и снова ошибка:
Я Пытался мигрировать диск между пулами:

Клонировать виртуалку:
Делать резервную копию:
При этом в веб-интерфейсе все красиво:
Иду в консоль:
zpool status
Делаю вывод, что покрашился один из дисков пула, виртуалка работает, но как долго это продлится неизвестно.
zfs snapshot SATApool/vm-400-disk-0@backup
zfs list -t all
Снэпшот создался, пробую его отправить в файл:
zfs send XXXpool/vm-400-disk-0@backup > /XXXpool/data/vm.bak
Одним словом все шло к тому, что виртуалку необходимо срочно переустанавливать на другом гипервизоре, так как эта неизвестно сколько протянет.
Но я вспомнил как работает снэпшот, и понял, что еще есть шанс:
При создании снэпшота ни какого копирования на самом деле не происходит, просто все изменения пишутся в новые области диска. поэтому если подождать некоторое время, есть шанс, что поврежденные области будут перекрыты записью в другие области(немного криво сформулировал но общий смысл такой).
Выждал сутки и запустил резервную копию VM:
Результат налицо!(радуюсь)
Осталось скопировать на другую ноду и развернуть из бэкапа.

P.S.

Чтобы избежать подобных танцев с бубном, следует перед любыми манипуляциями с нодами всегда заботиться о дублировании и забыть навсегда фразу "А что может случиться?" (у нас она давно стала мемом).

Комментариев нет:

Отправить комментарий