ZFSonLinux 0.8: functies, stabilisatie, intriges. En trim

Recentelijk is de nieuwste stabiele versie van ZFSonLinux uitgebracht, een project dat nu centraal staat in de ontwikkeling van OpenZFS. Vaarwel, OpenSolaris, hallo wrede GPL-CDDL onverenigbare wereld van Linux.

ZFSonLinux 0.8: functies, stabilisatie, intriges. En trim
Onder deze lijn vind je een overzicht van de interessantste dingen (wie zou dat niet willen, 2200 commits!), en als toetje — een beetje intriges.

Nieuwe functies

Natuurlijk is de meest verwachte — native encryptie. Nu is het mogelijk om alleen de benodigde datasets te versleutelen met de ingebouwde encryptie van ZFS, en (in mijn ogen het belangrijkste) — je kunt versleutelde gegevens verzenden via zfs send en ZONDER decryptie de integriteit van de gegevens controleren met de ingebouwde tools; alle mogelijkheden voor gegevensintegriteit van ZFS blijven bij jou!

Vervolgens is er het langverwachte TRIM. Ja, het heeft lang geduurd voordat het productieklare systeem klaar was. Voor een groot deel omdat de verslechtering van SSD's niet zo'n kritieke kwestie is voor CoW-bestandssystemen. Maar nu zijn we allemaal gerustgesteld — zpool trim zal onze kwetsbare flash-sticks redden.

Nu is het mogelijk om per ongeluk toegevoegde vdev arrays uit de pool te verwijderen (maar alleen als het sparse of mirror is). Een nuttige functie. per ongeluk toegevoegde vdev-array's uit de pool (maar alleen als het sparse of mirror is). Nuttige informatie.

Vervolgens in onze toplijst — pool checkpoints. Kortgezegd — snapshots van de gehele status van de pool, MAAR met de mogelijkheid om niet alleen gegevenswijzigingen terug te draaien, maar ook wijzigingen in de ingeschakelde functies van de pool en in de structuur. Nog een manier om jezelf te beschermen.

Pool initialisatie — het vullen van de onderliggende opslag met nullen. Handig voor gebruik in omgevingen met thin provisioned schijven om expliciet ruimte toe te wijzen en onverwachte dalingen in de prestaties in de toekomst te voorkomen.

Project accounting en quota — in het reeds bestaande quota-mechanisme is het nu mogelijk om projecten te splitsen.

Kanaalprogramma's — de mogelijkheid om administratieve taken atomair uit te voeren met behulp van Lua-scripts. Er zijn limieten aan de uitvoeringstijd en het geheugen. Als je je bezighoudt met automatisering — dan is dit voor jou.

Direct IO — voor de eenvoud hebben we de werking van Direct IO bijgewerkt; intern is er niets veranderd (de aanroepen gaan eenvoudigweg zo veel mogelijk voorbij de cache), maar nu zal software die in deze modus wil werken, niet meer klagen.

Project Pyzfs is in de hoofdrepository opgenomen en gevallen onder de vleugels van het ZFSonLinux-project. Nu zijn er meer middelen voor beheer vanuit Python (en het zal ook geruststellender zijn voor de ondersteuning van de module). Ook zijn veel Python-scripts aangepast naar Python 3.

En nu het smakelijke — prestaties

Nu worden de metadata eerst gelezen tijdens scrub- en resilver-operaties, en daarna de data in maximale vorm. seriële Hierdoor verlopen het herstel van de array en de integriteitscontrole met maximale snelheid.

Toewijzingsklassen — vdev-arrays hebben nu een nieuw type opslag, waarmee metadata/tabels voor deduplicatie (DDT)/data-blokken van minder dan X Kbyte kunnen worden opgeslagen op een aparte vdev-array van meer krachtige schijven. Meer snelheid voor de god van de snelheid! (en eigenlijk — deze mogelijkheid zal zeer nuttig zijn in de komende DRAID).

Veel administratieve commando's werken nu sneller dankzij gerichte caching van metadata (bijvoorbeeld, zfs list, zfs get).

Het proces van data-allokatie is geparalleliseerd, nu wordt voor elk segment van vrije ruimte (metaslab) een aantal allocators aangemaakt. Met NVME zal het niet volledig worden benut, maar het zal beter worden.

Uitgestelde integriteitsherstel van de array zal het niet belasten van de array door gelijktijdig opnieuw opbouwen van meerdere schijven, maar het zal dit sequentieel doen. Hierdoor vermindert zowel de impact op de prestaties als de tijd voor het opnieuw opbouwen.

Bij het importeren van pools met een groot aantal volumes is de snelheid van hun registratie in het systeem verhoogd.

Ook QAT maakt het nu mogelijk om de berekening van encryptie en checksums eruit te halen.

Plus een hoop kleine wijzigingen (het zijn tenslotte 2000+ commits in deze release!).

En als toetje — intriges

Hoewel ZFSonLinux snel ondersteuning toevoegt voor nieuwe Linux-kernels (momenteel worden versies 2.6.32 — 5.1* ondersteund), tonen de kernel-onderhouders duidelijke desinteresse in ondersteuning van derden modules (…we do not care at all about
external kernel modules…
— greg k-h). Zo zijn de noodzakelijke kernel-aanroepen in de 5.0 tak veranderd naar GPL-only . In kernels met deze patch zal de prestaties van ZFS aanzienlijk slechter zijn. Het goede nieuws is dat deze functionaliteit waarschijnlijk aan de modulkant kan worden geïmplementeerd, wat waarschijnlijk zal gebeuren. Tot die tijd kun je een voorbeeld nemen aan NixOS — zij heeft de patch gewoon in de kernel teruggedraaid Ook heeft het project een Code of Conduct gekregen, wat een golf van controverse heeft veroorzaakt. Maar we hebben standgehouden 🙂 🙂

Iedereen succesvolle back-ups en stabiele releases!

release op Github

Nuttige links:
— mijn introductie in ZFS
— Onlangs hebben we een nieuwe stabiele versie van ZFSonLinux uitgebracht, het project dat nu centraal staat in de ontwikkeling van OpenZFS.

Bron: habr.com

Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers 🔥 Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers | ProHoster