>> Джеф Бонвик дал понять, что fsck в ZFS не нужен из-за факта
>> CoW-природы этой замечательной самоверифицирующейся файловой системой.
> ГДЕ, блин, гарантия того, что в коде ZFS нет ошибки, благодаря которой
> метаданные повредятся ещё в структурах в памяти, и благополучно запишутся с
> модификацией всех контрольных структур?Гарантии даёт господь бог и ZDB, очевидно. :))
> А потом тупо не прочтутся, или прочтутся
> не оттуда, потому что FS будет считать, что всё у неё
> хорошо, и все цепочки "встроенных" проверок проходят?
Для этого есть протоколы верификации. Нет? Если появляются ошибки в непредсказуемых местах, то протоколы верификации никуда не годны и их нужно быстренько заменять на другие. Нет? Пока что ZFS держится бодрячком в самых неожиданных условиях моделирования отказов, которые другие ФС не переживают или переживают с потерями.
> fsck в ext'ах допустим
> и хорош тем, что использует алгоритмы верификации целостности FS, которые трудно
> реализовать "на лету" - слишком много ресурсов нужно. И к остальным
> FS это тоже применимо.
Что же он такое использует, что трудно реализовать на лету? Вон, в ZFS и Btrfs не побоялись сделать верификацию данных и метаданных на лету. И ничего. Работает с приемлемой скоростью.
>> не обладает важными свойствами, которые есть у scrub: fsck не обеспечивает
>> точную идентификацию восстановленных данных с файлом, в котором они хранились (каталог
> Когда у вас FS упадёт настолько, что перестанет монтироваться / будет выпадать
> в кору - вот тогда и вспомните про отсутствие fsck. Счастливчиков
> в инете уже навалом.
Когда падает CoW-ФС и не монтируется, для восстановления используется одна из последних подтверждённых транзакций CoW, только и всего. Техника письма CoW обладает одной замечательной способностью: не писать туда, где записано ранее, а искать, находить и записывать только на свободное место. Кстати, scrub работает только на смонтированном пуле — это его ключевое отличие от классического fsck для линуксовых ФС.
>> Понимаю — кругом одни Linux'ы. Не надоело? Может пора взлететь и расширить
>> линию горизонта, а?
> Линия горизонта Linux - какбэ уже практически целый мир применений. Далее расширять
> просто некуда, надо лишь охватывать неохваченные участки внутри.
"Неохваченные участки внутри", по-мне так, лучше оставить нубам, в противном случае приходит момент ощущения себя трактором на одной большой помойке. :))