ZFS

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск
ZFS
Разработчик

Oracle (ранее Sun Microsystems)

Файловая система

ZFS — Zettabyte File System

Дата представления

Ноябрь 2005 (OpenSolaris)

Структура
Содержимое папок

Расширяемая хэш-таблица

Ограничения
Максимальный размер файла

16 эксбибайт

Максимум файлов

248

Максимальная длина имени файла

255 байт

Максимальный размер тома

256 зебибайт

Возможности
Точность хранения даты

{{{date_resolution}}}

Потоки метаданных

Да (названные Extended Attributes)

Атрибуты

POSIX

Права доступа

POSIX

Фоновая компрессия

Да

Фоновое шифрование

Начиная с версии пула 30

Поддерживается ОС

Solaris, OpenSolaris, Apple Mac OS X 10.5, FreeBSD, Linux (через FUSE или отдельный модуль ядра (ZFS on Linux))

ZFS (Zettabyte File System) — файловая система, изначально созданная в Sun Microsystems для операционной системы Solaris. Эта файловая система поддерживает большие объёмы данных, объединяет концепции файловой системы и менеджера логических дисков (томов) и физических носителей, новаторскую структуру данных на дисках, легковесные файловые системы (англ. lightweight filesystems), а также простое управление томами хранения данных. ZFS является проектом с открытым исходным кодом и лицензируется под CDDL (Common Development and Distribution License).

Основное преимущество ZFS — это её полный контроль над физическими и логическими носителями. Зная, как именно расположены данные на дисках, ZFS способна обеспечить высокую скорость доступа к ним, контроль их целостности, а также минимизацию фрагментации данных. Это позволяет динамически выделять или освобождать дисковое пространство на одном или более носителях для логической файловой системы. Кроме того, имеет место переменный размер блока, что лучшим образом влияет на производительность, параллельность выполнения операций чтения-записи, а также 64-разрядный механизм использования контрольных сумм, сводящий к минимуму вероятность незаметного разрушения данных.

История[править | править вики-текст]

ZFS была спроектирована и создана командой Sun Microsystems, лидером которой является Джеф Бонвик (Jeff Bonwick). Файловая система была анонсирована 14 сентября 2004 года. [1] Исходный код для финального релиза был интегрирован в главную ветку разработки Solaris 31 октября 2005 года [2] и реализован как часть 27-й сборки OpenSolaris 16 ноября 2005 года. Sun заявила, что ZFS была интегрирована в 6/06 обновление для Solaris 10 в июне 2006 года, по прошествии одного года с момента открытия сообщества OpenSolaris. [3]

Изначальное название было «Zettabyte File System», но сейчас оно превратилось в простую аббревиатуру[4].

Специфика[править | править вики-текст]

Максимальные возможности[править | править вики-текст]

ZFS — 128-битная файловая система, что позволяет ей хранить в 18,4 × 1018 раз больше данных, чем все известные 64-битные системы. ZFS спроектирована так, чтобы её ограничения были настолько недостижимы, что никогда в обозримом будущем не встретятся на практике[5].

Некоторые теоретические пределы в ZFS:

  • 248 — количество снимков в любой файловой системе (2 × 1014);
  • 248 — количество файлов в любой индивидуальной файловой системе (2 × 1014);
  • 16 эксабайт (264 byte) — максимальный размер файловой системы;
  • 16 эксабайт (264 byte) — максимальный размер одного файла;
  • 16 эксабайт (264 byte) — максимальный размер любого атрибута;
  • 3 × 1023 петабайт — максимальный размер любого пула хранения (zpool);
  • 256 — количество атрибутов файла (фактически ограничивается 2 48 на количество файлов в файловой системе ZFS);
  • 256 — количество файлов в директории (реально ограничен 2 48 на количество файлов в файловой системе ZFS);
  • 264 — количество устройств в любом пуле;
  • 264 — количество пулов в системе;
  • 264 — число файловых систем в одном пуле.

Пулы хранения[править | править вики-текст]

В отличие от традиционных файловых систем, которые располагаются на одном устройстве и, следовательно, при использовании более чем на одном устройстве для них требуется менеджер томов, ZFS строится поверх виртуальных пулов хранения данных, называемых zpool. Пул построен из виртуальных устройств (vdevs), каждое из которых является либо физическим устройством, либо зеркалом (RAID 1) одного или нескольких устройств, либо (RAID Z) — группой из двух или более устройств. Емкость всех vdevs затем доступна для всех файловых систем в zpool.

