Потерянный пул ZFS и поиск способов восстановления - PullRequest
2 голосов
/ 09 июля 2020

На машине Proxmox я заметил, что некоторые из резервных копий некоторых виртуальных машин не работают, поэтому я хотел протестировать материал. Во время тестирования весь хост перестал отвечать, и я принудительно перезагрузился. После перезагрузки я как будто потерял все хранилище данных. Почти каждая команда zfs приводит к зависанию. zpool status, zpool list, вы называете это, он блокируется, и вы не можете даже ctrl выйти из него. Я все еще могу создать новый сеанс S SH и попробовать другие вещи. Пытаясь понять, что вызывает зависание команд, я подумал о запуске

zpool set failmode=continue 

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

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

zpool create -f -o ashift=12 storage-vm /dev/nvme0n1 /dev/nvme1n1

Первое, что я подумал, это что один из nvme вышел из строя, поэтому я проверил статус SMART, но он показывает, что оба диска полностью исправны. Затем, прежде чем пробовать другие вещи, я решил сделать резервную копию дисков в общий ресурс NFS с помощью команды dd.

dd if=/dev/nvme0n1 of=/mnt/pve/recovery/nvme0n1
dd if=/dev/nvme1n1 of=/mnt/pve/recovery/nvme1n1

Обе команды выполнены, и на общей папке NFS у меня есть 2 изображения одинакового размера (по 2 ТБ каждый)

Затем я попытался провести неразрушающий тест чтения / записи с dd на обоих nvme и не получил ошибок. Чтобы исключить как можно больше, я собираю другую машину Proxmox, используя запасное оборудование (той же марки и типа et c.), И помещаю туда диски. На новой машине тоже висят все команды zpool. Если я запускаю zpool status с извлеченными из материнской платы дисками, он не зависает, но, очевидно, ему нечего показывать. Поэтому я поместил nvme обратно в исходную машину.

zdb -l /dev/nvme0n1 дает

failed to unpack label 0
failed to unpack label 1
failed to unpack label 2
failed to unpack label 3

, что меня беспокоит. То же самое и с другим nvme.

И теперь у меня заканчиваются идеи. Я плохо разбираюсь в системе zfs и не знаю, что можно сохранить. Очевидно, что диски на самом деле не умерли, так как смарт говорит мне, что они исправны, и я могу сделать с них образ. Такие вещи, как неисправная оперативная память или материнская плата, в значительной степени исключаются также с помощью аппаратной замены. Есть ли способ восстановить хотя бы некоторые виртуальные машины из этого хранилища? Мы будем очень благодарны за помощь / указатели.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...