• 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

Etikett: OpenZFS 2.4.4

  • 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.…