Для ограничения пространства, доступного конкретной файловой системе, может быть установлена квота. Кроме того, возможно использование дискового резервирования — это гарантирует, что всегда будет оставаться некоторый доступный объём для конкретной файловой системы.

Версии пула ZFS[править | править вики-текст]

Существуют различные версии файловой системы ZFS и версии пула ZFS (zpool), в зависимости от версии доступны различные функциональные возможности. По состоянию на ноябрь 2012 существует 34 версии пула ZFS. Все версии пула изначально выпускаются для Solaris.

В версии 2 была включена поддержка реплицируемых метаданных (англ. ditto blocks). Ввиду того, что структура дискового формата ZFS древовидная, невосстановимые ошибки в метаданных пула могут привести к тому, что пул нельзя будет открыть. Данная функция предоставляет автоматическую репликацию метаданных (до трёх копий каждого блока) независимо от избыточности зависимых пулов (англ. underlying pool-wide redundancy). Например, в пуле с единственным зеркалом наиболее критичные метаданные будут трижды записаны на каждой стороне зеркала, в общей сложности шесть копий. Это позволяет удостовериться, что, если данные потеряны вследствие повреждения, все данные в пуле будут доступны для нахождения и пул будет работоспособным.

В версии 3 включена поддержка технологий горячего резерва и RAID-Z двойной чётности (raidz2); в версии 4 внедрена поддержка ведения истории пула ZFS (zpool history); в версии 5 добавлена поддержка сжатия на лету для наборов данных ZFS методом gzip; в версии 6 включена поддержка свойства bootfs

В версии 7 реализована поддержка «целевого журнала» (ZFS Intent Log, ZIL), который предоставляет приложениям возможность узнать, что данные, ими изменённые, находятся на стабильном хранилище, по возврату из системного вызова. Целевой журнал хранит записи этих системных вызовов, они воспроизводятся заново, если произошёл сбой питания или критическая ошибка, при которой основной пул не подтвердил их выполнение. Когда целевой журнал находится вне основного пула, он выделяет блоки, которые идут цепочкой через пул.

В версии 8 реализована возможность делегировать административные задачи по управлению ZFS обычным пользователям, до этого возможность управлять ZFS была только у администраторов.

В версии 9 в дополнение к существующим функциям квотирования и резервирования, добавлено назначение квот и резервов, не включающих потребление дискового пространства вложенными структурами данных, таких как клоны и квоты (zfs set refquota, zfs set refreservation). Резервирование автоматически устанавливается, когда созданный неразрежённый (non-sparse) том ZFS соответствует размеру раздела. Также в версии 9 добавлена поддержка CIFS-сервера.

В версии 10 появилась возможность добавлять устройства в пул как кэширующие, для обеспечения дополнительного уровня кэширования между основной памятью и диском. Использование кэширующих устройств существенно увеличивает производительность при нагруженных операциях случайного считывания, в основном статичного содержимого. В версии 12 появилась поддержка свойств снимков, в версии 13 стали доступны следующие свойства снимков: usedbysnapshots, usedbychildren, usedbyrefreservation, usedbydataset, в версии 14 доступны также свойства passthrough-x и aclinherit, в версии 15 включены свойства userused, groupused, userquota, groupquota.

В версии 17 реализована поддержка RAID-Z тройной чётности. В версии 18 поддержана функция задержки снимков (ZFS snapshot holds). Начиная с версии 19 появилась возможность удалить присоединённое устройство для хранения журналов, ранее такое устройство удалить было невозможно. В 20-й версии включён алгоритм сжатия zle.

В версии 21 реализована дедупликация (существенным образом использует zle). С версии 30 поддерживается шифрование файловой системы, начиная с версии 32 поддерживается блок размером 1 Мбайт, а в версии 34 реализовано разделение с перекрытием.

Модель транзакций с использованием копирования при записи[править | править вики-текст]

