Вопрос или проблема
Могу ли я получить ZFS, чтобы он правильно работал в Linux?
Есть ли какие-либо оговорки/ограничения?
ZFS нет в официальном ядре Linux и никогда не будет, если только Oracle не изменит лицензию кода на что-то совместимое с GPL.
Эта несовместимость оспаривается. Основные аргументы в пользу разрешения использования ZFS на системах Linux связаны с так называемым правилом “на расстоянии вытянутой руки”. Это правило применяется в этом случае только если ZFS предоставляется как отдельный модуль от ядра, они связываются только через опубликованные API, и оба кода могут функционировать независимо друг от друга. Предполагается, что лицензия ни одной из кодовых баз не заражает другую, так как они не являются производной друг от друга; они независимы, но сотрудничают. Тем не менее, даже по этой интерпретации модули ZFS все равно должны распространяться отдельно от ядра Linux, что является нынешней практикой в Ubuntu.
Отдельно от спора CDDL и GPL, компания NetApp заявляла о патенте на технологию, используемую в ZFS. Компания NetApp уладила свой иск с Sun после приобретения Oracle, но это урегулирование не защищало других дистрибьюторов Linux. Тем не менее, патент был выдан в 1998 году, что означает, что он, вероятно, больше не применим. Впереди основным препятствием будет конфликт лицензии.
Как я вижу, у вас есть несколько альтернатив:
-
Интегрировать OpenZFS после установки ОС.
Конфликт лицензий делает распространение комбинированной системы вне вашей организации юридически сомнительным. Я не юрист, но мне кажется, что распространение ZFS на Linux похоже на распространение бинарных драйверов, не совместимых с GPL (таких как драйверы для некоторых видеокарт) с системой. Если одно из них вас беспокоит, другое должно также беспокоить.
Это мнение одного-единственного не-юриста, что выбор опции установки DKMS делает это незначительным, так как все, что нужно для повторной интеграции ZFS на месте, это вызвать пересборку драйвера из включенного исходного кода.
-
Используйте btrfs вместо этого, так как у него аналогичные функции к ZFS, но нет конфликта с лицензией GPL и он был включен в основное ядро для тестирования с версии 2.6.29, выпущенной в январе 2009 года.
Основная проблема с btrfs в том, что у него долгая история проблем с RAID 5/6 функциональностью. Эти проблемы прорабатываются, но каждый раз, когда одна из таких проблем появляется, она сбрасывает “часы стабильности”.
Ещё одна проблема в том, что Red Hat удалили btrfs из Red Hat Enterprise Linux 8, и они пока не показывают признаков изменения этого решения.
Однако, Fedora и её близкие производные, такие как Silverblue и Bluefin продолжают использовать btrfs по умолчанию.
-
Одна из причин, по которой Red Hat придерживается такого подхода к btrfs в RHEL, заключается в том, что они работают над альтернативной системой хранения энтерпрайз класса, которую называют Stratis. Будучи значительно менее зрелым, чем ZFS или btrfs, есть вероятность, что оно не удовлетворит вас на данный момент, но вы должны оценить это, чтобы быть уверенным.
-
Используйте другую ОС для вашего файлового сервера (скажем, FreeBSD) и свяжитесь с вашим Linux системами через NFS.
-
Используйте ZFS на FUSE, реализацию в пользовательском пространстве, которая обходит лицензионную проблему с ядром ценой значительного ущерба производительности.
-
Переключитесь на Ubuntu, который поставляет модули ядра ZFS с ОС с версии 16.04. Canonical считает, что это легально безопасно распространять модуль ядра ZFS вместе с самой ОС. Вам нужно будет решить, доверяете ли вы мнению Canonical; учтите также, что они могут не захотеть гарантировать вас, если возникнет юридическая проблема.
Имейте в виду, что на данный момент невозможно загрузиться с ZFS на Ubuntu без большого количества ручной работы. (Нажмите на соответствующую ссылку “Root on ZFS” на этой странице.)
Кстати, btrfs также поддерживается Oracle, но был начат задолго до приобретения Sun. Я не думаю, что они когда-либо объединятся, или один будет снят в пользу другого. ZFS слишком популярен, чтобы исчезнуть, но будет продолжаться спрос на альтернативы ZFS, такие как btrfs и Stratis.
Несколько ответов здесь упоминают порт ZFS Беллендорфа.
Имейте в виду, что порт ZFS Беллендорфа в настоящее время нацелен на пользователей Lustre с очень большими файловыми системами. Это то, что нужно Lawrence Livermore National Labs, министерству энергетики США и другим исследовательским учреждениям, потому что они управляют очень большими файловыми системами (100 ТБ – многопетабайтные системы в ближайшем будущем). Lustre работает на Linux и сталкивается с проблемами при использовании для файловых систем свыше определенных размеров. Некоторые надеются решить эту проблему с помощью ZFS, и здесь zfsonlinux.org играет свою роль.
Для того чтобы ZFS был полезен для остальных из нас, ZPL (POSIX слой ZFS) должен быть портирован на Linux, чтобы администраторы могли взаимодействовать с файловой системой. zfsonlinux.org имеет разработанную версию ZPL, и KQ Infotech предоставляет еще одну реализацию ZPL, что является ответвлением кода zfsonlinux.org.
Беллендорф хочет помощи для улучшения ZPL и объединения любых изменений от KQ Infotech в репозиторий zfsonlinux.org. Если вы можете это сделать, сообщество получит огромные выгоды, и вы станете звездой.
О да, теперь вы можете! Существует Проект ZFS на Linux.
ZFS был успешно портирован на множество платформ, и теперь существует функциональный порт Linux ZFS для ядра.
- Используйте Ubuntu + Native ZFS для Linux PPA.
- Используйте RPM-совместимый дистрибутив, например, CentOS или OLE.
- Вы можете скомпилировать пакет самостоятельно из исходников для вашего дистрибутива Linux.
Мой реальный опыт использования Ubuntu + Native ZFS – это работает очень стабильно из ежедневных репозиториев.
Я не знаю, насколько хорошо они работают, но для Linux существуют два порта ZFS – реализация на основе FUSE и реализация файловой системы на уровне ядра.
Это возможно с версией ZFS на FUSE. Ограничение состоит в том, что она работает как процесс в пользовательском пространстве.
Я установил ZFS Fuse на debian/lenny для моего домашнего NAS. Я не столкнулся с какими-либо проблемами или ограничениями. Поиск ZFS на моем блоге для некоторых связанных публикаций.
Я сначала попробовал BTRFS, но нашел, что он просто не был готов. Это было в феврале 2010 года.
ZFS Fuse действительно работает.
ПРЕДУПРЕЖДЕНИЕ: Убедитесь, что другие операционные системы, которые вы будете использовать для этого диска, поддерживают ту же версию ZFS Fuse – BSD обычно работает на несколько версий позже, чем версии для Linux.
.
Ответ или решение
ZFS под Linux: Работает ли это? Подробный анализ
ZFS (Zettabyte File System) является одной из самых популярных файловых систем благодаря своей надежности, массе функций и поддержке больших объемов данных. Однако, из-за лицензионных ограничений, она не включена в официальный ядро Linux. Рассмотрим, как можно использовать ZFS в Linux и какие могут возникнуть трудности.
Возможности установки ZFS в Linux
-
OpenZFS: Наиболее распространенный способ для интеграции ZFS в Linux — использовать OpenZFS. Это проект, который поддерживает совместимость ZFS и активно развивается сообществом.
-
ZFS on Linux: OpenZFS представлен как модуль ядра в составе проекта "ZFS on Linux" (ZoL), предоставляющего поддержку для большинства современных Linux-дистрибутивов.
-
FUSE-реализация: ZFS также доступен в виде FUSE-версии (Filesystem in Userspace), работающей в пользовательском пространстве.
Ограничения и нюансы
-
Лицензионные противоречия: Основное препятствие для полной интеграции ZFS в Linux — это конфликт лицензий CDDL (Common Development and Distribution License), под которой распространяется ZFS, и GPL (General Public License), лицензия ядра Linux. Хотя данное противоречие оспаривается, ZFS обычно распространяется как отдельный модуль, что юридически более безопасно.
-
Проблемы с патентами: В прошлом NetApp заявляла о патентных правах на технологию, используемую в ZFS. Хотя вопрос был урегулирован с Oracle, остаются неясности для других дистрибьюторов Linux. Тем не менее, патенты, вероятно, уже не действуют, но риск все равно остается.
Альтернативы и другие варианты
-
btrfs: Если лицензионные противоречия вызывают беспокойство, стоит рассмотреть btrfs, обладающий схожими с ZFS функциями. Однако btrfs долгое время страдал от нестабильности, особенно в отношении RAID 5/6.
-
Stratis: Новый проект Red Hat, еще не столь зрелый как ZFS или btrfs, но развивающийся в направлении предоставления надежного хранилища.
-
Другое ПО: Использование FreeBSD или других ОС с поддержкой NFS для подключения к Linux — еще одна альтернатива.
Практическое использование
-
Установите на Ubuntu: Canoncial приняли решение о безопасности использования ZFS в своих дистрибутивах с Ubuntu 16.04, предоставляя модули ZFS вместе с ОС.
-
Компиляция из исходников: Настройка ZFS прямо из исходников на вашей Linux-системе может быть хорошим решением для пользователей иных дистрибутивов.
Заключение
Использование ZFS в Linux возможно и при правильной настройке оно функционально и стабильно. Выбор инструмента зависит от ваших требований к производительности, удобству и юридическим аспектам. Важно предусмотреть потенциальные ограничения и протестировать вашу конфигурацию в производственной среде.
Тем, кто занимается администрированием серверов и работает с большими объемами данных, стоит воздержаться от использования устаревших решений, а также внимательно подходить к обновлениям и поддержке.