Наш NAS 100 ТБ на базе FreeNAS 8 неожиданно отключился из-за сбоя питания. После повторного включения 100TB zpool "projects" были размонтированы с состоянием "FAULTED".
я пробовал zpool import -fFX
, он работал около 20 часов, но ничего не произошло. Я перезагрузил сервер с помощью кнопки сброса, потому что команды kill -9 и reboot не работали.
Некоторые выходы:
[root@Projects_new] ~# zpool import
pool: projects
id: 8560768094429092391
state: FAULTED
status: The pool metadata is corrupted.
action: The pool cannot be imported due to damaged devices or data.
The pool may be active on another system, but can be imported using
the '-f' flag.
see: http://www.sun.com/msg/ZFS-8000-72
config:
projects FAULTED corrupted data
gptid/49d49544-5a47-11e2-b516-00259095142c ONLINE ok
gptid/49f3c886-5a47-11e2-b516-00259095142c ONLINE ok
gptid/4a1052aa-5a47-11e2-b516-00259095142c ONLINE ok
gptid/4a32bf15-5a47-11e2-b516-00259095142c ONLINE ok
gptid/4a9b51d3-5a47-11e2-b516-00259095142c ONLINE ok
gptid/4b2ee18b-5a47-11e2-b516-00259095142c ONLINE ok
Также я нашел недокументированный вариант: zpool import -V projects
, после этого zpool был импортирован, но по-прежнему недоступен:
[root@Projects_new] ~/zpool_restore# zpool status
pool: projects
state: FAULTED
status: The pool metadata is corrupted and the pool cannot be opened.
action: Destroy and re-create the pool from
a backup source.
see: http://www.sun.com/msg/ZFS-8000-72
scan: none requested
config:
NAME STATE READ WRITE CKSUM
projects FAULTED 0 0 1
gptid/49d49544-5a47-11e2-b516-00259095142c ONLINE 0 0 0
gptid/49f3c886-5a47-11e2-b516-00259095142c ONLINE 0 0 2
gptid/4a1052aa-5a47-11e2-b516-00259095142c ONLINE 0 0 2
gptid/4a32bf15-5a47-11e2-b516-00259095142c ONLINE 0 0 2
gptid/4a9b51d3-5a47-11e2-b516-00259095142c ONLINE 0 0 0
gptid/4b2ee18b-5a47-11e2-b516-00259095142c ONLINE 0 0 0
В этом состоянии zpool clear -f projects
выводит «Ошибка ввода / вывода».
/ dev / gptid / 4 * - это устройства RAID0: 4 на 4 контроллерах Adaptec и 2 на 1 контроллере LSI.
Есть ли способ импортировать и исправить zpool и сохранить данные?
NAME STATE READ WRITE CKSUM
projects FAULTED 0 0 1
gptid/49d49544-5a47-11e2-b516-00259095142c ONLINE 0 0 0
gptid/49f3c886-5a47-11e2-b516-00259095142c ONLINE 0 0 2
gptid/4a1052aa-5a47-11e2-b516-00259095142c ONLINE 0 0 2
gptid/4a32bf15-5a47-11e2-b516-00259095142c ONLINE 0 0 2
gptid/4a9b51d3-5a47-11e2-b516-00259095142c ONLINE 0 0 0
gptid/4b2ee18b-5a47-11e2-b516-00259095142c ONLINE 0 0 0
/ dev / gptid / 4 * - это устройства RAID0: 4 на 4 контроллерах Adaptec и 2 на 1 контроллере LSI.
Так что позвольте мне начать с того, что кое-что проясню. У вас есть пул ZFS, который состоит из шести устройств (с точки зрения ZFS), чередующихся без избыточности. Каждый из них состоит из некоторого неизвестного количества физических запоминающих устройств, которые сами по себе чередуются без избыточности. По самым скромным подсчетам, у вас порядка 20-25 спиннеров, а возможно, и больше. все это должно работать отлично чтобы ваша установка была стабильной. Помните, что отказы физических дисков в лучшем случае некоррелированны и на практике имеют тенденцию происходить в пакетном режиме в общих средах (если один диск выходит из строя, вероятно, что один или несколько других будут маргинальными и могут даже выйти из строя просто из-за стресса восстановления). Это дает наилучший сценарий, когда для 25 дисков вероятность отказа в 25 раз больше, чем для одного диска, потому что у вас есть 25 из каждого с такой же вероятностью отказа, как если бы он был один.
Теперь у некоторых из этих дисков (или, возможно, контроллеров), по-видимому, возникла какая-то проблема, которая просочилась и сообщается ZFS.
В этот момент у меня более или менее вопрос: «Что вы ожидаете от ZFS?». И, к сожалению, я думаю, что ответ как на этот, так и на ваш вопрос таков: нет, на данный момент действительно не так много нужно сделать.
ZFS - это не волшебство. Он очень устойчив ко многим различным типам сбоев, но, когда он ломается, он имеет тенденцию делать это впечатляющими способами. Вы можете снизить риск поломки, используя его функции резервирования, чего по какой-то причине вы предпочли не делать. Его сложный формат на диске также значительно усложняет восстановление, чем, например, UFS, NTFS или ext3 / 4.
Если zpool import -fFX
не возвращает ваш пул в рабочее состояние, тогда лучше всего будет просто воссоздать пул разумным образом и восстановить самую последнюю резервную копию. Это включает добавление некоторой избыточности, чтобы даже при выходе из строя всего контроллера или источника питания не отказал весь пул. Кроме того, настройте контроллеры так, чтобы необработанные диски в формате JBOD были доступны для ZFS, и используйте поддержку избыточности ZFS для добавления избыточности в хранилище; Это позволяет ZFS принимать решения о том, где разместить данные и как организовать избыточность, чтобы снизить риск сбоя. (Например, метаданные можно хранить избыточно, копируя их на несколько независимых vdev.)