Я нашел правильное объяснение:
Пул хранения ZFS - это на самом деле просто дерево блоков. ZFS обеспечивает изоляцию сбоев между данными и контрольной суммой, сохраняя контрольную сумму каждого блока в указателе родительского блока, а не в самом блоке. Каждый блок в дереве содержит контрольные суммы для всех своих дочерних элементов, поэтому весь пул проходит самопроверку. [Уберблок (корень дерева) - особый случай, потому что у него нет родителя; подробнее о том, как мы справляемся с этим, в другом сообщении.]
Когда данные и контрольная сумма не совпадают, ZFS знает, что контрольной сумме можно доверять, потому что сама контрольная сумма является частью какого-то другого блока, который на один уровень выше в дереве, и этот блок уже подтвержден.
Есть только одна точка отказа: если корневой узел в дереве сорбирован, но должно быть решение для этого
Прочтите @ https://blogs.oracle. com / bonwick / entry / zfs_end_to_end_data
ZFS обеспечивает изоляцию ошибок между данными и контрольной суммой, сохраняя контрольная сумма каждого блока в указателе родительского блока, а не в самом блоке. Каждый блок в дереве содержит контрольные суммы для всех своих дочерних элементов, поэтому весь пул проходит самопроверку.
Сквозная целостность данных ZFS
Редактировать: потому что вы спросили о родителе:
Наблюдение 1 : ZFS обнаруживает все повреждения [на диске] из-за использование контрольных сумм. В наших экспериментах по инжекции ошибок по всем метаданным и данным мы обнаружили, что неверные данные никогда не возвращался пользователю, потому что ZFS смог обнаружить все повреждения из-за использования контрольных сумм в блоке указатели. Родительские контрольные суммы используются в ZFS для проверки целостности всех доступных на диске блоков. В единственное исключение - уберблоки, у которых нет родительского блочные указатели. Обнаружены повреждения уберблока за счет использования контрольных сумм внутри самого уберблока.
Сквозная целостность данных для файловых систем: пример использования ZFS
Вы можете проверить это сами. Вставьте случайный блок в середину устройства ZFS и посмотрите, сохраняет ли он целостность.
Обратите внимание, что в следующем разделе этой статьи они показывают, что повреждения памяти остались незамеченными.