Útgáfa af ZFS á Linux 0.8.0, útfærslur á ZFS fyrir Linux kjarnann

Eftir tæplega tveggja ára þróun fram sleppa ZFS á Linux 0.8.0, útfærsla á ZFS skráarkerfinu pakkað sem einingu fyrir Linux kjarnann. Einingin hefur verið prófuð með Linux kjarna frá 2.6.32 til 5.1. Tilbúnir uppsetningarpakkar koma fljótlega verður undirbúin fyrir helstu Linux dreifingar þar á meðal Debian, Ubuntu, Fedora, RHEL/CentOS. ZFS á Linux einingin er þegar innifalin í Debian, Ubuntu, Gentoo, Sabayon Linux og ALT Linux dreifingum.

Sem hluti af ZFS á Linux hefur verið útbúin útfærsla á ZFS íhlutum sem tengjast bæði rekstri skráarkerfisins og virkni hljóðstyrksstjórans. Sérstaklega eru eftirfarandi þættir útfærðir: SPA (Storage Pool Allocator), DMU (Data Management Unit), ZVOL (ZFS Emulated Volume) og ZPL (ZFS POSIX Layer). Að auki veitir verkefnið möguleika á að nota ZFS sem stuðning fyrir Luster klasaskráarkerfið. Vinna verkefnisins er byggð á upprunalegum ZFS kóða sem fluttur var inn úr OpenSolaris verkefninu og bættur með endurbótum og lagfæringum frá Illumos samfélaginu. Verkefnið er þróað með þátttöku starfsmanna Livermore National Laboratory samkvæmt samningi við bandaríska orkumálaráðuneytið.

Kóðanum er dreift undir ókeypis CDDL leyfi, sem er ósamrýmanlegt GPLv2, sem leyfir ekki að ZFS á Linux sé samþætt inn í aðalútibú Linux kjarnans, þar sem blöndun kóða undir GPLv2 og CDDL leyfi er ekki leyfð. Til að sniðganga þennan leyfisósamrýmanleika var ákveðið að dreifa allri vörunni undir CDDL leyfinu sem sérhlaðanleg eining, sem er afhent aðskilin frá kjarnanum. Stöðugleiki ZFS á Linux kóðagrunni er metinn sem sambærilegur við önnur skráarkerfi fyrir Linux.

Helstu breytingar:

  • Bætt við innbyggðum stuðningi við dulkóðun geymdra gagna á stigi skráarkerfisins og skiptinganna. Sjálfgefið dulkóðunaralgrím er aes-256-ccm. Skipunin "zfs load-key" hefur verið lögð til að hlaða dulkóðunarlykla;
  • Innleitt getu til að flytja dulkóðuð gögn þegar þú keyrir 'zfs send' og 'zfs receive' skipanirnar. Þegar valmöguleikinn „-w“ er tilgreindur eru gögn sem þegar eru dulkóðuð í lauginni flutt yfir í aðra laug eins og þau eru, án milliafkóðununar. Með slíkri afritun eru gögnin áfram vernduð af lykli sendandans, sem gerir kleift að nota þessa stillingu til að taka öryggisafrit yfir í ótraust kerfi (ef viðtakandinn hefur málamiðlun mun árásarmaðurinn ekki geta nálgast gögnin án lykilsins);
  • Bætt við stuðningi við að fjarlægja aðaldrif úr geymsluplássi, tengdur bæði fyrir sig og sem hluti af spegli. Fjarlæging er framkvæmd með "zpool remove" skipuninni. Eyðingarferlið afritar gögnin frá útilokaða drifinu yfir á aðaldrifin sem eftir eru í hópnum;
  • Bætti við "zpool checkpoint" skipuninni til að vista núverandi stöðu laugarinnar með getu til að afturkalla frekari breytingar á vistuðum tímapunkti (mynd af allri lauginni er búin til). Þessi eiginleiki getur verið gagnlegur í því ferli að framkvæma hugsanlega hættulegt flókið stjórnunarstarf, sem við venjulegar aðstæður leiðir til óafturkræfra breytinga (til dæmis, að virkja fána fyrir nýja ZFS virkni eða hreinsa gögn);
  • „zpool trim“ skipuninni hefur verið bætt við til að upplýsa drif sem notuð eru í lauginni um geira sem eru ekki lengur í notkun. Notkun TRIM aðgerðarinnar gerir það mögulegt að auka skilvirkni SSD diska og koma í veg fyrir skerðingu á frammistöðu þeirra. Nýr „sjálfvirkur“ eiginleiki hefur verið lagður til til að gera stöðugt bakgrunnsferli kleift að senda TRIM skipanir;
  • Bætt við "zpool initialize" skipun til að frumstilla allt óúthlutað pláss, sem gerir það kleift að vera strax tilbúið til notkunar, án þess að frammistöðu rýrni við fyrsta aðgang (til dæmis þegar hýsing sýndargeymsla eins og VMware VMDK);
  • Bætti við stuðningi við bókhalds- og verkefnakvóta, til viðbótar við áður tiltæka notenda- og hópkvóta. Í meginatriðum eru verkefni sérstakt rými hluta sem tengjast sérstöku auðkenni (auðkenni verks). Bindingin er skilgreind með 'chattr -p' aðgerðinni eða með eigindaarf. Fyrir verkefnastjórnun eru „zfs project“ og „zfs projectspace“ skipanirnar kynntar, sem gera þér kleift að stjórna stofnun verkefna og setja takmarkanir á diskplássi fyrir þau;
  • Bætti við möguleikanum á að búa til Lua forskriftir til að gera sjálfvirkan ýmsa vinnu með ZFS. Forskriftir eru keyrðar í sérstöku einangruðu umhverfi með "zpool program" skipuninni;
  • Nýtt bókasafn tekið í notkun pyzfs, sem veitir stöðugt API til að stjórna ZFS frá Python forritum. Bókasafnið er umbúðir utan um libzfs_core og býður upp á sams konar aðgerðasett, en notar nánari Python-gerðir;
  • arcstat, arcsummary og dbufstat tólin hafa verið gerð samhæf við Python 3. arcstat.py, arc_summary.py og dbufstat.py tólin hafa verið endurnefnd í útgáfur án ".py" endingarinnar;
  • Bætti við stuðningi við Linux Direct IO (O_DIRECT) kjarnaviðmótið, sem gerir kleift að fá aðgang að gögnum án biðminni og framhjá skyndiminni;
  • Hagræðingar afkasta kynntar:
    • Vinnu skipananna „skrúbb“ og „resilver“ hefur verið hraðað með því að skipta í tvo áfanga (aðskildum áfanga hefur verið úthlutað til að skanna lýsigögn og ákvarða staðsetningu blokka með gögnum á disknum, sem gerir frekari sannprófun með raðgagnalestri );
    • Bætti við stuðningi við úthlutunarflokka,
      leyfa að tiltölulega litlar SSD-diskar séu sameinaðar og notaðar til að geyma aðeins ákveðnar tegundir af algengum blokkum, svo sem lýsigögnum, DDT gögnum og litlum skráareitum;

    • Bætt afköst stjórnandaskipana eins og
      "zfs list" og "zfs get", með því að vista lýsigögnin sem nauðsynleg eru fyrir rekstur þeirra;

    • Bætti við stuðningi við samhliða úthlutun blokka með því að keyra aðskilin úthlutunarferli fyrir hvern metaslab hóp. Á hefðbundnum kerfum er frammistöðuaukning um 5-10%, en á stórum (8 128 GB SSD, 24 kjarna NUMA, 256 GB af vinnsluminni) getur aukningin á úthlutunaraðgerðum blokka náð 25%;
    • Bætt við möguleikanum á að fresta framkvæmd „resilver“ skipunarinnar (endurbyggja gagnadreifingu með hliðsjón af breytingum á uppsetningu drifanna) - ef sá fyrri hefur ekki enn lokið við að hefja nýja aðgerð, þá mun nýi meðhöndlunin byrja að keyra aðeins eftir endir hinnar fyrri;
    • Hagræðingum hefur verið bætt við ZIL (ZFS Intent Log) til að gera kleift að búa til og vinna úr blokkum í viðurvist blokka sem enn eru í vinnslu hjá geymslunni;
    • Minni skráningartími fyrir skipting (zvol) í kerfinu. Þegar laug inniheldur mikinn fjölda skiptinga eru þær nú tiltækar strax eftir að hafa gert "zpool import";
    • Bætti við stuðningi við vélbúnaðarhraða útreikninga á SHA256 kjötkássa og AES-GSM dulkóðunaraðgerðum með Intel QAT (Quick Assist Technology) flögum. Bætt við stuðningi við vélbúnaðarhröðun Intel C62x kubbasettsins og CPU Atom C3000.

Heimild: opennet.ru

Bæta við athugasemd