Апублікаваны рэліз праекту OpenZFS 2.1, які развівае рэалізацыю файлавай сістэмы ZFS для Linux і FreeBSD. Праект атрымаў вядомасць як "ZFS on Linux" і раней абмяжоўваўся распрацоўкай модуля для ядра Linux, але пасля пераносу падтрымкі FreeBSD быў прызнаны асноўнай рэалізацыяй OpenZFS і быў пазбаўлены ад згадвання Linux у назве.
Праца OpenZFS праверана з ядрамі Linux c 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 падае рэалізацыю кампанентаў ZFS, злучаных як з працай файлавай сістэмы, так і з функцыянаваннем мэнэджара тамоў. У прыватнасці, рэалізаваны кампаненты: SPA (Storage Pool Allocator), DMU (Data Management Unit), ZVOL (ZFS Emulated Volume) і ZPL (ZFS POSIX Layer). Дадаткова праектам забяспечана магчымасць выкарыстання ZFS у якасці бэкенда для кластарнай файлавай сістэмы Lustre. Напрацоўкі праекту заснаваныя на арыгінальным кодзе ZFS, імпартаваным з праекту OpenSolaris і пашыраным паляпшэннямі і выпраўленнямі ад супольнасці Illumos. Праект развіваецца пры ўдзеле супрацоўнікаў Ліверморскай нацыянальнай лабараторыі па кантракце з Міністэрствам энергетыкі ЗША.
Код распаўсюджваецца пад вольнай ліцэнзіяй CDDL, якая несумяшчальная з GPLv2, што не дазваляе дамагчыся інтэграцыі OpenZFS у склад асноўнай галіны ядра Linux, бо змешванне кода пад ліцэнзіямі GPLv2 і CDDL недапушчальна. Для абыходу дадзенай ліцэнзійнай несумяшчальнасці было вырашана распаўсюджваць прадукт цалкам пад ліцэнзіяй CDDL у выглядзе асобна загружанага модуля, які пастаўляецца асобна ад ядра. Стабільнасць кодавай базы OpenZFS ацэньваецца як супастаўная з іншымі ФС для Linux.
Асноўныя змены:
- Дададзена падтрымка тэхналогіі dRAID (Distributed Spare RAID), якая ўяўляе сабой варыянт RAIDZ з інтэграванай размеркаванай апрацоўкай блокаў для гарачага аднаўлення (hot spare). dRAID атрымаў у спадчыну ўсе перавагі RAIDZ, але дазволіў дабіцца значнага павелічэння хуткасці перастраення сховішчы (resilvering) і аднаўлення надмернасці ў масіве. Віртуальнае сховішча dRAID фармуецца з некалькіх унутраных груп RAIDZ, у кожнай з якой прысутнічаюць прылады для захоўвання дадзеных і прылады для захоўвання блокаў цотнасці. Паказаныя групы размеркаваны па ўсіх назапашвальніках для аптымальнага выкарыстання даступнай прапускной здольнасці дыскаў. Замест асобнага дыска для гарачага аднаўлення ў dRAID прымяняецца канцэпцыя лагічнага размеркавання блокаў для гарачага аднаўлення па ўсіх дысках у масіве.
- Рэалізавана ўласцівасць "compatibility" ("zpool create -o compatibility=off|legacy|file[,file…] pool vdev"), якая дазваляе адміністратару выбраць набор магчымасцяў, якія варта актываваць у пуле, з мэтай стварэння пераносных пулаў і падтрымання сумяшчальнасці пулаў паміж рознымі версіямі OpenZFS і рознымі платформамі.
- Прадастаўлена магчымасць захавання статыстыкі аб рабоце пула ў фармаце СКБД InfluxDB, аптымізаванай для захоўвання, аналізу і маніпулявання дадзенымі ў форме часовага шэрагу (зрэзы значэнняў параметраў праз зададзеныя прамежкі часу). Для экспарту ў фармат InfluxDB прапанавана каманда "zpool influxdb".
- Дададзена падтрымка гарачага дадання памяці і CPU.
- Новыя каманды і опцыі:
- zpool create -u забарона аўтаматычнага мантавання.
- "zpool history -i" - адлюстраванне ў гісторыі аперацый працягласці выканання кожнай каманды.
- «zpool status» — дададзеная выснова папярэджання аб дысках з неаптымальным памерам блока.
- "zfs send -skip-missing | -s" - ігнараванне адсутных снапшотаў падчас адпраўкі струменя для рэплікацыі.
- "zfs rename -u" - перайменаванне ФС без перамантавання.
- У arcstat дададзена падтрымка статыстыкі L2ARC і дададзены опцыі "-a" (all) і "-p" (parsable).
- Аптымізацыі:
- Падвышаная прадукцыйнасць інтэрактыўнага ўводу/высновы.
- Паскорана праца prefetch для нагрузак, злучаных з раўналежным доступам да дадзеных.
- Палепшана маштабаванасць за кошт зніжэння канфлікту блакіровак.
- Скарочаны час імпарту пула.
- Скарочана фрагментацыя ZIL-блокаў.
- Павышана прадукцыйнасць рэкурсіўных аперацый.
- Палепшана кіраванне памяццю.
- Паскорана загрузка модуля ядра.
Крыніца: opennet.ru