Lëshimi i ZFS on Linux 0.8.0, një implementim i ZFS për kernelin Linux

Pas pothuajse dy vjet zhvillimi u paraqit lëshimi ZFS on Linux 0.8.0, implementimi i një sistemi skedash ZFS, i që është prezantuar si një modul për kernelin Linux. Funksionaliteti i modulit është verifikuar me kernela Linux nga 2.6.32 deri në 5.1. Pakot e gatshme për instalim do të përgatiten së shpejti do të jenë të gatshme për distribucione kryesore të Linux, duke përfshirë Debian, Ubuntu, Fedora, RHEL/CentOS. Moduli ZFS on Linux tashmë është i integruar në distribucionet Debian, Ubuntu, Gentoo, Sabayon Linux dhe ALT Linux.

Kështu në kuadër të ZFS on Linux është përgatitur një implementim i komponentëve të ZFS, të lidhur me funksionimin si të sistemit të skedave ashtu edhe të menaxherit të volumit. Në veçanti, janë implementuar komponentë si: SPA (Storage Pool Allocator), DMU (Data Management Unit), ZVOL (ZFS Emulated Volume) dhe ZPL (ZFS POSIX Layer). Shtesë, projekti ofron mundësinë për të përdorur ZFS si një backend për sistemin e skedave të klasterit Lustre. Përvojat e projektit janë bazuar në kodin origjinal të ZFS, i importuar nga projekti OpenSolaris dhe i zgjeruar me përmirësime dhe korrigjime nga komuniteti Illumos. Projekti po zhvillohet me pjesëmarrjen e punonjësve të Laboratorit Kombëtar Livermore nëpërmjet një kontrate me Ministrinë e Energjisë të SHBA-ve.

