On 07/16/17 21:43, Sergey Matveev wrote: > Тоже всё верно. Но есть засада. Время от времени ZFS делает checkpoint > -- обновляет überblock ссылающийся на самое свежее дерево метаданных. У > этого checkpoint есть, грубо говоря, timestamp, который только > увеличивается. Во время вставки диска для resilvering он пытается понять > не был ли он частью этого пула и если был, то он понимает насколько > checkpoint-ов он "отстал" от основного. Найдя в основном поле старый > checkpoint, он может создать "diff", который будет заresilverен. Но если > прошло достаточно большое время, то настолько старого checkpoint-а не > будет и он вынужден будет делать resilvering полностью всех данных с > нуля, ведь он же не может "вечно" хранить все прошлые известные ему > checkpoint-ы/überblock-и. Я точно не уверен, но вот терзают смутные > сомнения что он будет хоть как-то смотреть на данные которые там всё же > были -- поэтому такой старый диск для него будет как пустой. > > Кол-во checkpoint-ов на пуле вроде как фиксировано и что-то порядка > полутысячи (где-то слышал). То есть минуты отключенного состояния он > конечно переживёт спокойно, но вот часы уже навряд ли. >
Ага, спасибо. Об этом я не знал. На самом деле такой способ уже был проверен (перед тем, как спрашивать о его безопасности я хотел убедиться хотя бы в том, что он осуществим физически), и на сутки чекпойнтов явно хватает (первичный ресилверинг был около 4х часов, последующие -- 5-10 минут), но правильно ли я понимаю, что худшее, что я получу при превышении количества имеющихся чекпойнтов -- это необходимость снова ресилверить 4 часа вместо 5 минут?