Lëshimi i ZFS on Linux 0.8.0, realizimi i ZFS për kernel Linux

Pas almost dy vitesh zhvillimi është paraqitur lëshimi ZFS në Linux 0.8.0, implementimi i sistemit të skedarëve ZFS, i paketuar si një modul për bërthamën Linux. Funksionimi i modulit është verifikuar me bërthama Linux nga 2.6.32 deri në 5.1. Paketat e gatshme për instalim do të jenë të disponueshme së shpejti do të përgatiten për distribucione kryesore Linux, duke përfshirë Debian, Ubuntu, Fedora, RHEL/CentOS. Moduli ZFS në Linux tashmë është përfshirë në distribucionet Debian, Ubuntu, Gentoo, Sabayon Linux dhe ALT Linux.

Në kuadër të ZFS në Linux, është përgatitur implementimi i komponentëve ZFS, të lidhur me operimin e sistemit të skedarëve dhe funksionimin e menaxherit të volumeve. Në veçanti, janë implementuar komponentët: SPA (Storage Pool Allocator), DMU (Data Management Unit), ZVOL (ZFS Emulated Volume) dhe ZPL (ZFS POSIX Layer). Përveç kësaj, projekti mundëson përdorimin e ZFS si backend për sistemin e skedarëve në grumbull Lustre. Kontributet e projektit janë të bazuara në kodin origjinal ZFS, të importuar nga projekti OpenSolaris dhe të zgjeruara me përmirësime dhe rregullime nga komuniteti Illumos. Projekti zhvillohet me pjesëmarrjen e punonjësve të Laboratorit Kombëtar Lawrence Livermore në kuadër të një kontrate me Departamentin e Energjisë të SHBA.

Kodi shpërndahet nën licencën e lirë CDDL, e cila nuk është në përputhje me GPLv2, çka nuk lejon integrimin e ZFS në Linux në degën kryesore të bërthamës Linux, pasi kombinimi i kodit nën licencat GPLv2 dhe CDDL është i papranueshëm. Për të shmangur këtë mosprëputhje licencuese, është vendosur që produkti të shpërndahet plotësisht nën licencën CDDL si një modul të shkarkueshëm ndaras nga bërthama. Stabiliteti i bazës së kodit ZFS në Linux vlerësohet si i krahasueshëm me sistemet e tjera të skedarëve për Linux.

Ndryshimet kryesore:

  • ËshtĂ« shtuar mbĂ«shtetje e integruar pĂ«r enkriptimin e tĂ« dhĂ«nave tĂ« ruajtura nĂ« nivelin e sistemit tĂ« skedarĂ«ve dhe ndarjeve. PĂ«r enkriptimin, algoritmi qĂ« pĂ«rdoret si parazgjedhje Ă«shtĂ« aes-256-ccm. PĂ«r ngarkimin e çelĂ«save tĂ« enkriptimit, Ă«shtĂ« propozuar komanda «zfs load-key»;
  • ËshtĂ« realizuar mundĂ«sia e transferimit tĂ« tĂ« dhĂ«nave tĂ« enkriptuara gjatĂ« ekzekutimit tĂ« komandave «zfs send» dhe «zfs receive». Kur Ă«shtĂ« treguar opsioni «-w», tĂ« dhĂ«nat e enkriptura nĂ« rezervuar transferohen nĂ« njĂ« rezervuar tjetĂ«r ashtu siç janĂ«, pa dekriptim ndĂ«rmjetĂ«s. GjatĂ« kĂ«tij transferimi, tĂ« dhĂ«nat mbeten tĂ« mbrojtura me çelĂ«sin e palĂ«s dĂ«rguese, qĂ« lejon pĂ«rdorimin e kĂ«tij skenari pĂ«r kopjimin nĂ« sisteme tĂ« pasigurta (nĂ« rast tĂ« kompromentimit tĂ« marrĂ«sit, pa çelĂ«sin, sulmuesi nuk mund tĂ« ketĂ« qasje nĂ« tĂ« dhĂ«na);
  • ËshtĂ« shtuar mbĂ«shtetje pĂ«r fshirjen e disqeve kryesorĂ« nga rezervuari i ruajtjes, qĂ« janĂ« lidhur si individĂ«, ashtu edhe si pjesĂ« e njĂ« pasqyre. Fshirja bĂ«het me komandĂ«n «zpool remove». GjatĂ« procesit tĂ« fshirjes, tĂ« dhĂ«nat nga disku qĂ« po pĂ«rjashtohet kopjohen nĂ« disqet kryesorĂ« qĂ« mbeten nĂ« rezervuar;
  • ËshtĂ« shtuar komanda «zpool checkpoint» pĂ«r ruajtjen e gjendjes aktuale tĂ« rezervuarit me mundĂ«sinĂ« e kthimit tĂ« ndryshimeve tĂ« mĂ«tejshme nĂ« momentin e ruajtur (krijohet njĂ« snapshot i gjithĂ« rezervuarit). Ky funksionalitet mund tĂ« jetĂ« i dobishĂ«m gjatĂ« ekzekutimit tĂ« punĂ«ve administrative potencialisht tĂ« rrezikshme, qĂ« normalisht çojnĂ« nĂ« ndryshime tĂ« pakthyeshme (p.sh., aktivizimi i flamujve pĂ«r funksionalitete tĂ« reja ZFS ose pastrimi i tĂ« dhĂ«nave);
  • ËshtĂ« shtuar komanda «zpool trim», e cila lejon njoftimin e disqeve tĂ« pĂ«rdorura nĂ« rezervuar pĂ«r sektorĂ«t qĂ« nuk janĂ« mĂ« tĂ« pĂ«rdorur. PĂ«rdorimi i operacionit TRIM rrit efikasitetin e SSD-ve dhe parandalon degradimin e performancĂ«s sĂ« tyre. PĂ«r tĂ« aktivizuar njĂ« proces tĂ« vazhdueshĂ«m tĂ« dĂ«rgimit tĂ« komandave TRIM Ă«shtĂ« propozuar njĂ« pronĂ« e re «autotrim»;
  • ËshtĂ« shtuar komanda «zpool initialize» pĂ«r inicializimin e gjithĂ« hapĂ«sirĂ«s sĂ« diskut tĂ« pa ndarĂ«, çka siguron gatishmĂ«rinĂ« e menjĂ«hershme pĂ«r pĂ«rdorim, pa ulur performancĂ«n gjatĂ« aksesit tĂ« parĂ« (p.sh., gjatĂ« vendosjes sĂ« hapĂ«sirave virtuale, si VMware VMDK);
  • ËshtĂ« shtuar mbĂ«shtetje pĂ«r akounting dhe kuota nĂ« nivel projekti, duke plotĂ«suar kuotat e mĂ«parshme nĂ« nivel pĂ«rdoruesi dhe grupi. NĂ« thelb, projektet janĂ« hapĂ«sira tĂ« veçanta objektesh, tĂ« lidhura me njĂ« identifikues tĂ« veçantĂ« (project ID). Lidhja pĂ«rcaktohet pĂ«rmes operacionit ‘chattr -p’ ose pĂ«rmes trashĂ«gimisĂ« sĂ« atributeve. PĂ«r menaxhimin e projekteve janĂ« paraqitur komandat «zfs project» dhe «zfs projectspace», qĂ« lejojnĂ« menaxhimin e krijimit tĂ« projekteve dhe caktimin e kufijve tĂ« hapĂ«sirĂ«s disk;
  • ËshtĂ« shtuar mundĂ«sia e krijimit tĂ« skripteve Lua pĂ«r automatizimin e punĂ«ve tĂ« ndryshme me ZFS. Skriptet ekzekutohen nĂ« ambiente tĂ« veçanta tĂ« izoluara me komandĂ«n «zpool program»;
  • ËshtĂ« implementuar njĂ« bibliotekĂ« e re pyzfs, e cila ofron njĂ« API tĂ« qĂ«ndrueshĂ«m pĂ«r menaxhimin e ZFS nga aplikacionet nĂ« gjuhĂ«n Python. Biblioteka Ă«shtĂ« njĂ« ndihmĂ«se mbi libzfs_core dhe ofron njĂ« grup funksionesh identik, por pĂ«rdor tipe mĂ« tĂ« afĂ«rta pĂ«r Python;
  • Sigurohet pĂ«rputhshmĂ«ria e utilitarĂ«ve arcstat, arcsummary dhe dbufstat me Python 3. UtilitarĂ«t arcstat.py, arc_summary.py dhe dbufstat.py janĂ« rinomuar nĂ« variante pa zgjerimin «.py»;
  • Shtuar mbĂ«shtetje pĂ«r ndĂ«rfaqen e bĂ«rthamĂ«s sĂ« Linuxit Direct IO (O_DIRECT), e cila lejon qasje nĂ« tĂ« dhĂ«na pa buferim dhe pĂ«rmes caches;
  • Sondazhet e optimizimit tĂ« performancĂ«s:
    • Shtuar shpejtĂ«sinĂ« e komandave «scrub» dhe «resilver» pĂ«rmes ndarjes nĂ« dy faza (njĂ« fazĂ« e veçantĂ« pĂ«r skanimin e metadave dhe pĂ«rcaktimin e vendndodhjes sĂ« blloqeve tĂ« dhĂ«nave nĂ« disk, e cila lejon kontrollin e mĂ«tejshĂ«m duke pĂ«rdorur leximin e rregullt tĂ« tĂ« dhĂ«nave);
    • Shtuar mbĂ«shtetje pĂ«r klasat e alokimit tĂ« tĂ« dhĂ«nave (Allocation classes),
      të cilat lejojnë përfshirjen e SSD-ve relativisht të vogla në rezervuar dhe përdorimin e tyre për ruajtjen e llojeve specifike të blloqeve të përdorura shpesh, si metadat, të dhënat DDT dhe blloqet e vogla me skedarë;
    • Shtuar performancĂ«n e komandave pĂ«r menaxhimin, si
      «zfs list» dhe «zfs get», përmes caching të metadave të nevojshme për funksionimin e tyre;
    • Shtuar mbĂ«shtetje pĂ«r paralelizimin e operacioneve tĂ« alokimit tĂ« blloqeve pĂ«rmes ekzekutimit tĂ« proceseve tĂ« veçanta «allocator» pĂ«r çdo grup metaslab. NĂ« sistemet normale vihet re njĂ« rritje tĂ« performancĂ«s prej 5-10%, por nĂ« ato mĂ« tĂ« mĂ«dhenj (8 128 GB SSD, 24 core NUMA, 256 GB RAM) rritja e operacioneve tĂ« alokimit tĂ« blloqeve mund tĂ« arrijĂ« deri nĂ« 25%;
    • Shtuar mundĂ«sinĂ« e kryerjes sĂ« komandĂ«s «resilver» (ri-ndarje e shpĂ«rndarjes sĂ« tĂ« dhĂ«nave duke marrĂ« parasysh ndryshimin e konfigurimit tĂ« magazinave) — nĂ«se, kur fillon njĂ« operacion tĂ« ri, nuk Ă«shtĂ« mbaruar akoma operacioni i mĂ«parshĂ«m, atĂ«herĂ« pĂ«rpunuesi i ri fillon vetĂ«m pas pĂ«rfundimit tĂ« punĂ«s sĂ« operacionit tĂ« mĂ«parshĂ«m;
    • NĂ« regjistrin ZIL (ZFS Intent Log) janĂ« bĂ«rĂ« optimizime qĂ« lejojnĂ« krijimin dhe pĂ«rpunimin e blloqeve edhe gjatĂ« pĂ«rpunimit tĂ« blloqeve tĂ« tjera nga magazina;
    • KohĂ«zgjatja e regjistrimit tĂ« ndarjeve (zvol) nĂ« sistem Ă«shtĂ« reduktuar. Kur rezervuari pĂ«rmban njĂ« numĂ«r tĂ« madh ndarjesh, ato tani bĂ«hen tĂ« disponueshme menjĂ«herĂ« pas ekzekutimit tĂ« «zpool import»;
    • Shtuar mbĂ«shtetje pĂ«r pĂ«rshpejtimin harduerik tĂ« llogaritjes sĂ« hash-eve SHA256 dhe operacioneve tĂ« enkriptimit AES-GSM duke pĂ«rdorur çipa me mbĂ«shtetje pĂ«r teknologjinĂ« Intel QAT (Quick Assist Technology). Shtuar mbĂ«shtetje pĂ«r mjete tĂ« pĂ«rshpejtimit harduerik tĂ« çipsetit Intel C62x dhe CPU Atom C3000.

Burimi: opennet.ru

Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster