
Можно ли заставить ZFS нормально работать в Linux?
Есть ли какие-либо оговорки/ограничения?
решение1
ZFS не входит в официальное ядро Linux и никогда не войдет в него, если Oracle не перелицензирует код под что-то совместимое с GPL.
Эта несовместимостьспорный. Основные аргументы в пользу разрешения ZFS в системах Linux вращаются вокруг так называемого правила «вытянутой руки». Это правило применяется в этом случае только если ZFS предоставляется как отдельный модуль от ядра, они взаимодействуют только через опубликованные API, и обе кодовые базы могут функционировать независимо друг от друга. Тогда утверждается, что ни одна из лицензий кодовой базыпятнадругой, потому что ни один из них не является производной работой другого; они независимы, но взаимодействуют. Тем не менее, даже при такой интерпретации это означает, что модули ZFS должны поставляться отдельно от ядра Linux, что мы и видим сегодняот Ubuntu.
Отдельно от аргумента CDDL против GPL,NetApp утверждаетони владеют патентами на некоторые технологии, используемые в ZFS. NetApp урегулировала свой иск с Sun после покупки Oracle, но это урегулирование не защищает никаких других дистрибьюторов Linux. (Red Hat, Ubuntu, SuSE...)
На мой взгляд, вот ваши альтернативы:
Использоватьbtrfsвместо этого, поскольку он имеет схожие функции с ZFS, но не имеет конфликта с лицензией GPL и находится в основной ветке ядра для тестирования с версии 2.6.29 (выпущенной в январе 2009 года).
Основная проблема с btrfs в том, что у нее естьдолгая история проблем с функциональностью RAID 5/6. Эти проблемы решаются, но каждый раз, когда возникает одна из них, она сбрасывает «часы стабильности».
Еще одна проблема заключается в том, что у Red Hat естьуказаночто в следующем выпуске Red Hat Enterprise Linux не будет btrfs.
Одна из причин, по которой Red Hat занимает такую позицию в отношении BTRFS, заключается в том, что у них естьпланируем предложить аналогичную функциональностьиспользуя другой стек технологий, который они называют Stratis. Поэтому другой вариант у вас есть — ждать появления Stratis, 1.0 запланирован на первую половину 2018 года, предположительно, чтобы совпасть с Red Hat Enterprise Linux 8.
Используйте другую ОС для вашего файлового сервера (например, FreeBSD) и используйте NFS для его подключения к вашим Linux-компьютерам.
ИспользоватьZFS на FUSE, реализация пользовательского пространства, которая аккуратно обходит проблему лицензирования ядра за счет значительного снижения производительности
ИнтегрироватьZFS на Linuxпосле установки ОС.
Theконфликт лицензийделает распространение объединенной системы за пределами вашей организации юридически сомнительным. Я не юрист, но мне кажется, что, если оставить в стороне патентные вопросы, распространение ZFS на Linux примерно так же тревожно, как распространение не-GPL бинарных драйверов (например, для определенных видеокарт) с системой. Если что-то из этого вас беспокоит, то и другое тоже должно беспокоить.
Перейдите на Ubuntu, которая поставляет модули ядра ZFS вместе с ОС с версии 16.04.Канонические верованиячто юридически безопасно распространять модуль ядра ZFS вместе с самой ОС. Вам придется решить, доверяете ли вы мнению Canonical; учтите также, что они могут не захотеть возместить вам ущерб, если возникнет юридическая проблема.
Имейте в виду, что в настоящее время невозможно загрузить Ubuntu с ZFS безкуча ручного хакерства.
Кстати, btrfs также поддерживается Oracle, но была запущена за несколько лет до приобретения Sun. Я не верю, что эти две системы когда-либо сольются, или одна из них будет упразднена в пользу другой из-за конфликта лицензий и патентных проблем. ZFS слишком популярна, чтобы исчезнуть, но спрос на альтернативу ZFS будет продолжаться.
решение2
В нескольких ответах здесь упоминаетсяБелендорф ZFS порт.
Имейте в виду, что порт Behlendorf ZFS в настоящее время ориентирован наБлескпользователи с очень большими файловыми системами. Это то, что нужно Национальной лаборатории Лоуренса Ливермора, Министерству энергетики США и другим исследовательским учреждениям, поскольку они используют очень большие файловые системы (100 ТБ - многопетабайтные системы в ближайшем будущем). Lustre работает на Linux и сталкивается с проблемами при использовании для файловых систем, превышающих определенные размеры. Некоторые люди надеютсярешить эту проблему с помощью ZFS, и вот тут в игру вступает zfsonlinux.org.
Для того, чтобы ZFS была полезна для всех нас,ЗПЛ(ZFS POSIX Layer) необходимо перенести на Linux, чтобы администраторы могли взаимодействовать с файловой системой. zfsonlinux.org имеетверсия ZPL для разработки, и KQ Infotech предоставляетеще одна реализация ZPL, который является ответвлением кода zfsonlinux.org.
Белендорфхочет помочь улучшить ZPLи объединить любые изменения из KQ Infotech в репозиторий zfsonlinux.org. Если вы сможете это сделать, сообщество получит огромную пользу, а вы станете рок-звездой.
решение3
О да, теперь ты можешь! ЕстьZFS на LinuxПроект. ZFS был успешно портирован на несколько платформ, и теперь существует функциональный порт ядра Linux ZFS.
- Используйте Ubuntu + собственный ZFS для Linux PPA.
- Используйте RPM-совместимый дистрибутив, например CentOS или OLE.
- Вы можете скомпилировать пакет самостоятельно из исходников для вашего дистрибутива Linux.
Мой реальный опыт использования Ubuntu + Native ZFS - все работает очень стабильноежедневные репозитории.
решение4
Вы можете использовать версию FUSE ZFS. Ограничением является то, что она работает как процесс пользовательского пространства.