Обсуждение:ZFS

Материал из Xgu.ru

Перейти к: навигация, поиск

А зачем вообще ZFS? Ведь существует JFS о которой в статье ни слова! А ведь она не хуже чем ZFS !!!

У JFS отсутствуют многие возможности ZFS. --Igor Chubin 16:30, 9 января 2008 (EET)

Отсуствуют упомининя о недостатках, например о том, что в ZFS не позволяет уменьшать пулы храниения, изменять кол-во дисвок в raidz/raidz2 что позволяет делать LVM ( противоречи написанному: "В случае сравнения с LVM ZFS выигрывает" ) --91.197.10.33 16:09, 13 апреля 2009 (UTC)

Создал подраздел о недостатках. Добавляйте ссылки на интересные документы, потом распишем подробно. --Igor Chubin 19:07, 15 апреля 2009 (UTC)

Кстати сказать, совершенно не отмечена вот какая особенность ZFS: дело не только в _лёгкости_ создания файловых систем, снапшотов и клонов -- это всегда делалось одной командой (mkfs/newfs) :). Дело в том, что _вне зависимости от размера тома и количества уже имеющихся файловых систем_ создание новой файловой системы (снапшота, клона) _всегда делается за константное время_ -- это всегда изменение одного поля в одном убер-блоке. Ни одна из известных мне файловых систем сейчас (с Volume Manager'ом или без оного) таким свойством не обладает.

Ещё из серии "о ZFS": (холиварщик mode on) -- вся статья неправильная. :) Она написана не о том, о чём свидетельствует её заголовок. :)

ZFS -- это система хранения данных, поддерживающая резервирование (mirror/raidz/raidz2) и проверку целостности данных (очень и очень надёжную и нетривиальную). Основной способ работы с ZFS -- это libzfs. Однако, для того, чтобы "старые программы" (tm) могли её использовать, сделано два механизма совместимости -- ZFS Device Emulator и ZFS POSIX Layer.

В статье говорится только о ZPL (ZFS POSIX Layer). О том, что из операционной системы видно, как файлы и директории. Но это _далеко_ не весь ZFS. В частности, на ZFS Solaris (и FreeBSD, впрочем) умеет свопиться. И дампиться в случае краха. Для этого на ZFS Pool'е создаются так называемые vdev'ы (Virtual Device), которые, несмотря на то, что видны, как Raw Device (к примеру, rpool/swap виден, как /dev/zvol/dsk/rpool/swap и /dev/zvol/rdsk/rpool/swap), обладают всеми теми же преимуществами, что и файловые системы в ZFS Pool'е -- они проверяются на data integrity с помощью контрольных сумм, они резервируются raid'ами, они снапшотятся и клонируются (!), ну и так далее.

Но это просто Sun _для примера_ реализовал на ZFS уже существующие в UNIX абстракции, чтобы народ не сразу офигел. :) Но ничто не мешает написать свои front-end'ы к ZFS, придумать свой тип Data Set'ов (собирательное название единиц пространства имён ZFS -- Data Set. Файловая система, Virtual Device -- примеры Data Set'ов) и радоваться жизни.

Насколько мне известно, следующий тип Data Set'ов, который появится на ZFS (и следующий front-end) -- это кластерная файловая система Lustre. Безусловно, сейчас Lustre тоже можно запустить, используя ZFS, как место хранения данных -- Lustre будет видеть ZFS через ZFS POSIX Layer -- но вот только нужно ли, если есть libzfs? Зачем overhead на эмуляцию того, что Люстре не нужно?