Kodi shpërndahet nën licencën e lirë CDDL, e cila është e papajtueshme me GPLv2, e cila nuk lejon integrimin e ZFS on Linux në degën kryesore të kernelit Linux, pasi përzierja e kodit nën licencat GPLv2 dhe CDDL është e papranueshme. Për të shmangur këtë papajtueshmëri licencash, është vendosur që produkti të shpërndahet tërësisht nën licencën CDDL si një modul që mund të shkarkohet veçmas nga kernel. Stabiliteti i bazës së kodit ZFS on Linux vlerësohet si krahasues me sistemet e tjera të skedave 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Ă« skedave dhe pjesĂ«ve. Si rregull, algoritmi aes-256-ccm pĂ«rdoret pĂ«r enkriptim. PĂ«r ngarkimin e çelzave tĂ« enkriptimit Ă«shtĂ« ofruar komandĂ« «zfs load-key»;
  • ËshtĂ« realizuar mundĂ«sia e transferimit tĂ« tĂ« dhĂ«nave tĂ« koduara gjatĂ« ekzekutimit tĂ« komandave "zfs send" dhe "zfs receive". Kur pĂ«rdoret mundĂ«sia "-w", tĂ« dhĂ«nat e koduara nĂ« rezervuar transferohen nĂ« njĂ« rezervuar tjetĂ«r siç janĂ«, pa dekodim ndĂ«rmjetĂ«s. GjatĂ« kĂ«tij kopjimi, tĂ« dhĂ«nat mbeten tĂ« mbrojtura nga çelĂ«si i palĂ«s dĂ«rguese, gjĂ« qĂ« lejon pĂ«rdorimin e kĂ«tij mĂ«nyre pĂ«r kopjime rezervĂ« nĂ« sisteme tĂ« pasigura (nĂ«se pala marrĂ«se komprometohet, pa çelĂ«sin, sulmuesi nuk do tĂ« mund tĂ« ketĂ« qasje nĂ« tĂ« dhĂ«na);
  • ËshtĂ« shtuar mbĂ«shtetje pĂ«r eliminimin e disqeve primare nga rezervuari i ruajtjes, tĂ« cilat janĂ« lidhur si si tĂ« veçanta ashtu edhe si pjesĂ« e pasqyrĂ«s. Eliminimi realizohet me komandĂ«n "zpool remove". GjatĂ« procesit tĂ« eliminimit, tĂ« dhĂ«nat nga disku qĂ« pĂ«rjashtohet kopjohen nĂ« disqet primare qĂ« mbeten nĂ« rezervuar;
  • ËshtĂ« shtuar komandĂ« "zpool checkpoint" pĂ«r tĂ« ruajtur gjendjen aktuale tĂ« rezervuarit me mundĂ«sinĂ« pĂ«r tĂ« rikthyer ndryshimet e mĂ«tejshme nĂ« momentin e ruajtur (krijohet njĂ« snapshot i gjithĂ« rezervuarit). Kjo mundĂ«si e paraqitur mund tĂ« jetĂ« e dobishme gjatĂ« ekzekutimit tĂ« punĂ«ve komplekse administrative qĂ« potencialisht mund tĂ« rrezikojnĂ« funksionimin normal (pĂ«r shembull, aktivizimi i flagjeve pĂ«r funksionalitete tĂ« reja ZFS ose pastrimi i tĂ« dhĂ«nave);
  • ËshtĂ« shtuar komandĂ« "zpool trim", qĂ« lejon tĂ« informohen disqet e pĂ«rdorura nĂ« rezervuar pĂ«r sektorĂ«t qĂ« nuk pĂ«rdoren mĂ«. PĂ«rdorimi i operacionit TRIM ofron mundĂ«sinĂ« pĂ«r tĂ« shkuar mĂ« pĂ«rpara nĂ« efikasitetin e punĂ«s sĂ« SSD-ve dhe pĂ«r tĂ« parandaluar degradimin e performancĂ«s sĂ« tyre. PĂ«r aktivizimin e procesit tĂ« vazhdueshĂ«m tĂ« transferimit tĂ« komandave TRIM, Ă«shtĂ« propozuar njĂ« pronĂ« e re "autotrim";
  • ËshtĂ« shtuar komandĂ« "zpool initialize" pĂ«r inicializimin e tĂ« gjithĂ« hapĂ«sirĂ«s disk tĂ« pa ndarĂ«, e cila siguron gatishmĂ«rinĂ« e menjĂ«hershme pĂ«r pĂ«rdorim, pa uljen e performancĂ«s gjatĂ« aksesit tĂ« parĂ« (pĂ«r shembull, nĂ« vendosjen e ruajtjeve virtuale, si VMware VMDK);
  • Shtuar mbĂ«shtetje pĂ«r llogaritjen dhe kuotat nĂ« nivel projekti, qĂ« plotĂ«son kuotat e mĂ«parshme nĂ« nivel pĂ«rdoruesi dhe grupi. NĂ« thelb, projektet janĂ« njĂ« hapĂ«sirĂ« e veçantĂ« objektesh, tĂ« lidhur 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Ă« krijimin e projekteve dhe caktimin e kufijve pĂ«r hapĂ«sirĂ«n e disku.
  • Shtuar mundĂ«sinĂ« e krijimit tĂ« skripteve Lua pĂ«r automatizimin e punĂ«ve tĂ« ndryshme me ZFS. Skriptet nisin nĂ« mjedise tĂ« veçanta tĂ« izoluar pĂ«rmes komandĂ«s 'zpool program';
  • Implementuar njĂ« bibliotekĂ« tĂ« re pyzfs, qĂ« ofron njĂ« API tĂ« qĂ«ndrueshĂ«m pĂ«r administrimin e ZFS nga aplikacione nĂ« gjuhĂ«n Python. Biblioteka Ă«shtĂ« njĂ« mbĂ«shtetje pĂ«r libzfs_core dhe ofron njĂ« grup identik funksionesh, por aplikon tipe mĂ« tĂ« afĂ«rta me Python;
  • Siguruar kompatibilitetin e mjeteve arcstat, arcsummary dhe dbufstat me Python 3. Mjetet 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 Linux Direct IO (O_DIRECT), qĂ« lejon qasje nĂ« tĂ« dhĂ«na pa buferim dhe duke anashkaluar cache-in;
  • Paraqitur optimizime tĂ« performancĂ«s:
    • PĂ«rshpejtuar operacionet e komandave 'scrub' dhe 'resilver' pĂ«rmes ndarjes nĂ« dy faza (caktuar njĂ« fazĂ« tĂ« veçantĂ« pĂ«r skanimin e metadatat dhe pĂ«rcaktimin e vendndodhjeve tĂ« blloqeve me tĂ« dhĂ«na nĂ« disk, gjĂ« qĂ« lejon njĂ« verifikim tĂ« mĂ«tejshĂ«m duke pĂ«rdorur lexim tĂ« rregullt tĂ« tĂ« dhĂ«nave);
    • Shtuar mbĂ«shtetje pĂ«r klasat e alokimit tĂ« tĂ« dhĂ«nave (Allocation classes),
      të cilat lejojnë përfshirjen në grup të SSD-ve relativisht të vogla dhe përdorimin e tyre për ruajtjen e vetëm llojeve të caktuara të blloqeve të përdorura shpesh, siç janë metadat, të dhënat DDT dhe blloqet e vogla me skedarë;
    • Rritur performancĂ«n e komandave pĂ«r administrim, siç janĂ«
      'zfs list' dhe 'zfs get', përmes ruajtjes në cache të metadatatve të nevojshme për funksionimin e tyre;
    • Shtuar mbĂ«shtetje pĂ«r paralelizimin e operacioneve tĂ« alokimit tĂ« blloqeve pĂ«rmes nisjes sĂ« proceseve tĂ« veçanta 'allocator' pĂ«r çdo grup metaslab. NĂ« sistemet standarde, Ă«shtĂ« vĂ«rejtur njĂ« rritje performancĂ« nĂ« nivelin 5-10%, por nĂ« ato tĂ« mĂ«dha (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Ă«sia e ekzekutimit tĂ« vonuar tĂ« komandĂ«s «resilver» (rikonstruktimi i shpĂ«rndarjes sĂ« tĂ« dhĂ«nave duke marrĂ« parasysh ndryshimet nĂ« konfigurimin e ruajtĂ«sve) — nĂ«se gjatĂ« nisjes sĂ« njĂ« operacioni tĂ« ri, operacioni i mĂ«parshĂ«m ende nuk ka pĂ«rfunduar, atĂ«herĂ« menaxheri i ri do tĂ« fillojĂ« tĂ« ekzekutohet 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, kur ka blloqe qĂ« tashmĂ« po pĂ«rpunohen nga ruajtĂ«si;
    • Koha e regjistrimit tĂ« ndarjeve (zvol) nĂ« sistem Ă«shtĂ« reduktuar. Kur puli pĂ«rmban njĂ« numĂ«r tĂ« madh tĂ« ndarjeve, 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-it SHA256 dhe operacioneve tĂ« enkriptimit AES-GSM duke pĂ«rdorur çipet e pajtueshme me 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

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