ZFSonLinux 0.8: új funkciók, stabilizálás, intrikák. És a trim

Nemrégiben kiadták az új stabil ZFSonLinux verziót, amely most középpontjában áll az OpenZFS fejlesztésének világában. Isten hozta, OpenSolaris, üdvözöljük a harcias GPL-CDDL nem kompatibilis Linux világát.

ZFSonLinux 0.8: új funkciók, stabilizálás, intrikák. És a trim
A továbbiakban a legérdekesebb dolgok áttekintése (nem is csoda, 2200 commithoz!), és desszertnek — egy kis intriga.

Új funkciók

Természetesen a legjobban várt — natív titkosítás. Mostantól csak a szükséges adathalmazokat lehet titkosítani a ZFS beépített titkosításával, és (szerintem a legfontosabb) — titkosított adatokat küldhetünk az zfs send segítségével, és ANÉLKÜL ellenőrizhetjük az adatok integritását a beépített eszközökkel, így a ZFS adatainak épségének megőrzésére vonatkozó lehetőségek Önöknél maradnak!

A következő fontossági szempont a régóta várt TRIM. Igen, nagyon sokáig tartott, míg a gyártásba került. Részben azért, mert a CoW fájlrendszerek esetében nem annyira kritikus a SSD-k elhasználódásának problémája. De most már mindannyian megnyugodtunk — zpool trim megmenti érzékeny flash meghajtóinkat.

Mostantól közvetlenül törli az véletlenül hozzáadott vdev tömböket a poolból (de csak, ha ez sparse vagy mirror). Hasznos kis részlet.

A következő a slágerlistánkon — pool checkpoints. Röviden — pillanatképek az egész pool állapotáról, DE lehetőséget biztosítanak a módosítások visszavonására nemcsak az adatokban, hanem a poolon engedélyezett funkciókban és a struktúrával kapcsolatos változásokban is. Egy újabb lehetőség a biztonság garantálására.

Pool inicializálás — a mélyen fekvő tároló nullákkal való feltöltése. Hasznos a thin provisioned lemezekkel való munkavégzéshez, hogy egyértelműen kijelöljék a helyet, és elkerüljék a váratlan teljesítménycsökkenéseket a jövőben.

Projekt számvitel és kvóta — a már meglévő kvótamechanizmusban most már lehetőség van a projektek közötti megosztásra.

Csatorna programok — lehetőség atomikusan végrehajtani az adminisztratív feladatokat Lua szkriptekkel. Vannak korlátok a végrehajtási időre és a memória használatra. Ha automatizálással foglalkozik — ez Önnek való.

Közvetlen IO — a könnyűség kedvéért átvittük a Direct IO működését, belül semmi nem változott (csak a hívások a legtöbb esetben a cache kihagyásával történnek), viszont most a kívánt módon működni akaró szoftver nem fog csalódni.

Projekt Pyzfs belekerült a fő tárolóba és a ZFSonLinux projekt szárnyai alá került. Most több eszköz áll rendelkezésre a Pythonból való kezeléshez (és így a modul támogatása is biztonságosabb lesz). Emellett sok python szkriptet átírtak python3-ra.

Most pedig jöjjön a finomság — teljesítmény

Most már a scrub és resilver műveletek során először a metaadatokat olvassák be, aztán pedig a maximális adatokat. soros Ezáltal a tömb helyreállítása és az integritás ellenőrzése maximális sebességgel történik.

Allokációs osztályok — a vdev tömbök esetében megjelent a hordozótípus, így a metaadatok / deduplikációs táblák (DDT) / kevesebb mint X Kbyte méretű adatblokkok tárolását külön vdev tömbre lehet helyezni a nagyobb teljesítményű lemezekből. Több sebességet a sebesség istenének! (valójában — ez a lehetőség nagyon hasznos lesz a közelgő DRAID).

Sok adminisztrációs parancs most gyorsabban működik a metaadatok célzott gyorsítótárazásának köszönhetően (például, zfs list, zfs get).

Az adatallokációs folyamat párhuzamosított, most minden egyes szabad terület (metaslab) esetében több allokátor készül. Az NVME-től természetesen nem lehet mindent kisajtolni, de jobb lesz.

Az integritás késleltetett helyreállítása megakadályozza, hogy a tömb egyszerre több lemez újraszerkesztésével legyen megterhelve, és ezt sorban fogja elvégezni. Ezzel csökken a teljesítményre gyakorolt hatás és a újraszerkesztés időtartama.

A kötetekkel nagy mennyiségű pool importálásakor megnövelték a rendszerbe való regisztráció sebességét.

Ezenkívül QAT most lehetővé teszi a titkosítási és ellenőrzőösszeg-számítási feladatok kihelyezését.

Plusz rengeteg apróbb változás (tényleg több mint 2000 commit a kiadásban!).

Na és a desszert — intrikák

Bár a ZFSonLinux gyorsan hozzáadja a friss Linux kernel támogatást (jelenleg a 2.6.32 — 5.1* verziókat támogatják), a kernel karbantartói nyilvánvalóan nem érdeklődnek a harmadik féltől származó modulok iránt ("… egyáltalán nem érdekel minket az
külső kernel modulok…
— greg k-h"). Így a 5.0 ágon szükséges kernel hívásokat GPL-only-ra módosították . Ilyen patch-csel a ZFS teljesítménye jelentősen csökkenni fog. Mentséget jelent, hogy ezt a funkciót a modul oldalán is meg lehet valósítani, amit valószínűleg meg is fognak tenni. De addig is példát vehet a NixOS-tól — ők egyszerűen visszaállították a patch-t a kernelben A projektjüknek most Code of Conduct-juk is van, ami egy hullámot indított el a vitákban. De mi álljuk 🙂 A végén én, egy egyszerű szellemi munkás, váratlanul hős lettem ennek a menő csatornának a történetében!

Mindenkinek működő mentéseket és stabil kiadásokat kívánunk!

kiadás a Github-on

Hasznos linkek:
— bevezetőm a ZFS-hez
— Néhány nappal ezelőtt kiadták a ZFSonLinux új, stabil verzióját, amely mostantól központi szerepet játszik az OpenZFS fejlesztési világában.

Forrás: habr.com

Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster