Zfs — довольно популярная файловая система для долговременного хранения данных.
Кроме того, он обеспечивает целостность записанных данных, сохраняя их контрольные суммы вместе с данными.
Механизм контрольной суммы позволяет выявить и при наличии избыточности восстановить поврежденные данные.
В этой статье используется практический пример для анализа того, как и где zfs хранит данные.
Мы не будем использовать утилиту zdb напрямую для доступа к данным, а попробуем использовать радар2 для просмотра непосредственно байтов, записанных на диске.
О zfs
Zfs (файловая система Zettabyte) — это файловая система COW (копирование при записи), созданная Sun для операционной системы Solaris. Одним из главных преимуществ этой файловой системы является использование контрольных сумм не только для метаданных, но и для пользовательских данных.
структура диска zfs
Для более детального анализа компонентов zfs рекомендуется обратиться к официальной документации по спецификации ZFS On-Disk от Sun.Виртуальные устройства
Пул zfs состоит из виртуальных устройств (далее — vdev).Более подробная информация нам сейчас не нужна, отметим лишь, что vdev имеет два типа: логическое и физическое виртуальное устройство.
Этикетка
Каждое физическое виртуальное устройство хранит четыре метки (L0, L1, L2 и L3 на рисунке).
Загрузочный блок
Сразу после меток L0 и L1 выделяется 3,5 МБ пространства, зарезервированного для использования в будущем.
Отправная точка Uberblock
В отличие от других объектов zfs, положение меток строго фиксировано и они обновляются в два этапа: сначала обновляются метки L0 и L2, затем L1 и L3. В этой статье из данных, записанных в метке, нас будет интересовать только уберблок, давайте рассмотрим его подробнее.
Уберблок
Уберблок представлен следующей структурой:Теги: #Хранение данных #zfsstruct uberblock {
Вместе с данным постом часто просматривают:
-
Googlephone, Часть 2: Возврат (Обновление)
19 Oct, 24 -
Комикс Xkcd На 13 Гигапикселей
19 Oct, 24 -
Как Появился Инди-Трекер
19 Oct, 24 -
Интересные Международные События Сентября
19 Oct, 24