ZFS использует модель объектных транзакций на основе механизма копирования при записи. Все указатели на блоки внутри файловой системы содержат 256-битную контрольную сумму в целевом блоке, который проверяется, когда блок прочитан. Блоки данных, содержащие активные (в этот момент) данные, никогда не перезаписываются вместе; напротив, выделяется новый блок, измененные данные записываются в него, а затем метаданные любых блоков, которые на него ссылаются, таким образом всё перераспределяется и записывается. Чтобы уменьшить накладные расходы, в этом процессе группируется несколько обновлений в группу транзакции, также, если требуется, ведётся журнал использования при синхронной записи.

Снимки и клоны[править | править вики-текст]

Модель копия-по-записи в ZFS обладает ещё одним мощным преимуществом: когда ZFS записывает новые данные — вместо освобождения блоков, содержащих старые данные — она может сохранять их, создавая снимки файловой системы. Снимки в ZFS создаются очень быстро, так как все данные в составе снимка уже сохранены; они также эффективно размещены в пространстве, поскольку любые неизмененные данные разделяются (являются общими) между файловой системой и её снимком.

Также могут быть созданы перезаписываемые снимки («клоны»), в результате чего будут две независимые файловые системы, которые разделяют комплекс блоков. Как только вносятся изменения в какой-либо клон файловой системы, блоки новых данных создаются во всех остальных клонах, чтобы отразить эти изменения.

Динамическое разделение[править | править вики-текст]

Динамическое разделение всех устройств на максимальной пропускной способности означает, что дополнительные устройства включаются в zpool, более широкие каналы автоматически расширяется для включения использования всех дисков в пуле, это уравновешивает нагрузку на запись.

Различные размеры блока[править | править вики-текст]

ZFS использует переменный размер блоков до 128 килобайт. В настоящее время администратору позволяется настраивать максимальный размер используемых блоков, но некоторые работы не будут выполняться (или будут выполняться с ошибками), если использовались слишком крупные блоки. Автоматические настройки рабочих характеристик соответствуют привилегиям.

Если сжатие включено, используются переменные размеры блока. Если блок был сжат, он может влиться в блок меньшего размера, то есть используется меньшее пространство на диске и повышается пропускная способность (Input/Output) (ценой расширенного использования процессора и оперативной памяти для операций компрессии и декомпрессии).

Сквозной контроль целостности данных[править | править вики-текст]

Под сквозным контролем целостности понимается запись на диск контрольной суммы для каждого блока данных, причем контрольная сумма и данные специально разносятся максимально далеко друг от друга для снижения вероятности их совместной порчи. Если в пуле есть несколько устройств, то для данных, размещенных на одном из них, контрольная сумма будет записана на другом. Контрольные суммы вычисляются не только для данных, но и для метаданных, и получается, что в пуле всегда есть контрольная сумма для каждого блока информации.

При считывании любого блока подсчитывается его контрольная сумма и результат сравнивается с контрольной суммой, хранящейся на диске. В случае расхождения ошибка сразу обнаруживается. Разумеется, если в пуле заранее не было запланировано никакого резервирования (ни RAID-Z, ни иного), то ошибку уже не исправишь, но зато испорченные данные не будут выданы за истинные.

Смысл сквозного контроля целостности данных в том, чтобы предотвратить скрытую незаметную порчу данных в результате сбоя оборудования или встроенного программного обеспечения диска или контроллера. Несмотря на то, что вероятность такого события кажется низкой, некоторые исследования показывают, что она вполне значима для организаций любого масштаба.[6]

Создание легковесной файловой системы[править | править вики-текст]

В ZFS, манипулирование с файловой системой в пуле легче, чем объёмы манипуляций в традиционных файловых системах; время и усилия, требуемые для создания или изменения файловой системы ZFS в большей степени напоминают объёмы работ связанные с новым каталогом, чем с манипулированием разделом в других технологиях.

Дополнительные возможности[править | править вики-текст]

Среди дополнительных возможностей — функция установки конкретного приоритет ввода-вывода со сроком планирования, поддержка нескольких независимых потоков с упреждением автоматического обнаружения длины и шага, интеллектуальная очистка и коррекция[7], загрузка и совместное использование дисков в пуле[8], многократное воспроизведение метаданных[9], поддержка механизма копирования при записи.

Управление кэшем[править | править вики-текст]

ZFS также вводит адаптивную замену кеша (ARC), новый метод управления кэшем вместо традиционных для Solaris виртуальных страниц кэша в памяти.

Адаптивный порядок байт[править | править вики-текст]

Массивы и настроенная на них ZFS могут быть перенесены между разными платформами даже если те имеют другой порядок байт. Формат блоков ZFS позволяет автоматически определять и менять порядок байт на лету при чтении метаданных.

При этом разный порядок байт на разных системах никак не отражается на приложениях, файлы для них так и остаются простой последовательностью байтов. Таким образом приложения ответственны за независимый (от платформы) формат уже внутри самих файлов.

Ограничения[править | править вики-текст]

  • В реализации ZFS в Solaris 10 отсутствует прозрачное шифрование, как в NTFS, хотя существует его реализация в рамках проекта OpenSolaris.[10]
  • ZFS не поддерживает распределение квот для каждого пользователя или группы. Вместо этого, можно быстро создавать ФС для пользователей, каждая из которых будет иметь свой размер. По сути, не существует практического решения по квотам для файловых систем, совместно используемых разными пользователями (например проект группы разработчиков), где данные могут быть разделены на каждого пользователя, однако это может быть реализовано поверх стэка ZFS.
  • Расширение объёма хранения, обычно достигается путем добавления группы дисков, таких как vdev (stripe, RAID-Z, RAID-Z2 или зеркало). Новые данные будут динамически использовать все доступные vdev’ы. Ещё одной возможностью увеличения дискового места является поочерёдная замена физических дисков на более вместительные, с ожиданием, после каждой такой операции, пока ZFS сама себя вылечит. Время лечения зависит от объёма сохраненной информации, а не от размера диска. Если во время лечения будет создан снапшот — это перезапустит процесс лечения. Стоит отметить, что замена дисков без потери данных возможна только в одном из режимов работы пула, это позволяющих.
  • На текущий момент невозможно уменьшить количество vdev’ов, не уменьшив при этом размер пула. Однако команда разработчиков ZFS работает над этой проблемой. На момент выпуска Solaris 10 08/11 (обновление 10) это все ещё не реализовано.
  • Также невозможно добавить новый диск в массив RAID-Z или RAID-Z2 (vdev’ы). Данная функция является тяжелой для внедрения. Однако вы можете создать RAIDZ vdev и добавить его в zpool.
  • Нельзя смешивать типы vdev в zpool. Например, если у вас есть stripped ZFS пул, содержащий диски на SAN, вы не сможете добавить локальные диски как зеркалируемый vdev.
  • Полная реконфигурация хранения данных требует сохранения данных на внешние носители (вне ZFS), уничтожения пулов и создания новых пулов по новым правилам.
  • ZFS не является изначально кластерной, распределенной или параллельной файловой системой и не предоставляет конкурирующего доступа к данным с различных хостов. ZFS — это локальная файловая система.

Платформы[править | править вики-текст]

ZFS является частью операционной системы Solaris и доступна для обеих платформ — SPARC и x86. Поскольку код ZFS является открытым (лицензия CDDL), порты для других операционных систем и платформ могут производиться без участия Oracle.

OpenSolaris[править | править вики-текст]

OpenSolaris 2008.05 использует ZFS как файловую систему по умолчанию.

Nexenta OS[править | править вики-текст]

Nexenta OS — это операционная система с GNU-окружением, построенная поверх ядра OpenSolaris и его среды выполнения, в версии alpha1 в ядро была включена поддержка ZFS. Несколько позднее, Nexenta Systems представила NexentaStor — систему для сетевого хранения с поддержкой ZFS, предоставляющую возможности NAS/SAN/iSCSI и базирующуюся на Nexenta OS. NexentaStor включает графический интерфейс, который упрощает процесс использования ZFS. 2 декабря 2008 года выпущена версия NexentaStor 1.1. В ней обновлено ядро OpenSolaris, улучшена интеграция с CIFS/AD а также добавлены несколько плагинов и исправлены некоторые ошибки. Имеется две редакции NexentaStor: коммерческая Enterprise Edition и бесплатная Community Edition с ограничением максимальной ёмкости хранилища в 18ТБ. По состоянию на август 2012 года текущей версией ПО является 3.1.3.

Linux[править | править вики-текст]

Уровень ядра[править | править вики-текст]

Долгое время в Linux перенос ZFS на уровень ядра считался юридически невозможным из-за несовместимости лицензий CDDL, под юрисдикцией которой находится ZFS, и GNU GPL, под юрисдикцией которой находится Linux. Однако в мае 2010 года Брайан Белендорф представил новую версию проекта, в рамках которого ведётся работа по реализации встроенной поддержки файловой системы ZFS для Linux. Для обхода лицензионного ограничения Белендорф решил распространять свой продукт целиком под лицензией CDDL в виде отдельно загружаемого модуля, который поставляется отдельно от ядра[11][12]. С марта 2013 года (версия 0.6.1) проект считается готовым к продуктивному применению[13].

FUSE[править | править вики-текст]

Программа Google Summer of Code спонсирует адаптацию ZFS на Linux с использованием FUSE, в которой файловая система ZFS работает в пользовательском пространстве.[14] Считается, что это решение теоретически чревато потерями производительности[15]. Но пример с реализацией NTFS (NTFS-3G) через FUSE показывает хорошую производительность по сравнению с другими системами[16], что дает основания прогнозировать приемлемую производительность ZFS-FUSE.

На конец 2012 года ZFS-FUSE[17] представлена в виде версии 0.7.0, в которой включена практически полная поддержка ZFS и всех её функций — внедрена поддержка 23-й версии пула.

FreeBSD[править | править вики-текст]

Павел Давидек (Pawel Jakub Dawidek) адаптировал ZFS для FreeBSD в виде модуля для ядра системы. ZFS включена в версию FreeBSD 7.0 (вышла 27 февраля 2008).[18]

Код ZFSv28 протестирован в версии FreeBSD 9 и портирован в ветку разработки стабильную ветку версии 8. Релизы FreeBSD 8.3, 8.4 и 9.0 поддерживают 28-ю версию пула ZFS.

Mac OS X[править | править вики-текст]

Apple предпринимала попытку перенести ZFS на систему Mac OS X, велась активная дискуссия в списках рассылки ZFS и предварительные снапшоты для следующей версии Apple Mac OS X.[19] Несмотря на то, что Mac OS X 10.5 (9A321) поддерживает ZFS, в ней отсутствует возможность использовать ZFS на корневых разделах, а также нет возможности форматировать локальные диски под ZFS (последнее считается багом[20]).

В июне 2009 года Apple на своей пресс-конференции WWDC’09 отказалась от ZFS в представленной версии Mac OS X 10.6 Snow Leopard, в документации и материалах сайта были убраны все упоминания о ZFS. Компания не раскрывает причины отказа от использования ZFS.[21]

Хотя в сборке Mac OS X 10.6 Snow Leopard под номером 10A432, помеченной как Golden Master, поддержка ZFS была возвращена, в окончательном релизе Mac OS X 10.6 поддержка ZFS вновь убрана, уже окончательно[22].

В ответ на закрытие официальной поддержки ZFS появился свободный проект, который базируется на ранее созданной Apple кодовой базе, но отличающегося методом интеграции в систему. MacZFS выполняется не на уровне ядра, а на пользовательском уровне, работая с использованием MacFUSE, подготовлен бинарный пакет, собранный на основе опубликованных в git-репозитории исходных текстов, а также инструкция по настройке.

