Я пытаюсь узнать о ZFS для NAS, которое я планирую построить. Я пытаюсь понять, можно ли реализовать следующий сценарий. Отказ от ответственности: я очень мало знаю о ZFS, так что простите меня, если я скажу что-то глупое.
Из того, что я собрал zpool set autoreplace=on <pool>
позволит заменить диск, но вам все равно придется выпустить scrub
команда для запуска процесса восстановления, верно? Также я понятия не имею, поддерживается горячая замена или нет.
Я понимаю, что выдача одной команды в том редком случае, когда диск выходит из строя, - это еще не конец света. Но, на мой взгляд, было бы намного лучше, если бы это было автоматизировано, и я почти уверен, что это можно сделать с помощью аппаратного RAID.
Устанавливать autoreplace=on
для вашего пула и используйте похожие или похожие диски. Повторное обновление происходит автоматически, когда этот флаг установлен в пуле. Если в пуле определен горячий резерв, он также будет автоматически перестроен, если autoreplace
горит.
Больше не о чем думать.
В autoreplace
Свойство пула ZFS именно такое.
Из Руководство администратора ZFS, о:
Если этот параметр включен, любое новое устройство, обнаруженное в том же физическом месте, что и устройство, ранее принадлежавшее пулу, автоматически форматируется и заменяется.
Также будьте осторожны, если физическая замена неисправного диска на новый, исправно работающий, вызовет перенаправление нового диска, это не решит никаких настроек конфигурации, сделанных на других дисках, таких как регулировка размера диска (это не редкость. чтобы немного уменьшить размер дисков, чтобы новый диск не был на несколько КБ короче по сравнению с другими в vdev).
На самом деле, сколь бы сексуально это ни было, просто подключите новый диск и внезапно наблюдайте, как огни других дисков мигают, как рождественская елка, вам не потребуется много времени, чтобы посидеть еще несколько минут, тщательно готовя свой новый диск перед запуском. zpool replace
(мои 2 цента). Я бы сказал, что это имеет смысл в случае уже готового горячего резерва.
Редактировать: ashift
был плохим примером (спасибо @ewwhite).