• OpenZFS 2.4.4 stärker datasäkerheten och får stöd för Linux 7.2

    OpenZFS 2.4.4 har släppts med stöd för Linuxkärnan 7.2, ett nytt verktyg för att rädda låsta lagringspooler och flera korrigeringar som minskar risken för datafel. Uppdateringen riktar sig främst till administratörer av servrar och större lagringssystem, men förbättringarna berör alla som använder ZFS för att skydda viktiga filer.

    OpenZFS är mer än ett traditionellt filsystem. Det fungerar samtidigt som filsystem, volymhanterare och ett avancerat skydd mot dataskador. I stället för att bara lagra filer på en disk kan OpenZFS kombinera flera hårddiskar till en gemensam lagringspool, kontrollera att informationen inte har förändrats och i många fall automatiskt reparera skadade data.

    Tekniken används därför ofta i filservrar, NAS-enheter, datacenter och system där stora mängder information måste lagras säkert under lång tid.

    Den nya versionen OpenZFS 2.4.4 är framför allt en underhållsuppdatering. Den innehåller inga dramatiska förändringar av hur systemet används, men många av förbättringarna handlar om sådant som är avgörande för ett lagringssystem: att data förblir korrekta och att lagringspooler går att återställa när något oväntat inträffar.

    Stöd för Linuxkärnan 7.2

    En av de största nyheterna är kompatibilitet med Linuxkärnan 7.2. OpenZFS har en ovanlig ställning i Linuxvärlden eftersom det inte ingår direkt i den officiella Linuxkärnan. ZFS-modulerna måste därför anpassas när kärnans interna gränssnitt förändras.

    I Linux 7.2 har bland annat OpenZFS kod för superblock anpassats till kärnans sget_fc()-gränssnitt. Ett superblock kan förenklat beskrivas som filsystemets övergripande innehållsförteckning. Där finns grundläggande information som operativsystemet behöver för att kunna montera och använda filsystemet.

    Den officiellt stödda Linuxversionen sträcker sig nu från kärna 4.18 till 7.2. OpenZFS fortsätter även att stödja FreeBSD, där version 13.3 och senare samt 14.0 och senare finns med bland de angivna plattformarna.

    Ny räddningsfunktion för blockerade lagringspooler

    Den kanske mest intressanta nyheten är kommandot zhack mmp reclaim. Det är avsett för ovanliga men besvärliga situationer där en ZFS-pool har lämnats i ett låst eller övergivet tillstånd av MMP-skyddet.

    MMP skyddar en lagringspool mot att öppnas för skrivning av flera datorer samtidigt. Om två servrar skulle skriva till samma pool utan att känna till varandras ändringar kan filsystemets struktur skadas. Det kan jämföras med att två personer samtidigt redigerar samma dokument utan någon samordning – men i det här fallet kan resultatet bli en skadad lagringspool i stället för några förlorade textrader.

    Skyddet försöker därför upptäcka om poolen redan används av en annan dator och stoppar importen om den ser tecken på aktivitet.

    Problemet uppstår om skyddet felaktigt tror att en annan dator fortfarande använder poolen. Det kan exempelvis inträffa efter ett avbrott eller ett misslyckat försök att ta kontroll över poolen. Det nya kommandot ger en administratör möjlighet att återta en sådan övergiven pool.

    OpenZFS har samtidigt blivit bättre på att skilja mellan ett misslyckat försök att göra anspråk på en så kallad uberblock och verklig aktivitet från en annan dator. En uberblock fungerar ungefär som en säker kontrollpunkt som beskriver ett giltigt tillstånd för hela lagringspoolen.

    Kontrollerna hoppar nu även över virtuella enheter som inte går att skriva till. Hanteringen av degraderade speglar, där någon disk är frånvarande, har också förbättrats.

    Flera viktiga fel i dedupliceringen rättas

    OpenZFS kan använda deduplicering för att undvika att identiska datablock lagras flera gånger. Om samma block förekommer på många platser sparas bara ett exemplar, medan filsystemet håller reda på vilka filer som använder det.

    Det kan minska lagringsbehovet kraftigt, men kräver en omfattande tabell som kallas DDT, Deduplication Table. Tabellen måste vara helt korrekt. Ett felaktigt referensvärde kan annars innebära att ett block tas bort trots att det fortfarande används.

    OpenZFS 2.4.4 rättar flera problem i denna del av systemet. Bland annat åtgärdas negativa tidsvärden och andra fel som kunde uppstå när gamla poster rensades. Låsningen under kontrollen av deduplicerade block har stärkts, och felaktig märkning av referensräkningen i DDT-loggen har korrigerats.

    För system som använder deduplicering är detta några av uppdateringens viktigaste förbättringar.

    Stabilare cache och säkrare filhantering

    L2ARC är OpenZFS sekundära läscache och används ofta för att komplettera arbetsminnet med en snabb SSD. Version 2.4.4 rättar ett fel i återuppbyggnaden av denna cache. Under den första genomgången begränsas återuppbyggnaden nu av den punkt till vilken nya cachedata faktiskt har skrivits.

    Ett fel som påverkade läsning av datablock som frigjorts efter kloning har också korrigerats. Dessutom begränsas antalet verifieringshändelser från Direct I/O, så att systemet inte överbelastas av en mycket stor mängd likartade meddelanden.

    På Linux rättas en möjlig oändlig loop i zfs_write() när systemet försökte arbeta med en minnesbuffert som inte kunde göras tillgänglig. Läsning genom mmap() utanför slutet av en fil har korrigerats, och tidsstämplarna för ändring uppdateras nu korrekt när fallocate() används för att göra en fil större.

    Pooler ska inte längre exporteras medan de används

    Kommandot zpool export används när en lagringspool ska kopplas bort från ett system, exempelvis för att flyttas till en annan server.

    OpenZFS 2.4.4 kontrollerar nu bättre om poolens ZFS-volymer fortfarande används. Om en zvol-enhet är upptagen av ett program eller en virtuell maskin avbryts exporten med felkoden EBUSY. Det är säkrare än att försöka fortsätta trots att poolen inte kan kopplas bort på ett korrekt sätt.

    En kapplöpningssituation mellan borttagningen av en lagringsenhet och exporten av poolen har också rättats.

    Säkrare överföring och krypterade säkerhetskopior

    OpenZFS innehåller funktionerna zfs send och zfs receive, som används för att överföra ögonblicksbilder och säkerhetskopior mellan lagringssystem.

    Den nya versionen rättar bland annat mottagning av delade stora block med ett kort avslutande datablock. Problem med zfs receive -x, återupptagna överföringar och en möjlig nullpekarkrasch i mottagningskoden har också åtgärdats.

    För delegerad administration tillkommer behörigheten send:encrypted. Den gör det möjligt att mer exakt bestämma vilka användare som får skicka krypterade dataset. En administratör kan därmed tillåta vissa former av ZFS-hantering utan att automatiskt ge användaren rätt att överföra krypterade data.

    En underhållsuppdatering med stor betydelse

    OpenZFS 2.4.4 innehåller även säkrare hantering av strängar och minne i biblioteket libzfs, bättre kontroll av enhetsbehörigheter och förbättrad automatisk expansion av pooler när partitionerade diskar får större kapacitet. Därtill kommer ett stort antal ändringar i byggsystem, tester, kontinuerlig integration och FreeBSD-stödet.

    För vanliga användare är de flesta förändringarna osynliga. Det är samtidigt ett gott tecken. Ett lagringssystem ska helst arbeta i bakgrunden, upptäcka problem innan de blir allvarliga och framför allt inte förlora några data.

    OpenZFS 2.4.4 är därför ingen revolutionerande version. Den är snarare ett omfattande servicearbete på en redan avancerad maskin – med nya verktyg för nödsituationer, stöd för kommande Linuxsystem och flera förstärkningar på de platser där små fel annars skulle kunna få stora konsekvenser.

    https://openzfs.org/wiki/Main_Page

  • OpenZFS 2.4.3: säkrare lagring och stöd för nyare Linux-kärnor

    OpenZFS 2.4.3 är här med bättre stöd för moderna Linux-kärnor, flera viktiga lagringsfixar och skärpt kontroll av komprimerad data. Uppdateringen riktar sig främst till servrar, NAS-system och andra miljöer där ZFS används för säker och pålitlig lagring.

    OpenZFS 2.4.3 har släppts som en ny underhållsversion av det öppna filsystemet och volymhanteraren ZFS. För den vanliga användaren kan versionsnumret låta ganska odramatiskt, men bakom uppdateringen finns flera viktiga förbättringar som gör lagringen stabilare, säkrare och bättre anpassad för moderna Linux- och FreeBSD-system.

    ZFS är mer än bara ett vanligt filsystem. Det är en hel lagringsplattform som kombinerar filsystem, volymhantering, kontrollsummor, snapshots, komprimering och skydd mot datakorruption. Därför används OpenZFS ofta i servrar, NAS-system, backup-lösningar och andra miljöer där dataintegritet är viktig.

    Stöd för Linux-kärnor upp till 7.0

    En av de viktigaste nyheterna i OpenZFS 2.4.3 är förbättrad kompatibilitet med Linux. Den nya versionen stöder Linux-kärnor från 4.18 upp till 7.0. Det betyder att OpenZFS nu kan användas på både äldre företagsdistributioner och nyare system med färska kärnor.

    Detta är särskilt viktigt eftersom ZFS ligger nära operativsystemets kärna. När Linux förändras måste OpenZFS anpassas för att fortsätta fungera korrekt. För användare som kör rullande distributioner, nyare servermiljöer eller testversioner av kommande Linux-kärnor är detta därför en betydelsefull förbättring.

    Även FreeBSD-användare får fortsatt stöd. OpenZFS 2.4.3 är kompatibelt med FreeBSD 13.3 och senare samt FreeBSD 14.0 och senare.

    Flera viktiga lagringsfixar

    OpenZFS 2.4.3 innehåller ett antal korrigeringar som rör själva lagringshanteringen. Bland annat finns förbättringar kring ZVOL, alltså virtuella blockenheter som kan användas ovanpå ZFS. Sådana används ofta för virtuella maskiner, databaser eller andra system som behöver blocklagring i stället för vanliga filer.

    Uppdateringen rättar också problem vid borttagning av loggenheter, så kallade log vdevs. Dessa används för att snabba upp synkrona skrivningar och är vanliga i mer avancerade lagringssystem.

    En annan viktig rättning gäller ett double-free-problem som kunde uppstå med block som klonats efter DDT-pruning. Det är en teknisk detalj, men i praktiken handlar det om att undvika fel i minneshanteringen när ZFS arbetar med deduplicering och blocktabeller.

    Strängare kontroll av komprimerad data

    ZFS har länge varit känt för sin robusta hantering av data. I OpenZFS 2.4.3 skärps kontrollerna ytterligare för komprimerade block. Systemet kontrollerar nu mer exakt att den uppackade datan får rätt längd när algoritmer som lz4, gzip och zstd används.

    Det här är viktigt eftersom komprimering innebär att data lagras i ett mer kompakt format. Om något blir fel vid lagring, läsning eller uppackning måste filsystemet kunna upptäcka det. Strängare kontroller minskar risken för att felaktig eller skadad data passerar obemärkt.

    OpenZFS 2.4.3 lägger även till fler kontroller av storleksfält, textsträngar och så kallade packed nvlists. Det gör systemet bättre på att upptäcka trasiga eller oväntade datastrukturer.

    Förbättringar för Linux-monteringar

    På Linux-sidan finns flera förbättringar kring hur monteringsalternativ hanteras. Det gäller bland annat read/write-flaggor och hanteringen av alternativet source vid montering.

    För användaren märks detta främst som bättre kompatibilitet och mer förutsägbart beteende när ZFS-dataset monteras. I servermiljöer, där monteringar ofta styrs via skript, systemd-enheter eller automatiska rutiner, kan sådana detaljer vara mycket viktiga.

    Versionen innehåller även fixar för äldre Linux-kärnor, bland annat kring fs_parse-API:t i Linux 5.6, samt en byggfix för aarch64. Det senare är viktigt för ARM-baserade system, till exempel vissa servrar, utvecklingskort och NAS-lösningar.

    Bättre verktyg för felsökning

    OpenZFS 2.4.3 förbättrar även verktygen runt filsystemet. Verktyget zdb kan nu upptäcka BRT- och DDT-läckor under blockgenomgång. Det gör det lättare för utvecklare och administratörer att hitta problem i komplexa lagringspooler.

    Även zarcstat har förbättrats. Verktyget kan nu upptäcka en ansluten L2ARC-enhet även om den ännu inte innehåller någon data. L2ARC används som en extra läscache, ofta på SSD, för att snabba upp åtkomst till ofta använd data.

    Färre störningar vid snapshots och NFS

    Snapshots är en av ZFS mest uppskattade funktioner. De gör det möjligt att frysa ett filsystems tillstånd vid en viss tidpunkt, utan att kopiera allt innehåll direkt. Det används ofta för backup, testmiljöer och snabb återställning.

    I OpenZFS 2.4.3 finns en förbättring som gör att systemet undviker att spola bort orelaterade NFS-exporter när en snapshot avmonteras. Det kan minska störningar i miljöer där ZFS används tillsammans med NFS-delningar.

    Versionen rättar också ett problem i hanteringen av PREVIOUSLY_REDACTED, där det sista blocket i vissa fall kunde tappas. Även detta är en detalj som främst berör avancerade ZFS-funktioner, men det visar att uppdateringen fokuserar på stabilitet och datakorrekthet.

    FreeBSD får också förbättringar

    För FreeBSD innehåller OpenZFS 2.4.3 bland annat stöd för att bygga openzfs.ko med sanitizers. Det är verktyg som hjälper utvecklare att hitta fel i koden, till exempel minnesproblem.

    Dessutom finns fixar för kernel panic och cachehantering. Det gör versionen viktig även för FreeBSD-användare, särskilt i server- och lagringsmiljöer där ZFS är vanligt förekommande.

    En underhållsversion som betyder mer än den låter

    OpenZFS 2.4.3 är inte en version fylld med stora nya funktioner för slutanvändare. Det är i stället en typisk underhållsversion: många små och tekniska förbättringar som tillsammans gör systemet säkrare och mer pålitligt.

    För den som använder ZFS i produktion är sådana uppdateringar ofta mycket viktiga. Lagringssystem ska inte vara spännande i vardagen. De ska bara fungera, skydda data och bete sig förutsägbart även när hårdvara, kärnor och operativsystem förändras.

    Med stöd för Linux-kärnor upp till 7.0, förbättrad hantering av monteringsalternativ, striktare kontroller av komprimerad data och flera viktiga lagringsfixar är OpenZFS 2.4.3 en uppdatering som främst handlar om trygghet. Det är kanske inte den mest spektakulära typen av nyhet, men för den som lagrar viktig data är det precis den sortens uppdatering man vill se.

    https://github.com/openzfs/zfs/releases/tag/zfs-2.4.3

    Faktaruta: OpenZFS 2.4.3

    Typ: Underhållsversion av OpenZFS

    Fokus: Stabilitet, säkerhet, kompatibilitet och förbättrad felsökning

    • Stöd för Linux-kärnor 4.18 till 7.0
    • Kompatibelt med FreeBSD 13.3+ och FreeBSD 14.0+
    • Striktare kontroll av uppackad data för lz4, gzip och zstd
    • Ny kontroll av krypteringsnyckel vid blockkloning i ZVOL
    • Fixar för log vdev-borttagning och double-free efter DDT-pruning
    • Förbättrad hantering av ro/rw-monteringar och source-alternativ på Linux
    • Fix för aarch64-byggfel och bättre kompatibilitet med Linux 5.6 fs_parse
    • zdb kan nu upptäcka BRT- och DDT-läckor
    • zarcstat känner nu igen en ansluten L2ARC-enhet även utan data
    • Minskar störningar genom att undvika att spola bort orelaterade NFS-exporter vid snapshot-avmontering
    • FreeBSD får stöd för att bygga openzfs.ko med sanitizers

Etikett: DDT

  • OpenZFS 2.4.4 stärker datasäkerheten och får stöd för Linux 7.2

    OpenZFS 2.4.4 har släppts med stöd för Linuxkärnan 7.2, ett nytt verktyg för att rädda låsta lagringspooler och flera korrigeringar som minskar risken för datafel. Uppdateringen riktar sig främst till administratörer av servrar och större lagringssystem, men förbättringarna berör alla som använder ZFS för att skydda viktiga filer. OpenZFS är mer än ett traditionellt filsystem.…

  • OpenZFS 2.4.3: säkrare lagring och stöd för nyare Linux-kärnor

    OpenZFS 2.4.3 är här med bättre stöd för moderna Linux-kärnor, flera viktiga lagringsfixar och skärpt kontroll av komprimerad data. Uppdateringen riktar sig främst till servrar, NAS-system och andra miljöer där ZFS används för säker och pålitlig lagring. OpenZFS 2.4.3 har släppts som en ny underhållsversion av det öppna filsystemet och volymhanteraren ZFS. För den vanliga…