Объявлен релиз проекта OpenZFS 2.1, который развивает реализацию файловой системы ZFS для Linux и FreeBSD. Проект стал известен как «ZFS on Linux» и изначально сосредоточился на разработке модуля для ядра Linux, но после добавления поддержки FreeBSD был признан основной реализацией OpenZFS и избавлен от упоминания Linux в названии.
Работа OpenZFS протестирована с ядрами Linux с 3.10 по 5.13 и всеми ветками FreeBSD, начиная с 12.2-RELEASE. Код распространяется под лицензией CDDL. OpenZFS уже используется во FreeBSD и входит в дистрибутивы Debian, Ubuntu, Gentoo, Sabayon Linux и ALT Linux. Пакеты с новой версией будут подготовлены для основных дистрибутивов Linux, включая Debian, Ubuntu, Fedora, RHEL/CentOS.
OpenZFS zagotavlja implementacijo komponent ZFS, povezanih tako z delovanjem datotečnega sistema kot z delovanjem upravljalnika volumenov. Zlasti so uresničene komponente: SPA (Storage Pool Allocator), DMU (Data Management Unit), ZVOL (ZFS Emulated Volume) in ZPL (ZFS POSIX Layer). Dodatno projekt omogoča uporabo ZFS kot backend za klusterno datotečno sistem Lustre. Delo projekta temelji na izvirni kodi ZFS, uvoženi iz projekta OpenSolaris in razširjeni z izboljšavami in popravki skupnosti Illumos. Projekt se razvija s sodelovanjem zaposlenih na Lawrence Livermore National Laboratory po pogodbi z ameriškim Ministrstvom za energijo.
Koda se distribuira pod prosto licenco CDDL, ki ni združljiva z GPLv2, kar ne omogoča integracije OpenZFS v glavno vejo jedra Linux, saj mešanje kode pod licencami GPLv2 in CDDL ni dovoljeno. Da bi zaobšli to licenčno nezdružljivost, so se odločili, da bodo izdelek celotno distribuirali pod licenco CDDL v obliki ločeno prenosnega modula, ki se dobavlja ločeno od jedra. Stabilnost kode baze OpenZFS je ocenjena kot primerljiva z drugimi datotečnimi sistemi za Linux.
Glavne spremembe:
- Добавлена поддержка технологии dRAID (Distributed Spare RAID), которая является вариантом RAIDZ с интегрированной распределённой обработкой блоков для горячего восстановления. dRAID унаследовал все преимущества RAIDZ, но обеспечил значительное увеличение скорости перестроения хранилища и восстановления избыточности в массиве. Виртуальное хранилище dRAID состоит из нескольких внутренних групп RAIDZ, в каждой из которых имеются устройства для хранения данных и устройства для хранения блоков чётности. Эти группы распределены по всем накопителям для оптимального использования доступной пропускной способности дисков. Вместо отдельного диска для горячего восстановления в dRAID используется концепция логического распределения блоков для горячего восстановления по всем дискам массива.

- Реализована функция «compatibility» («zpool create -o compatibility=off|legacy|file[,file…] pool vdev»), позволяющая администратору выбрать набор функций, которые следует активировать в пуле, с целью создания переносимых пулов и поддержания совместимости пулов между разными версиями OpenZFS и различными платформами.
- Добавлена возможность сохранения статистики работы пула в формате СУБД InfluxDB, оптимизированной для хранения, анализа и манипулирования данными в виде временных рядов (измерения значений параметров через заданные интервалы времени). Для экспорта в формат InfluxDB предложена команда «zpool influxdb».
- Добавлена поддержка горячего добавления памяти и процессоров.
- Новые команды и опции:
- «zpool create -u» — запрет автоматического монтирования.
- «zpool history -i» — prikaz zgodovine operacij z dolžino trajanja vsake ukaze.
- «zpool status» — dodan izpis opozoril o diskih z neoptimalno velikostjo bloka.
- «zfs send —skip-missing|-s» — ignoriranje manjkajočih snapshotov med pošiljanjem toka za replikacijo.
- «zfs rename -u» — preimenovanje FS brez ponovne montaže.
- V arcstat je dodana podpora za statistiko L2ARC in dodane možnosti «-a» (vse) in «-p» (parsable).
- Optimizacije:
- Povečana zmogljivost interaktivnega vnosa/izvoda.
- Pospešena obdelava prefetch za obremenitve, povezane s paralelnim dostopom do podatkov.
- Izboljšana razširljivost z zmanjšanjem konfliktov zaklepanja.
- Zmanjšano je bilo časovno obdobje uvoza kupa.
- Zmanjšana fragmentacija ZIL-blokov.
- Povečana zmogljivost rekurzivnih operacij.
- Izboljšano upravljanje s pomnilnikom.
- Pospešena obremenitev jedrskega modula.
Izvor: opennet.ru

