Pull to refresh

ZFS на Linux: она жива!

Reading time2 min
Views2.3K
Original author: Don Marti
Если вы любите Linux за большое количество поддерживаемых устройств, а Solaris за продвинутую файловую систему ZFS, то новый, разрабатываемый проект, может преподнести вам сюрприз.


ZFS от Sun, опускает сложность администрирования хранилищ данных на новый, более легкий уровень. В то время, как Linux использует набор технологий, которые включат в себя RAID, управление томами и разделами файловой системы, ZFS комбинирует все эти технологии в себе, что значительно упрощает администрирование.

Но существует препятствие. ZFS, как и остальная часть OpenSolaris доступна под лицензией CDDL (Sun's Common Development and Distribution License), на протяжении двух лет, в то время, как Linux доступен под второй версией лицензии GNU с тех пор, как он появился, в 1991 году. Эти лицензии – несовместимы.

Один программист, Ricardo Correia, знает, как разрешить эту проблему. Технология, которая называется FUSE (Файловая система в пространстве пользователя), введенная в ядро Linux в версии 2.6.14, выпущенном в октябре 2005 года, позволяет Linux использовать файловую систему, как обычный процесс. Сейчас FUSE является базой, для реализации файловой системы NTFS, которая называется NTFS-3g и работает с весьма приличными характеристиками.

В проекте, начало которого было приурочено к Google's 2006 Summer of Code, Correia конвертировал реализацию ZFS из OpenSolaris в демона (сервис), который запускается в Linux.

Проект рабочий, и некоторые даже умудрялись загрузиться с ZFS. Стоит предупредить, что Correia еще не занимался никакими настройками и усовершенствованием производительности. В то же время, некий сисадмин представил тест производительности, в котором можно увидеть, что сейчас ZFS показывает всего лишь половину производительности другой файловой системы Linux – XFS.

Заметим, что NTFS-3g сейчас показывает приблизительно сходные результаты производительности с «нативными» файловыми системами Linux, что говорит о возможности достижения хорошей производительности FUSE.

Correia, в своем интервью по электропочте заявил, что сейчас он работает над проблемой с памятью. Когда множество потоков ZFS, одновременно пытаются получить память, система начинает глючить и демон ZFS потребляет более 500 Mib памяти. Есть много альтернатив стандартной функции malloc, для управления паматью и сейчас Correia ищет одну из них. «Я пытаюсь выяснить, сможет ли tcmalloc (разработка инженеров Google), работать лучше», – заявил он.

Преимуществом реализации файловой системы, как отдельного демона будет, то о чем так долго твердили поборники микроядра: вы сможете завершать и запускать файловую систему, без перезагрузки самой операционной системы. «Сейчас есть несколько вещей, которые ZFS еще не может обрабатывать, такие как ошибки записи на незеркалированных хранилищах. Это вызывает системный сбой на Solaris, MacOS X, FreeBSD, а в ZFS-FUSE это будет лишь проблемой перезапуска демона», – сказал Correia.

Correia говорит, что сейчас он использует ZFS-FUSE для резервирования своей домашней директории, потому как возможности снимков файловой системы превосходно справляются с множественными резервными копиями одних и тех же данных. А как только производительность ZFS-FUSE достигнет показателей сравнимых с XFS, он пообещал перенести свой домашний каталог на нее и посмотреть, что же из этого выйдет.
Tags:
Hubs:
+2
Comments2

Articles