ZFSonLinux 0.8: funktioner, stabilisering, intriger. Ja, och trim

Nyligen slÀppte vi den senaste stabila versionen av ZFSonLinux, projektet som nu Àr centralt i utvecklingen av OpenZFS. HejdÄ OpenSolaris, vÀlkommen till den obarmhÀrtiga GPL-CDDL-inkompatibla vÀrlden av Linux.

ZFSonLinux 0.8: funktioner, stabilisering, intriger. Ja, och trim
Under ytan finns en översikt över de mest intressanta sakerna (sjĂ€lvklart, 2200 commits!), och som efterrĂ€tt — lite spĂ€nning.

Nya funktioner

SjĂ€lvklart Ă€r den mest efterlĂ€ngtade — inbyggd kryptering. Nu kan du kryptera endast de dataset som behövs med den inbyggda krypteringen i ZFS, och (enligt mig — det viktigaste) — du kan skicka krypterade data via zfs send och UTAN att dekryptera kontrollera dataintegriteten med inbyggda verktyg, alla möjligheter för att bevara dataintegriteten i ZFS kommer att finnas tillgĂ€ngliga för dig!

NĂ€sta i betydelse Ă€r den lĂ€nge förvĂ€ntade TRIM. Ja, det har tagit lĂ„ng tid att nĂ„ produktionsmiljön. Delvis för att problemet med SSD-slitage inte Ă€r sĂ„ kritiskt för CoW-filsystem. Men nu kan vi alla vara lugna — zpool trim kommer att rĂ€dda vĂ„ra ömtĂ„liga flash-enheter.

Nu kan man ta bort av misstag tillagda vdev-arrayer frÄn poolen (men bara om det Àr sparse eller mirror). En anvÀndbar liten funktion.

DĂ€refter i vĂ„r topplista — pool checkpoints. Kort sagt — snapshots för hela poolens tillstĂ„nd, MEN som ger möjlighet att Ă„terstĂ€lla Ă€ndringar inte bara av data, utan ocksĂ„ av aktiverade funktioner pĂ„ poolen och strukturella förĂ€ndringar. Ytterligare en möjlighet att sĂ€kra sig.

Pool initialization — fyllning av det underliggande lagringsutrymmet med nollor. AnvĂ€ndbart för arbete i miljöer med thin provisioned diskar för tydlig allokering av utrymme och för att undvika ovĂ€ntade nedgĂ„ngar i prestanda senare.

Project accounting and quota — i den redan befintliga kvotsystemet Ă€r det nu möjligt att anvĂ€nda projektindelning.

Channel programs — möjlighet att utföra administrativa uppgifter atomĂ€rt med hjĂ€lp av Lua-skript. Det finns begrĂ€nsningar för körtid och minne. Om du arbetar med automatisering — dĂ„ Ă€r detta för dig.

Direct IO — för enkelhetens skull integrerade vi Direct IO-arbetet, i grunden har inget förĂ€ndrats (anrop görs maximalt förbi cachen), men nu kommer programvara som vill arbeta i detta lĂ€ge inte att klaga.

Projektet Pyzfs Àr inskrivet i det primÀra arkivet och har tagits under ZFSonLinux-projektets vingar. Nu finns det fler verktyg för att hantera frÄn Python (och stöd för modulen kommer att kÀnnas tryggare). MÄnga Python-skript har ocksÄ anpassats till Python3.

Och nu till det goda — prestanda

Nu lĂ€ses metadata först vid scrub- och resilver-operationer, och sedan i maximalt sekventiell form — data. Detta gör att Ă„terstĂ€llning av arrayen och kontroll av integritet sker med maximal hastighet.

Allokeringsklasser — vdev-arrayer har fĂ„tt en typ av lagringsmedium, nu kan lagring av metadata/dedupliceringstabeller (DDT)/datablock pĂ„ mindre Ă€n X KByte flyttas till en separat vdev-array med mer prestandakraft. Mer hastighet till hastighetens gud! (och i praktiken — denna möjlighet kommer att vara mycket anvĂ€ndbar i framtiden DRAID).

MÄnga administrativa kommandon fungerar nu snabbare tack vare punktcache av metadata (till exempel, zfs list, zfs get).

Dataallokeringsprocessen Àr nu parallelliserad, nu skapas flera allokerare för varje segment av ledigt utrymme (metaslab). Med NVMe kommer allt inte att pressas ut, men det blir bÀttre.

Fördröjd integritetsÄterstÀllning av arrayen kommer att förhindra att arrayen belastas av samtidig Äterskapande av flera diskar, utan kommer att göra det sekventiellt. Detta minskar bÄde pÄverkan pÄ prestanda och tiden för Äterskapande.

Vid import av pooler med mÄnga volumes ökar hastigheten för deras registrering i systemet.

Även QAT tillĂ„ter nu avlastning av kryptering och checksumberĂ€kning.

Plus massor av smÄ förÀndringar (över 2000 commit i releasen!).

Och till dessert — intriger

Även om ZFSonLinux snabbt lĂ€gger till stöd för nya Linux-kĂ€rnor (just nu stöds versioner frĂ„n 2.6.32 till 5.1*), visar kĂ€rnmaintainers en tydlig brist pĂ„ intresse för att hjĂ€lpa tredjepartsmoduler ("
vi bryr oss inte alls om
externa kÀrnmoduler

— greg k-h"). SĂ„ledes blev de nödvĂ€ndiga kĂ€rnans anrop i gren 5.0 Ă€ndrade till GPL-endast . I kĂ€rnor med denna patch kommer ZFS-prestandan att vara betydligt sĂ€mre. Det rĂ€ddar att denna funktionalitet kan implementeras pĂ„ modulens sida, vilket troligen kommer att göras. Under tiden kan ni ta exempel frĂ„n NixOS — de bara rullade tillbaka patchen i kĂ€rnan 🙂

Projektet har ocksĂ„ nu fĂ„tt en Code of Conduct, vilket har skapat en vĂ„g av kontroverser. Men vi har stĂ„tt emot 🙂

Önskar er alla fungerande backuper och stabila releaser!

Nyttiga lÀnkar:
— release pĂ„ Github
— min introduktion till ZFS

KĂ€lla: habr.com

Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar đŸ”„ Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster