1

По-видимому, в ZFS (файловая система) есть уберблок, указывающий на корень дерева zpool. Кто-нибудь знает, почему это дерево делает вещи более эффективными / надежными и где хранится само дерево?

1 ответ1

4

Цель дерева - улучшить целостность данных, частично за счет хранения контрольных сумм вдали от блоков данных, которые защищают эти контрольные суммы. Вся иерархия файловой системы образует самовосстанавливающееся хеш-дерево или дерево меркля. Вот упрощенное описание, которое я сделал ранее:

Пример целостности данных ZFS

Слева направо, каталог 1 содержит указатель на файл A, контрольную сумму файла A и некоторые другие метаданные. Но dir 1 - это просто еще один блок данных, на который указывает uberblock. Таким образом, уберблок содержит контрольную сумму dir 1 и т.д. Это означает, что каждая запись в файл включает в себя пересчет нескольких контрольных сумм вплоть до корневого узла (uberblock). Но политика копирования и записи ZFS и транзакционный характер снижают потери производительности. Кроме того, ZFS разработан, чтобы использовать преимущества закона Мура: циклы ЦП дешевы, а жесткие диски медленные.

ZFS также использует блоки ditto для репликации более важных частей дерева (то есть, частей ближе к корню), чтобы дополнительно защитить от повреждения.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .