Liberasyon ZFS sou Linux 0.8.0, aplikasyon ZFS pou nwayo Linux la

Apre prèske de ane nan devlopman prezante lage ZFS sou Linux 0.8.0, yon aplikasyon sistèm dosye ZFS, ki fèt kòm yon modil pou nwayo Linux la. Modil la te teste ak nwayo Linux soti nan 2.6.32 a 5.1. Pakè enstalasyon pare vini byento pral prepare pou gwo distribisyon Linux ki gen ladan Debian, Ubuntu, Fedora, RHEL/CentOS. Modil ZFS sou Linux deja enkli nan distribisyon Debian, Ubuntu, Gentoo, Sabayon Linux ak ALT Linux.

Kòm yon pati nan ZFS sou Linux, aplikasyon an nan konpozan ZFS ki gen rapò ak tou de operasyon an nan sistèm nan dosye ak fonksyone nan manadjè a volim te prepare. An patikilye, konpozan sa yo aplike: SPA (Storage Pool Allocator), DMU (Inite Jesyon Done), ZVOL (ZFS Emulated Volim) ak ZPL (ZFS POSIX Kouch). Anplis de sa, pwojè a bay kapasite pou itilize ZFS kòm yon backend pou sistèm dosye Luster cluster la. Travay pwojè a baze sou kòd ZFS orijinal la, enpòte soti nan pwojè OpenSolaris la epi li elaji ak amelyorasyon ak repare nan kominote Illumos la. Pwojè a ap devlope ak patisipasyon anplwaye nan Livermore National Laboratory anba yon kontra ak US Depatman Enèji.

Kòd la distribye anba yon lisans CDDL gratis, ki enkonpatib ak GPLv2, ki pa pèmèt ZFS sou Linux yo dwe entegre nan branch prensipal la nan nwayo Linux la, paske melanje kòd anba GPLv2 ak lisans CDDL pa akseptab. Pou kontourne enkonpatibilite lisans sa a, li te deside distribye tout pwodwi a anba lisans CDDL kòm yon modil telechaje separe, ki apwovizyone separeman de nwayo a. Estabilite nan ZFS sou Linux kodbaz evalye kòm konparab ak lòt sistèm dosye pou Linux.

