Рэліз OpenZFS 2.1 з падтрымкай dRAID

Апублікаваны рэліз праекту 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 прымяняецца канцэпцыя лагічнага размеркавання блокаў для гарачага аднаўлення па ўсіх дысках у масіве.
    Рэліз OpenZFS 2.1 з падтрымкай 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

Дадаць каментар