У меня тут два вопроса, основанных на общей настройке. Короткий отказ от ответственности: я использую freenas и не полностью усвоил терминологию ZFS, а freenas в любом случае портит терминологию ZFS в своем пользовательском интерфейсе. Я приму ответы, которые используют терминал или пользовательский интерфейс Freenas (бонусные баллы за оба ;)).
У меня есть один том (zpool?) с одним зеркальным vdev, состоящим из двух дисков по 3 ТБ.
Чтоправильныйпроцедура физического извлечения одного из дисков и его последующей установки обратно?
Вероятно, я поступил неразумно, извлек один из дисков, не выполнив никаких команд. Сразу же я был предупрежден, что том был DEGRADED (ожидалось). Этот статус сохранился после того, как я вставил диск обратно (он, похоже, не распознал диск как извлеченный диск - или, если распознал, я не знал, как его снова подключить). Я перезагрузил сервер, и теперь он показывает том как исправный, но в Volume Manager->Volume Stats в столбце контрольной суммы одного из дисков есть 182, а другого - нет (хотя я не знаю, было ли это там раньше).
- Как мне следовало поступить в этой ситуации?
- Может ли это привести к потере данных или ZFS сможет нормально восстановиться после этой ситуации?
- Если это может привести к потере/повреждению данных/и т.п., как мне это проверить и восстановить?
Наконец, дополнительные бонусные баллы за ссылки на краткие руководства по ZFS, которые не являются учебниками и не вникают в бесполезно непонятные части ZF. :P
решение1
Отказ от ответственности: я не использовал FreeNAS лично, поэтому некоторые ответы могут не быть каноническим способом сделать это - пожалуйста, проконсультируйтесь с руководством заранее. Тем не менее, это способ, который Oracle рекомендует, так что в этом должна быть доля правды.
- Это зависит от вашей цели:
- Если вы хотитезаменить неисправный дискс заменой вы делаете это в веб-интерфейсе FreeNAS или из консоли с помощью
zpool replace poolname olddevice newdevice
. - Если вы хотитеудалить диск из зеркального vdev навсегда(и уменьшить зеркало до базового, потеряв в процессе всю избыточность), вы делаете это в графическом интерфейсе или из консоли с помощью
zpool detach poolname olddevice
(используйтеzpool attach poolname olddevice newdevice
для повторного подключения). - Если вы хотитевременно вывести устройство из активного пула, не снимая и не отсоединяя его, используйте GUI или из консоли с
zpool offline poolname olddevice
. Это полезно при устранении неполадок с большими массивами, я пишу это здесь только для полноты.
- Если вы хотитезаменить неисправный дискс заменой вы делаете это в веб-интерфейсе FreeNAS или из консоли с помощью
- Reboot экспортирует все пулы, а затем импортирует их. При импорте ZFS проверяет, все ли диски присутствуют. Поэтому вместо перезагрузки вы также можете сделать
zpool export poolname
следующее,zpool import poolname
чтобы добиться того же самого. Возможно, вам придется настроить диск после вставки (это происходит в стандартных системах illumos) перед импортом пула. Если вы не хотите отключать пул, вы также можете удалить неисправное устройство, а затем заменить его. Таким образом, у вас не будет простоя, но будет восстановление. Я бы лично всегда выбирал первое решение, за исключением больших массивов, потому что оно намного безопаснее. - См. следующий вопрос.
- Если контрольная сумма была только на одном диске, все в порядке. Используйте
zpool clear poolname
для удаления сообщения об ошибке. Если ошибки контрольной суммы были на обоих дисках, это зависит от конкретного случая. Обычно ZFS сообщает вам, затронуты ли файлы и какие именно.
- Reboot экспортирует все пулы, а затем импортирует их. При импорте ZFS проверяет, все ли диски присутствуют. Поэтому вместо перезагрузки вы также можете сделать
Бонусные баллы за ответ:
- Страницы справки и документации Oracle, ссылки на которые приведены выше
man zpool
,man zfs
иman /usr/bin/chmod
для zpool, файловых систем и конфигураций ACL. Они также доступны онлайн на сайте Oracle и они очень-очень хороши. Фактически, вам больше ничего не нужно, потому что у них также есть множество реальных примеров (гораздо лучше, чем страницы руководства GNU).- Руководство по передовому опыту Solaris
- Наихудшие практики FreeNAS (подводные камни, которых следует избегать)
- Вещи Nex7, о которых вам никто не рассказывал о ZFS
- Блог Константина Гонсалеса
- Шпаргалка по ZFS с наиболее полезными командами в компактной форме