Liberigo de OpenZFS 2.1 kun dRAID-subteno

La liberigo de la OpenZFS 2.1 projekto estis publikigita, evoluigante la efektivigon de la ZFS-dosiersistemo por Linukso kaj FreeBSD. La projekto iĝis konata kiel "ZFS sur Linukso" kaj antaŭe estis limigita al evoluigado de modulo por la Linukso-kerno, sed post movado de subteno, FreeBSD estis rekonita kiel la ĉefa efektivigo de OpenZFS kaj estis liberigita de menciado de Linukso en la nomo.

OpenZFS estis testita kun Linukso-kernoj de 3.10 ĝis 5.13 kaj ĉiuj FreeBSD-filioj ekde 12.2-RELEASE. La kodo estas distribuita sub la libera CDDL-licenco. OpenZFS jam estas uzata en FreeBSD kaj estas inkluzivita en la distribuoj Debian, Ubuntu, Gentoo, Sabayon Linux kaj ALT Linukso. Pakoj kun la nova versio baldaŭ estos pretaj por ĉefaj Linukso-distribuoj, inkluzive de Debian, Ubuntu, Fedora, RHEL/CentOS.

OpenZFS disponigas efektivigon de ZFS-komponentoj ligitaj al kaj la dosiersistemo kaj la volummanaĝero. Aparte, la sekvaj komponantoj estas efektivigitaj: SPA (Storage Pool Allocator), DMU (Data Management Unit), ZVOL (ZFS Emulated Volume) kaj ZPL (ZFS POSIX Layer). Aldone, la projekto disponigas la kapablon uzi ZFS kiel backend por la Luster cluster dosiersistemo. La laboro de la projekto baziĝas sur la originala ZFS-kodo, importita de la projekto OpenSolaris kaj pligrandigita kun plibonigoj kaj korektoj de la komunumo Illumos. La projekto estas disvolvita kun la partopreno de dungitoj de la Livermore Nacia Laboratorio sub kontrakto kun la Usona Departemento de Energio.

La kodo estas distribuita sub la libera CDDL-licenco, kiu estas malkongrua kun GPLv2, kiu ne permesas integriĝon de OpenZFS en la ĉefa branĉo de la Linukso-kerno, ĉar miksado de kodo sub la GPLv2 kaj CDDL-licencoj estas neakceptebla. Por eviti ĉi tiun licencadnekongruecon, estis decidite distribui la tutan produkton sub la CDDL-licenco kiel aparte elŝutebla modulo, kiu estas liverita aparte de la kerno. La stabileco de la OpenZFS-kodbazo estas taksita kiel komparebla al aliaj FS por Linukso.

Ĉefaj ŝanĝoj:

  • Aldonita subteno por dRAID (Distributed Spare RAID) teknologio, kiu estas varianto de RAIDZ kun integra distribuita blokpretigo por varmaj rezervaĵoj. dRAID heredas ĉiujn avantaĝojn de RAIDZ, sed permesas signifan pliiĝon en la rapideco de stokado resilvering kaj restarigo de redundo en la tabelo. Virtuala stokado dRAID estas formita de pluraj internaj RAIDZ-grupoj, ĉiu el kiuj enhavas aparatojn por stoki datenojn kaj aparatojn por stoki parecblokojn. Ĉi tiuj grupoj estas distribuitaj tra ĉiuj diskoj por optimuma uzo de disponebla disko-bendolarĝo. Anstataŭ aparta varma reakiro, dRAID uzas la koncepton de logika distribuo de varmaj reakiraj blokoj tra ĉiuj diskoj en la tabelo.
    Liberigo de OpenZFS 2.1 kun dRAID-subteno
  • Efektivigis la posedaĵon "kongrueco" ("zpool create -o compatibility=off|heredaĵo|dosiero[,dosiero...] pool vdev"), permesante al la administranto elekti la aron de kapabloj kiuj devus esti ebligitaj en la naĝejo, en ordo krei porteblajn naĝejojn kaj konservi kongruon inter naĝejoj malsamaj versioj de OpenZFS kaj malsamaj platformoj.
  • Eblas konservi statistikojn pri la funkciado de la naĝejo en la formato InfluxDB DBMS, kiu estas optimumigita por stoki, analizi kaj manipuli datumojn en formo de temposerio (tranĉaĵoj de parametraj valoroj je difinitaj intervaloj). Por eksporti al la formato InfluxDB, la komando "zpool influxdb" estas proponita.
  • Aldonita subteno por varma aldono de memoro kaj CPU.
  • Novaj komandoj kaj opcioj:
    • "zpool create -u" - malebligu aŭtomatan muntadon.
    • "zpool history -i" - reflektas en la historio de operacioj la daŭron de ekzekuto de ĉiu komando.
    • "zpool status" - aldonita averta mesaĝo pri diskoj kun neoptimuma blokgrandeco.
    • “zfs send —skip-missing|-s” — ignoras mankantajn momentfotojn dum sendado de rivereto por reproduktado.
    • "zfs alinomi -u" - renomas la dosiersistemon sen remuntado.
    • Arcstat aldonis subtenon por L2ARC-statistikoj kaj aldonis la opciojn "-a" (ĉiuj) kaj "-p" (parseblaj).
  • Optimumigoj:
    • Plibonigita interaga I/O-efikeco.
    • Prefetch estis akcelita por laborkvantoj rilataj al paralela datuma aliro.
    • Plibonigita skaleblo reduktante serurdisputon.
    • La tempo de importado de naĝejo estis reduktita.
    • Reduktita fragmentiĝo de ZIL-blokoj.
    • Plibonigita agado de rekursivaj operacioj.
    • Plibonigita memoradministrado.
    • La ŝarĝo de la kernomodulo estis akcelita.

fonto: opennet.ru

Aldoni komenton