= Сообщение: 8931 из 10753 ===================================== RU.UNIX.BSD = От : Eugene Grosbein 2:5006/1 06 May 19 21:55:53 Кому : Eugene Grosbein 06 May 19 21:55:53 Тема : Re: parallel mounting for ZFS filesystem FGHI : area://RU.UNIX.BSD?msgid=grosbein.net+be7f8045 На : area://RU.UNIX.BSD?msgid=grosbein.net+25230c5d = Кодировка сообщения определена как: IBM866 ================================= ============================================================================== 06 мая 2019, понедельник, в 20:36 NOVT, Eugene Grosbein написал(а):
EG> Hапример, если имеются зашифрованные при помощи GELI EG> диски с компонентами пула, так что при загрузке пул недоступен, EG> и после загрузки сделать дискам geli attach и далее спровоцировать EG> ZFS на обнюхивание новых GEOM запуском zpool list, то через EG> несколько долей секунды ZFS подключит вновь появившийся пул, EG> но ничего не смонтирует с него. И нужна будет дополнительная EG> команда zfs mount -a, только тогда всё смонтируется.
Тут кстати есть одна фишка. Так как практически невозможно гарантировать, что geli подключит все шифроконтейнеры одновременно, при использовании RAIDZ/RAIDZ2 вполне возможна ситуация, когда ядерная часть ZFS увидит все компоненты пула, кроме одного или двух и подключит пул как деградированный, а как только появится последний компонент - начнёт восстановление пула на "опоздавший" диск, что неприятно.
Если такой пул только один (то есть, корень не на ZFS), то можно подгружать zfs.ko уже после всех geli attach.
А для ZFS-on-root нужно в /boot/loader.conf выставить vfs.zfs.max_missing_tvds_cachefile=0 вместо дефолта 2, и тогда ZFS подключит RAIDZ[2] только когда GELI подключит все шифроконтейнеры.
При физической замене диска из-за умирания придётся временно увеличивать vfs.zfs.max_missing_tvds_cachefile обратно, чтобы подключить пул как деградировавший.