Примечания[править | править вики-текст]

  1. ZFS: the last word in file systems (ZFS: последнее слово в файловых системах). Sun Microsystems (14 сентября 2004 года). Проверено 30 апреля 2006. Архивировано из первоисточника 4 июня 2012. (недоступная ссылка)
  2. Jeff Bonwick. ZFS: The Last Word in Filesystems. Jeff Bonwick's Blog (31 октября 2005). Проверено 30 апреля 2006. Архивировано из первоисточника 13 октября 2012.
  3. Sun Celebrates Successful One-Year Anniversary of OpenSolaris (Sun празднует успешную первую годовщину OpenSolaris). Sun Microsystems (20 июня 2006 года). Архивировано из первоисточника 13 октября 2012.
  4. Jeff Bonwick. You say zeta, I say zetta (Ты скажешь zeta, я скажу zetta). Jeff Bonwick's Blog (4 мая 2006). Проверено 8 сентября 2006. Архивировано из первоисточника 13 октября 2012.
  5. Как заявил руководитель проекта Бонвик, «заполнение 128-битных файловых систем превысит квантовые возможности хранения данных на Земле. Вы не сможете заполнить и хранить 128-битный объём, не вскипятив при этом океан.» Пример того, насколько велики эти числа: если создавать 1000 файлов каждую секунду, для достижения предела количества файлов в ZFS потребуется около 9000 лет. Расчёт показывает, что требуемое время составляет 8925,5129601298833079654997463217 лет без учета изменения угловой скорости записи на диск и других издержек. В ответ на вопрос о заполнении ZFS без кипячения океанов, Бонвик пишет: «Хотя мы все хотели бы, чтобы Закон Мура выполнялся бесконечно долго, квантовая механика накладывает некоторые фундаментальные ограничения на скорость вычислений и информационную вместимость любого физического устройства. В частности, было показано, что 1 килограмм материи, ограниченный 1 литром пространства, может выполнять не более 1051 операций в секунду над не более чем 1031 бит информации [см. Seth Lloyd, „Ultimate physical limits to computation.“ Nature 406, 1047—1054 (2000)]. Целиком заполненный 128-битный объём будет содержать 2128 блоков = 2137 байт = 2140 бит; поэтому минимальная масса, необходимая для хранения этого количества бит, будет (2140 бит) / (1031 бит/кг) = 136 млрд кг.»
  6. Data integrity. доклад CERN (8 апреля 2007). Проверено 28 января 2008. Архивировано из первоисточника 13 октября 2012.
  7. Smokin' Mirrors. Блог Jeff'a Bonwick'a (2 мая 2006). Проверено 23 февраля 2007. Архивировано из первоисточника 13 октября 2012.
  8. Распределение блоков ZFS. Jeff Bonwick's blog (4 ноября 2006). Проверено 23 февраля 2007. Архивировано из первоисточника 13 октября 2012.
  9. Те же блоки - Удивительная репелент лента. Flippin' off bits Weblog (12 мая 2006). Проверено 1 марта 2007. Архивировано из первоисточника 13 октября 2012.
  10. Проект OpenSolaris: Поддержка шифрования дисков в ZFS.. Проект OpenSolaris. Проверено 11 июля 2008. Архивировано из первоисточника 13 октября 2012.
  11. Для Linux доступна нативная поддержка файловой системы ZFS
  12. Matt Ahrens, Brian Behlendorf. OpenZFS on Linux (англ.). LinuxCon 2013 (September 17, 2013). Проверено 25 декабря 2013.
  13. Neil McAllister. Production-ready ZFS offers cosmic-scale storage for Linux. Über-reliable filesystem now ready for wide deployment (англ.). The Register (30 March 2013). Проверено 30 марта 2013. Архивировано из первоисточника 4 апреля 2013.
  14. Ricardo Correia. Announcing ZFS on FUSE/Linux (May 26 2006). Проверено 15 июля 2006. Архивировано из первоисточника 13 октября 2012.
  15. Реализация файловой системы на уровне задач пользовательского пространства может нести в себе дополнительные затраты, к примеру переключение контекста. Но такая реализация является основой целой теории микроядерных систем и отличается бо́льшей надёжностью по сравнению с реализацией внутри ядра.
  16. Szabolcs Szakacsits. NTFS-3G Read/Write Driver Performance(недоступная ссылка — история) (November 28 2007). Проверено 20 января 2008. Архивировано из первоисточника 4 января 2007.
  17. ZFS for Linux 0.7.0. Проверено 7 ноября 2012. Архивировано из первоисточника 20 ноября 2012.
  18. Dawidek, Pawel ZFS committed to the FreeBSD base (April 6 2007). Проверено 6 апреля 2007. Архивировано из первоисточника 13 октября 2012.
  19. Портирование ZFS в OSX. zfs-дискуссии (April 27 2006). Проверено 30 апреля 2006. Архивировано из первоисточника 13 октября 2012.
  20. Mac OS X 10.5 9A326 Seeded. InsanelyMac Forums (December 14 2006). Проверено 14 декабря 2006. Архивировано из первоисточника 13 октября 2012.
  21. Linux.Org.Ru. InsanelyMac Forums (June 11 2009). Проверено 11 июня 2009. Архивировано из первоисточника 13 октября 2012.
  22. Robin Harris - Apple kicks ZFS in the butt.

Ссылки[править | править вики-текст]

Порты[править | править вики-текст]

Обзоры и информация[править | править вики-текст]

  • ZFS Uncovered (англ.) — Обзор файловой системы ZFS.
  • ZFS  (рус.) на Xgu.ru