Chanjman prensipal yo:

  • Te ajoute sipò entegre pou chifreman done ki estoke nan sistèm dosye a ak nivo patisyon yo. Algorithm chifreman default la se aes-256-ccm. Pou chaje kle chifreman yo, yo pwopoze kòmandman "zfs load-key";
  • Kapasite pou transmèt done chiffres lè egzekite "zfs voye" ak "zfs resevwa" kòmandman yo te aplike. Lè w presize opsyon "-w", done ki deja ankripte nan pisin lan transfere nan yon lòt pisin jan li ye, san yo pa dechifre entèmedyè. Pandan kopi sa yo, done yo rete pwoteje pa kle pati ki voye a, ki pèmèt mòd sa a yo dwe itilize pou backup nan sistèm ki pa fè konfyans (si moun k ap resevwa a konpwomèt, san kle a atakè a pa pral kapab jwenn aksè nan done yo);
  • Te ajoute sipò pou retire kondui prensipal yo nan yon pisin depo, ki konekte swa endividyèlman oswa kòm yon pati nan yon glas. Retire yo fèt ak lòd "zpool retire". Pandan pwosesis la efase, done ki soti nan kondwi a retire yo kopye nan rès kondui prensipal yo nan pisin lan;
  • Te ajoute kòmandman "zpool checkpoint" pou sove eta aktyèl la nan pisin lan ak kapasite nan woule tounen plis chanjman nan pwen an sove nan tan (yon snapshot nan pisin nan tout antye kreye). Karakteristik prezante a ka itil nan pwosesis pou fè travay administratif konplèks potansyèlman danjere ki ta nòmalman mennen nan chanjman irevokabl (pa egzanp, aktive drapo pou nouvo fonksyonalite ZFS oswa netwaye done);
  • Te ajoute kòmandman "zpool trim" pou enfòme kondui yo itilize nan yon pisin sou sektè ki pa itilize ankò. Sèvi ak operasyon TRIM la fè li posib ogmante efikasite nan kondui SSD ak anpeche degradasyon nan pèfòmans yo. Pou pèmèt yon pwosesis background kontinyèl pou pase kòmand TRIM, yo te pwopoze yon nouvo pwopriyete "autotrim";
  • Te ajoute kòmandman "zpool initialize" pou inisyalize tout espas disk ki pa gen alokasyon, asire li imedyatman pare pou itilize san yo pa afekte pèfòmans nan premye aksè (pa egzanp, lè hosting depo virtualize tankou VMware VMDK);
  • Te ajoute sipò pou kontablite nan nivo pwojè ak kota, konpleman kota itilizatè yo ak nivo gwoup ki te disponib deja. Esansyèlman, pwojè yo se yon espas separe nan objè ki asosye ak yon idantifyan separe (ID pwojè). Se obligatwa a detèmine atravè operasyon 'chattr -p' oswa atravè eritaj atribi. Pou jere pwojè yo, yo bay kòmandman "zfs project" ak "zfs projectspace", ki pèmèt ou jere kreyasyon pwojè yo epi mete limit espas disk pou yo;
  • Te ajoute kapasite pou kreye scripts Lua pou otomatize travay divès kalite ak ZFS. Scripts yo lanse nan anviwònman espesyal izole lè l sèvi avèk kòmandman "zpool program" la;
  • Nouvo bibliyotèk aplike pyzfs, ki bay yon API ki estab pou administre ZFS soti nan aplikasyon Python. Bibliyotèk la se yon wrapper sou libzfs_core epi li bay yon seri fonksyon ki idantik, men li sèvi ak kalite ki pi pre Python;
  • Arcstat, arcsummary ak dbufstat sèvis piblik yo kounye a konpatib ak Python 3. Yo te chanje non sèvis piblik yo arcstat.py, arc_summary.py ak dbufstat.py nan vèsyon san ekstansyon ".py" la;
  • Te ajoute sipò pou koòdone nwayo Linux Direct IO (O_DIRECT), ki pèmèt ou jwenn aksè nan done san yo pa tampon ak kontoune kachèt la;
  • Optimize pèfòmans prezante:
    • Travay kòmandman "scrub" ak "resilver" yo te akselere lè yo divize li an de faz (yon faz separe yo atribye ba pou analize metadata ak detèmine kote blòk done yo sou disk la, ki pèmèt plis verifikasyon lè l sèvi avèk lekti done sekans). ;
    • Te ajoute sipò pou klas Alokasyon,
      pèmèt relativman ti kondui SSD yo dwe enkli nan yon pisin epi yo itilize pou estoke sèlman sèten kalite blòk yo itilize souvan, tankou metadata, done DDT ak ti blòk ak dosye;

    • Ogmantasyon pèfòmans nan kòmandman pou administrasyon, tankou
      "zfs list" ak "zfs get", akòz kachèt metadata ki nesesè pou operasyon yo;

    • Te ajoute sipò pou paralelize operasyon alokasyon blòk pa lanse pwosesis separe "allocator" pou chak gwoup metaslab. Sou sistèm regilye yo, gen yon ogmantasyon pèfòmans de 5-10%, men sou gwo (8 GB SSD, 128 nwayo NUMA, 24 GB RAM), ogmantasyon nan operasyon alokasyon blòk ka rive nan 256%;
    • Te ajoute posiblite pou ekzekisyon an reta nan lòd "resilver" la (rebati distribisyon done a pran an kont chanjman nan konfigirasyon kondui yo) - si, lè yo kòmanse yon nouvo operasyon, youn anvan an poko fini, Lè sa a, nouvo moun kap okipe a ap kòmanse. egzekite sèlman apre yo fin youn anvan an fini;
    • Yo te fè optimisation nan ZIL (ZFS Intent Log) pou pèmèt kreyasyon ak trete blòk lè gen blòk ki toujou ap trete pa depo a;
    • Tan an pou anrejistre partisyon (zvol) nan sistèm nan te redwi. Lè yon pisin gen yon gwo kantite patisyon, yo disponib kounye a imedyatman apre yo fin egzekite "zpool import";
    • Te ajoute sipò pou akselerasyon pyès ki nan konpitè nan kalkil hash SHA256 ak operasyon chifreman AES-GSM lè l sèvi avèk chips ki sipòte Intel QAT (Quick Assist Technology). Te ajoute sipò pou zouti akselerasyon pyès ki nan konpitè pou chipset Intel C62x ak CPU Atom C3000.

Sous: opennet.ru

Add nouvo kòmantè