FreeBSD планирует перейти на ZFSonLinux
На прошлой неделе один из разработчиков FreeBSD Matt Macy выдвинул предложение об использовании реализации ZFS от проекта ZFSonLinux. Таким образом все требуемые изменения для FreeBSD будут сразу интегрированы в кодовую базу ZFSonLinux. Предложением это не завершилось, уже создан форк, в котором производятся требуемые доработки, а также получено одобрение core разработчиков ZFSonLinux на включение доработок для FreeBSD в единую кодовую базу.
Положительная ли это новость? Конечно же да! Суть в концентрации всех причастных к проекту OpenZFS разработчиков в одном месте, в одной кодовой базе.
До настоящего момента OpenZFS предлагал в качестве опорного пункта репозиторий проекта Illumos, через который должен был происходить обмен кодом между всеми участниками коллаборации (ZFSonLinux, FreeBSD, Illumos, ZFSonOSX). Стоит отметить, что совместимость между реализациями поддерживалась на должном уровне. Но, к сожалению, портирование изменений при условии не 100% идентичности кода — операция весьма трудозатратная.
Основной же мотивацией является де факто полный переход ключевых разработчиков в проект ZFSonLinux. Ранее основной организацией, поддерживающей кодовую базу Illumos, была Delphix. Однако, в начале этого года ими было принято решение о миграции на Linux.
Основная жизнь происходит в (как ни странно) проекте ZFSonLinux. За несколько лет в нём появилось множество новых функций, основные:
- Встроенное шифрование (с возможностью проверки целостности без ключа!)
- Последовательный «scrub» — теперь проверка целостности данных проводится оптимальным способом
- Metadata allocation class — можно выделить на отдельные носители (SSD/NVME):
- Метаданные
- Данные дедупликации
- Блоки, размером меньше заданного (например, файлы размером до 4KB)
- Large dnodes — оптимизации для систем, генерируюих большое число метаданных (разработано специально для Lustre)
- Механизм кеширования ARC переработан с целью минимизации фрагментации (используется механизм scatter/gather)
- Векторизация кода RAIDZ, векторизация контрольных сумм
Стоит отметить, что наравне с новым функционалом, разработчики FreeBSD отметили включение многих правок по стабилизации и deadlock’ам в ZFSonLinux, которые также не были портированы в другие проекты.
Будем надеяться, что данный шаг позволит и дальше улучшать продукт, а также сконцентрирует все ресурсы в одной единой кодовой базе.
Ура, товарищи!
P.S. Почему вам может быть интересен ZFS.