Разработчики FreeBSD намерены сменить реализацию ZFS на "ZFS on Linux"
Разработчики FreeBSD представили план перевода используемой в проекте реализации файловой системы ZFS на наработки проекта «ZFS on Linux» (ZoL), который развивает порт ZFS для Linux. В качестве причины миграции называется стагнация кодовой базы ZFS от проекта Illumos (форк OpenSolaris), которая ранее использовалась в качестве основы для переноса связанных с ZFS изменений во FreeBSD.
До последнего времени основная масса разработок, связанных с ZFS, производилась проектом «ZFS on Linux» и компанией Delphix. Компания Delphix развивает операционную систему DelphixOS (форк Illumos) и ранее обеспечивала поддержку ZFS в кодовой базе Illumos. Весной компания Delphix анонсировала переход на реализацию «ZFS on Linux», что окончательно сосредоточило в одном месте всю связанную с ZFS активность. Из развивающихся и сопровождаемых ZFS-проектов в настоящее время остался только «ZFS on Linux», который теперь можно считать основной реализацией OpenZFS.
Так как реализация ZFS от Illumos уже существенно отстаёт от «ZFS on Linux» в плане функциональности, разработчики FreeBSD осознали, что у сообщества FreeBSD не хватит сил для самостоятельного сопровождения и развития имеющейся кодовой базы. В случае продолжения использования Illumos разрыв в функциональности будет только расти, а перенос исправлений будет требовать всё больше и больше ресурсов.
Вместо попыток удержаться за Illumos, команда, обеспечивающая поддержку ZFS во FreeBSD, решила принять «ZFS on Linux» как основной единый совместный проект по разработке ZFS, направить имеющиеся ресурсы на увеличение переносимости его кода и использовать его кодовую базу в качестве основы реализации ZFS для FreeBSD. Поддержка FreeBSD будет интегрирована непосредственно в код «ZFS on Linux» и развиваться в основном репозитории данного проекта (вопрос совместной разработки в едином репозитории уже согласован с Брайаном Белендорфом (Brian Behlendorf), лидером проекта ZFS on Linux).
В настоящее время для рецензирования уже подготовлен прототип порта «ZFS on Linux» для FreeBSD. Для его интеграции в кодовую базу FreeBSD остаётся добавить во фреймворк opencrypto несколько новых функций. Для слияния порта с основной кодовой базой «ZFS on Linux» требуется добавить поддержку FreeBSD в систему непрерывной интеграции, обеспечить прохождение кодом всех тестовых наборов и провести дополнительное тестирование качества. Замена реализации ZFS в кодовой базе FreeBSD запланирована на 15 апреля, если с момента стабилизации порта успеет пройти два месяца (если нет — срок будет сдвинут). В дальнейшем, в течение трёх месяцев старые и новые варианты ZFS будут сосуществовать, после чего старый код ZFS на базе Illumos будет удалён.
Из новой функциональности, которая доступна в порте «ZFS on Linux» для FreeBSD, но отсутствует в реализации ZFS от Illumos, отмечается режим multihost (MMP, Multi Modifier Protection), расширенная система квот, шифрование наборов данных, раздельный выбор классов распределения блоков (allocation classes), использование векторных процессорных инструкций для ускорения реализация RAIDZ и вычисления контрольных сумм, улучшенный инструментарий командной строки. В «ZFS on Linux» также исправлены многие ошибки, связанные с состоянием гонки и блокировками, которые до сих пор остаются неисправленными в коде Illumos.
© OpenNet