Показать сообщение отдельно
  #24  
Старый 06.05.2019, 18:14
Eugene Grosbein
Guest
 
Сообщений: n/a
По умолчанию Re: parallel mounting for ZFS filesystem

Eugene Grosbein написал(а) к Eugene Grosbein в May 19 21:55:53 по местному времени:

06 мая 2019, понедельник, в 20:36 NOVT, Eugene Grosbein написал(а):

EG> Например, если имеются зашифрованные при помощи 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.maxmissing_tvdscachefile=0 вместо дефолта 2,
и тогда ZFS подключит RAIDZ[2] только когда
GELI подключит все шифроконтейнеры.

При физической замене диска из-за умирания
придётся временно увеличивать vfs.zfs.maxmissing_tvdscachefile
обратно, чтобы подключить пул как деградировавший.

Eugene
--
http://grosbeyn.moikrug.ru/
--- slrn/1.0.3 (FreeBSD)
Ответить с цитированием