пятница, 17 августа 2012 г.

Нативная ZFS на Linux


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

Максимальные возможности

ZFS — это 128-битная файловая система, что позволяет ей хранить в 18,4 × 1018 раз больше данных, чем нынешние 64-битные системы. ZFS спроектирована так, чтобы её ограничения были настолько малы, что они никогда не встретятся на практике. Как заявил руководитель проекта Бонвик, «заполнение 128-битных файловых систем превысит квантовые возможности хранения данных на Земле.
Некоторые теоретические пределы в ZFS:
  • 248 — Количество снимков (snapshot) в любой файловой системе (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 — Количество устройств в любом zpool
  • 264 — Количество zpool’ов в системе
  • 264 — Число файловых систем в zpool

Дополнительные возможности

  • Конкретный I/O приоритет со сроком планирования.
  • Оптимальный в глобальном масштабе I/O сортировки и агрегации (aggregation).
  • Несколько независимых потоков с упреждением автоматического обнаружения длины и шага.
  • Параллельная, постоянная времени операций с каталогами.
  • Интеллектуальная очистка и коррекция.
  • Загрузка и совместное использование дисков в пуле.
  • Те же блоки: Метаданные воспроизводятся внутри пула, два или три раза (согласно значимости метаданных). Если пул состоит из нескольких устройств, ZFS будет пытаться воспроизводить данные на разных устройствах. Даже в пуле без избыточности можно потерять данные, но даже если Вы обнаружите поврежденные секторы, то метаданные должны создать достаточную безопасность, даже при таком сценарии.
  • Дизайн ZFS (копия-по-записи + uberblocks) даёт бо́льшую безопасность при использовании дисков с возможностью записи в кэш, то есть если они реагируют и повинуются на кэш-флэш команды выданные ZFS. Эта особенность обеспечивает безопасность и значительное повышение производительности по сравнению с другими ФС.
  • Учитывая предыдущий пункт, когда все диски находятся в ZFS пуле, ZFS автоматически включает функцию записи в кэш для них. Это не применимо, если не только ZFS одновременно управляет дискретными разделами диска, например если вы используете ФС без функции безопасной записи в кеш, например UFS (и множество других).
Информация про ZFS взята с wikipedia

А теперь самое "вкусное":
Долгое время в Linux перенос ZFS на уровень ядра считался юридически невозможным из-за несовместимости лицензий CDDL, под юрисдикцией которой находится ZFS, и GNU GPL, под юрисдикцией которой находится Linux. Однако в мае 2010 года Брайан Белендорф (Brian Behlendorf) представил новую версию проекта, в рамках которого ведется работа по реализации родной поддержки файловой системы ZFS для Linux. Для обхода лицензионного ограничения Белендорф воспользовался простым и очевидным методом — он решил распространять свой продукт целиком под лицензией CDDL в виде отдельно загружаемого модуля, который поставляется отдельно от ядра.
И самое-самое главное:

http://zfsonlinux.org/faq.html#HowDoIInstallIt

Комментариев нет:

Отправить комментарий