Efter 11 mÄnaders utveckling har OpenZFS 2.4.0-projektet slÀppts, vilket utvecklar implementeringen av ZFS-filsystemet för Linux och FreeBSD. Projektet blev kÀnt som "ZFS pÄ Linux" och var tidigare begrÀnsad till att utveckla en modul för kÀrnan Linux, men efter att ha sammanslagits med kod frÄn FreeBSD erkÀndes den som den huvudsakliga implementeringen av OpenZFS och döptes om.
OpenZFS-drift har verifierats med kÀrnor Linux 4.18 till 6.18 och alla FreeBSD-grenar som börjar med 13.3. Koden distribueras under den fria CDDL-licensen. OpenZFS anvÀnds redan i FreeBSD och ingÄr i distributionerna. Debian, Ubuntu, Gentoo, NixOS och ALT LinuxPaket med den nya versionen kommer snart att förberedas för huvuddistributionerna. LinuxÀven inkluderande Debian, Ubuntu, Fedora, RHEL/CentOS.
OpenZFS tillhandahÄller en implementering av ZFS-komponenter relaterade till bÄde filsystemet och volymhanteraren. Komponenter implementerade: SPA (Storage Pool Allocator), DMU (Data Management Unit), ZVOL (ZFS Emulated Volume) och ZPL (ZFS POSIX Layer). Projektet tillÄter ocksÄ att ZFS kan anvÀndas som en backend för det klustrade filsystemet Luster. OpenZFS arbete Àr baserat pÄ den ursprungliga ZFS-koden, importerad frÄn OpenSolaris-projektet och utökad med förbÀttringar och korrigeringar frÄn Illumos-communityt. Projektet utvecklas med deltagande av anstÀllda vid Livermore National Laboratory enligt ett kontrakt med US Department of Energy.
Koden distribueras under den fria CDDL-licensen, som Àr inkompatibel med GPLv2, vilket förhindrar att OpenZFS integreras i huvudkÀrnan. Linux, eftersom det Àr oacceptabelt att blanda kod under GPLv2- och CDDL-licenserna. För att kringgÄ licensieringsinkompatibiliteten beslutades det att distribuera produkten för Linux Helt licensierad under CDDL som en separat laddningsbar modul, distribuerad separat frÄn kÀrnan. Stabiliteten hos OpenZFS-kodbasen anses vara jÀmförbar med andra filsystem för Linux.
HuvudÀndringar:
- Möjligheten att stÀlla in standardkvoter för anvÀndare, grupper och projekt har implementerats. I tidigare versioner kunde kvoter bara stÀllas in individuellt för varje anvÀndar-ID. Den nya versionen lÄter dig nu stÀlla in ett standardvÀrde som tillÀmpas om ingen kvot har stÀllts in för en specifik anvÀndare.
- Lade till möjligheten att ÄtergÄ frÄn direkt I/O-lÀge (O_DIRECT, Direct I/O) till den lÀtta, icke-cachelagrade I/O-mekanismen för förfrÄgningar som inte Àr justerade mot en minnessidas grÀns, vilka inte stöds i Direct I/O.
- En ny enhetlig algoritm för att begrÀnsa hastigheten pÄ skrivoperationer och blockplacering föreslÄs, vilket minskar vdev-fragmentering (Virtual Device) genom att aggregera flera skrivoperationer och anvÀnda större sammanhÀngande fria omrÄden för dem istÀllet för att placera resultaten av enskilda skrivoperationer i smÄ fria omrÄden.
- Krypteringsprestandan har förbÀttrats genom att anvÀnda AVX2-instruktioner i AES-GCM-algoritmimplementeringen. Tester har visat hastighetsökningar pÄ upp till 80 %.
- ZIL-block (ZFS Intent Log) kan nu placeras inte bara pÄ vanliga vdevs eller pÄ en separat SLOG-enhet, utan Àven pÄ dedikerade vdevs. Om en vanlig vdev Àr associerad med en hÄrddisk och en dedikerad vdev med en SSD, förhindrar denna Àndring situationer dÀr data skrivs till SSD:n och de associerade ZIL-blocken skrivs till hÄrddisken, vilket orsakar onödig latens.
- Egenskapen special_small_blocks kan nu stÀllas in för partitioner (ZVOL) snarare Àn bara filsystem, vilket gör att smÄ block kan allokeras pÄ en separat dedikerad vdev, till exempel en SSD.
- Lade till omskrivningslÀget "zfs rewrite -P", vilket lÀmnar den logiska skapandetiden oförÀndrad nÀr det Àr möjligt, vilket gör det möjligt att skilja block som helt enkelt flyttades till poolen frÄn block som faktiskt Àndrades av anvÀndaren.
- Kommandona "zpool trim", "zpool scrub" och "zpool initialize" har nu alternativet "-a" (--all), vilket gör att dessa kommandon kan köras mot alla importerade pooler samtidigt.
- Lade till kommandot "zpool scrub -S -E" för att utföra en kontrollsummakontroll av data som faller inom ett angivet tidsintervall.
- Nya optimeringar har lagts till i dedupliceringsprocessen.
KĂ€lla: opennet.ru
