Задать вопрос

Как восстановить ZFS RAIDZ1?

Дано :
Proxmox 6.1
RAIDZ1 + ssd cache + ssd log
4 диска по 2 ТБ -WDC_WD2003FYYS ( отработали в среднем более 5 лет)
+ Nvme Samsung_SSD_970_PRO_512GB

Воскресным вечером завис сервер.
Мягкая перезагрузка не помогла, сделал reset
Не загрузился.
Подключил монитор и увидел что загрузке не может быть прочитан сектор.
Загрузился с флешки и пробежался программой Victoria по диску с которым были проблемы .
В smart было указано что есть 1 нестабильный сектор.
Протестировал и переназначил его ( всего 1 сектор).
Не закончив полную проверку диска - снова попробовал загрузиться в Proxmox

Ниже прикрепляю скрины.
5e290a0a7718d444519334.jpeg

5e290a21b253d144433168.jpeg

Пробовал по разному смонтировать pool - не получается.
На данный момент заканчивается создание полного бекапа образов дисков через ddrescue

Вот что выяснилось.
/dev/disk/by-id/ata-WDC_WD2003FYYS-02W0B1_WD-WCAY00923792-part3 диск смог забекапить только на 99,9 %
Сотни не читаемых секторов.

3 диска имеют одинаковые TXG ( один из них битый)
1 Диск отличается своими TXG ( сам диск читается)

Создал образы дисков.
Смонтировал эти образы
losetup /dev/loop1 /opt/ata-WDC_WD2003FYYS-02W0B1_WD-WCAY00923209-part3.bin
losetup /dev/loop2 /opt/ata-WDC_WD2003FYYS-02W0B1_WD-WCAY00925258-part3.bin
losetup /dev/loop5 /opt/ata-WDC_WD2003FYYS-02W0B1_WD-WCAY00923792-part3.bin
losetup /dev/loop0 /opt/ata-WDC_WD2003FYYS-02W0B1_WD-WCAY00923050-part3.bin
losetup /dev/loop3 /opt/nvme-Samsung_SSD_970_PRO_512GB_S463NF0KA29555R-part1.bin
losetup /dev/loop4 /opt/nvme-Samsung_SSD_970_PRO_512GB_S463NF0KA29555R-part2.bin


Пробовал пр помощи утилиты откатить к общему TXG
https://gist.github.com/jshoward/5685757

После этого пробовал смонтировать pool с указанием этого TXG
zpool import -fF -XT 922580 -o readonly=on  rpool
zpool import -fF -XT 962577 -o readonly=on  rpool


Комп "думал" сутки, но потом все равно не смог смонтировать pool

На этом pool мне по сути нужно вытащить 2-3 образа и возможно бекапы.

Есть ли какие то утилиты для восстановления?
Вот эта прога "видит" мой pool
https://www.ufsexplorer.com/articles/how-to/recove...
Но она платная и не факт что восстановит.

Пробовал эту
https://github.com/Stefan311/ZfsSpy
Выдает много ошибок, не может считать pool

С этим скриптом так и не смог разобраться до конца. Документации минимум :-(
https://github.com/hiliev/py-zfs-rescue

Форк предыдущего проекта.
Документации побольше, но тоже не до конца понятно как работает.
Зачем то запускается локальный сервер не понятно как запускать сам скрипт.
https://github.com/eiselekd/dumpbin-py-zfs-rescue

Может есть еще какие то способы восстановить данные с развалишегося ZFS RAIDZ1 ?
Что можете посоветовать?
  • Вопрос задан
  • 5208 просмотров
Подписаться 11 Сложный 1 комментарий
Пригласить эксперта
Ответы на вопрос 6
@elbrus56
Сначала надо было воспользоваться инструкцией - https://docs.oracle.com/cd/E19253-01/819-5461/gbct... - попробовать откатить транзакции.

Посмотреть на аналогичные проблемы - https://www.ixsystems.com/community/threads/pool-m...

На худой конец вынуть проблемный диск и у вас был бы Degraded Pool.

Надо понимать, что такое pool metadata и как это хранится. Надо понимать, что такое scrub на ZFS и почему надо использовать память ECC. Надо понимать, что reallocate сектора вряд ли решит проблему, так как данные на нем уже испорчены.

А потом в РЛаб сходить.

И бэкапы настроить.
Ответ написан
Комментировать
@svitoy94
Попробуйте запустить rescue mode с образа proxmox
Ответ написан
@elhana
Как насчет выдернуть убитый диск и попробовать импорт без него?
Ответ написан
@kiriydmitriy
А как вообще можно zfs довести до такого состояния? Там же scrubbing должен постоянно работать
Ответ написан
@deadmoroz2
Попробуйте Klennet ZFS Recovery. Конечно не бесплатная, но цена вполне подъёмная.
В ознакомительном режиме просканирует диски и покажет всё, что смогла найти, в т.ч. и удалённое.
В моём первом случае был пересоздан пул поверх существующего, во втором - немонтируемый повреждённый пул.
Ответ написан
Zettabyte
@Zettabyte
Проф. восстановление данных ▪ Вопрос? См. профиль
Есть ли какие то утилиты для восстановления?
Вот эта прога "видит" мой pool

Программу для восстановления данных лучше, чем UFS Explorer, найдёте очень вряд ли.

В trial-режиме с её помощью можно подробно изучить что находится на сделанных вами образах (хорошо, что начали с этого), а по итогам - принять решение о покупке ключа. Ограничение бесплатной версии - только извлечение данных.

В отдельных случаях руками можно сделать больше, чем автоматом, но с учётом специфики ZFS, это непросто, как следствие - зачастую недёшево.

Мы занимаемся дистанционным восстановлением данных (через интернет), если совсем упрётесь в стену, можем посмотреть, однако, в случае с ЗФС заранее что-то обещать неразумно.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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