• OpenZFS 2.4: Snabbare, smartare och redo för framtidens lagring

    OpenZFS 2.4 är här och markerar ett viktigt steg framåt för ett av världens mest avancerade filsystem. Med stöd för de senaste Linux-kärnorna och flera kommande FreeBSD-versioner, smartare kvothantering och tydliga prestandaförbättringar stärker uppdateringen både stabilitet och effektivitet i allt från hemmaservrar till stora lagringsmiljöer.

    Här är en populärvetenskaplig artikel på svenska, anpassad för teknikintresserade läsare utan att kräva djup förkunskap:

    Det öppna och kraftfulla filsystemet OpenZFS har släppts i version 2.4, nästan ett år efter den förra stora uppdateringen. Den nya versionen bjuder på bredare systemstöd, tydliga prestandalyft och flera efterlängtade förbättringar för både administratörer och avancerade användare.

    OpenZFS används i allt från hemmabyggen och NAS-lösningar till stora företagsservrar, och är känt för sin höga dataintegritet tack vare funktioner som checksummor, snapshots, replikering och självläkande lagring.

    Brett stöd för Linux och FreeBSD

    På Linux-sidan är kompatibiliteten ovanligt generös. OpenZFS 2.4 fungerar med kärnor från Linux 4.18 hela vägen upp till 6.18, vilket innebär att både äldre företagsdistributioner och de allra senaste utvecklingskärnorna stöds.

    För FreeBSD riktar sig versionen mot både nuvarande och framtida huvudversioner:

    • FreeBSD 14
    • FreeBSD 15
    • FreeBSD 16

    Det gör OpenZFS till ett tryggt val även på lång sikt.

    Automatiska kvoter – mindre manuellt arbete

    En av de mest uppskattade nyheterna är stöd för standardkvoter för användare, grupper och projekt. Det innebär att administratörer kan sätta lagringsgränser som automatiskt gäller för nya dataset.

    Resultatet:

    • Mindre manuell konfiguration
    • Enhetliga lagringsregler
    • Bättre kontroll i större miljöer

    Perfekt för allt från skolor till företagsservrar.

    Smartare lagring under hög belastning

    När många skriver data samtidigt kan lagringsenheter bli fragmenterade, vilket försämrar prestandan. OpenZFS 2.4 introducerar därför en ny enhetlig algoritm för allokeringsbegränsning, som minskar fragmentering när systemet är hårt belastat.

    Dessutom kan ZFS nu tillfälligt ”pausa” långsamma vdevs (lagringsenheter som plötsligt blir tröga), så att resten av lagringspoolen fortsätter fungera smidigt trots delvisa hårdvaruproblem.

    Tydliga prestandalyft

    OpenZFS 2.4 innehåller flera förbättringar som märks i praktiken:

    • Snabbare kryptering
      AES-GCM-kryptering använder nu AVX2-instruktioner, vilket ger högre hastighet på moderna processorer.
    • Robust Direct IO
      I/O-operationer som inte är korrekt justerade faller nu automatiskt tillbaka till en lättviktig, okachelagd metod – stabilt utan att bli långsamt.
    • Bättre användning av special-vdevs
      ZIL-data och små block kan i fler fall placeras på snabba specialenheter, även för ZVOL:er och utan krav på tvåpotensstorlekar.

    Effektivare verktyg för drift och underhåll

    Även administrationsverktygen har fått kärlek:

    • zfs rewrite -P kan bevara logiska födelsetider, vilket minskar storleken på inkrementella sändningar
    • Pool-kommandon kan köras på alla importerade pooler samtidigt med -a
    • Det går att scrubba specifika tidsintervall
    • Blockkloningstabeller kan förladdas för snabbare åtkomst

    Allt detta sparar både tid och systemresurser.

    Stabilare RAIDZ och färre hörnfall

    I bakgrunden har mycket arbete lagts på tillförlitlighet:

    • Förbättrad RAIDZ-hantering
    • Smartare ashift-beteende
    • Buggrättningar för deduplicering, gang blocks och blockkloning

    Dessa förbättringar är särskilt viktiga för stora och hårt utnyttjade lagringspooler.

    Framåtblickande förändringar

    OpenZFS 2.4 introducerar också nya feature flags, bland annat för:

    • Fysisk omskrivning av data
    • Förbättrad blockkloning
    • Dynamiska gang headers

    Samtidigt har flera gamla modulinställningar städats bort som en del av projektets långsiktiga modernisering.

    Sammanfattning

    OpenZFS 2.4 är ingen kosmetisk uppdatering – det är ett rejält kliv framåt. Med:

    • Stort kernelstöd
    • Automatiska kvoter
    • Förbättrad prestanda
    • Smartare felhantering
    • Effektivare administrationsverktyg

    …befäster OpenZFS sin position som ett av de mest avancerade och pålitliga filsystemen i den öppna källkodsvärlden.

    Ett självklart val för dig som tar lagring på allvar – oavsett om det gäller hemmaservern eller datacentret.

    Faktaruta: OpenZFS 2.4
    Vad är det?
    OpenZFS är ett öppet filsystem och volymhanterare med snapshots, checksummor, replikering och fokus på dataintegritet.
    Plattformsstöd
    Linux-kärnor: 4.18–6.18
    FreeBSD: 14, 15, 16
    Nyheter i korthet
    • Standardkvoter för användare, grupper och projekt
    • Ny “allocation throttling” för mindre vdev-fragmentering vid hög last
    • Snabbare kryptering (AVX2-acceleration för AES-GCM)
    • Robustare Direct IO (fallback till lättviktig okachelagd I/O vid “unaligned”)
    • ZIL och special_small_blocks kan utnyttja special-vdevs i fler fall (även ZVOL)
    Drift & underhåll
    zfs rewrite -P kan bevara logiska “birth times”
    • Pool-åtgärder för alla importerade pooler med -a
    • Mer flexibel scrub (tidsintervall) och prefetch av BRT-tabeller



  • Bcachefs 1.33 – ett stort steg framåt för Linux moderna filsystem

    Det moderna Linux-filsystemet Bcachefs står inför sin kanske största förändring hittills. Med version 1.33 får det en helt ny “reconcile”-motor som både sköter data och metadata, automatiskt hanterar replikering och återhämtning och dessutom lovar bättre prestanda under tung belastning. Samtidigt har Bcachefs nyligen kastats ut ur Linuxkärnan och flyttat till ett fristående DKMS-paket, vilket gör att framtiden nu formas utanför mainline – men med fortsatt ambition att konkurrera med tungviktarna Btrfs och ZFS.

    Det moderna Linux-filsystemet Bcachefs har släppt version 1.33, och utvecklaren Kent Overstreet beskriver det som den största nyheten på nästan två år. Det är ingen marginell uppdatering utan ett tydligt arkitektoniskt kliv som stärker Bcachefs ambition att konkurrera med etablerade filsystem som Btrfs och ZFS.

    Den största nyheten är en helt omarbetad så kallad reconcile-motor, som förenar hantering av både data och metadata, automatiserar replikering och återställning samt gör systemet mer robust under hög belastning.

    Vad är Bcachefs – kort bakgrund

    Bcachefs är ett modernt copy-on-write-filsystem för Linux med inbyggt stöd för kryptering, snapshots, komprimering, checksummor och replikering. Målet har varit att kombinera den funktionsrikedom man hittar i ZFS med tät Linux-integration och hög prestanda.

    Under 2025 hamnade projektet dock i blåsväder. Efter en offentlig konflikt mellan Linus Torvalds och Bcachefs huvudutvecklare Kent Overstreet stoppades fortsatt utveckling i Linux 6.17. När Linux 6.18 släpptes togs hela Bcachefs-koden bort ur kärnträdet.

    Detta hade kunnat innebära slutet för filsystemet, men projektet valde i stället en ny väg.

    Ut ur kärnan – men inte död

    För att kunna fortsätta utvecklas och användas distribueras Bcachefs nu som en extern kernelmodul via DKMS, på liknande sätt som exempelvis proprietära grafikdrivrutiner. Det innebär att filsystemet inte längre är en del av Linuxkärnan, men ändå kan användas så länge modulen kan byggas mot den aktuella kernelversionen.

    Det är i detta nya sammanhang som Bcachefs 1.33 lanseras.

    Reconcile – hjärtat i version 1.33

    Den nya reconcile-motorn, tidigare kallad rebalance_v2, är den största förändringen i versionen. Den ansvarar nu för både användardata och metadata i ett och samma system.

    Motorn reagerar automatiskt på diskfel, borttagna enheter och ändrade replikeringsinställningar. Data eller metadata som blivit underreplikerad återskapas automatiskt utan att administratören behöver köra särskilda reparationskommandon.

    Flera äldre kommandon har därför blivit överflödiga och tagits bort. I stället introduceras nya och tydligare verktyg, bland annat reconcile status och reconcile wait, som ger bättre överblick över systemets tillstånd.

    Smartare schemaläggning och jämnare prestanda

    Reconcile-arbetet har även fått en mer genomtänkt intern prioritering. Degraderade datasegment behandlas först, samtidigt som mekaniska hårddiskar hanteras på ett sätt som minimerar onödiga sökrörelser.

    Detta ger mindre störningar i normal drift och betydligt jämnare prestanda, särskilt i system som kombinerar SSD och HDD.

    Tekniska förbättringar under ytan

    Förutom de synliga förändringarna innehåller version 1.33 omfattande förbättringar i själva backend-koden. Bland annat har sammanslagning av B-trädnoder gjorts asynkron, vilket reducerar låsning och förbättrar skalbarhet.

    Loggning och räknare har städats upp, och felrapporter är nu tydligare uppdelade mellan mjuka och hårda fel. Dessutom har återställningsprocesser fått bättre framstegsrapportering, vilket gör dem lättare att följa i praktiken.

    Utvecklarna har även påbörjat ett långsiktigt moderniseringsarbete av kodbasen genom att ta bort många äldre goto-baserade felhanteringsvägar. Detta ses som ett förberedande steg inför en möjlig framtida övergång till Rust.

    Nya monterings- och filsystemsval

    Bcachefs 1.33 introducerar också nya valmöjligheter för avancerade användare och administratörer. Bland annat tillkommer mount_trusts_udev, som ger bättre kontroll över hur lagringsenheter identifieras, samt writeback_timeout, som styr hur länge data får ligga i skrivcache innan den skrivs till disk.

    Dessa inställningar ger finare kontroll över beteendet i både desktop- och servermiljöer.

    Distributionsläget i dag

    Eftersom Bcachefs inte längre är en del av huvudkärnan varierar stödet mellan olika Linuxdistributioner. Arch Linux, Gentoo, Void och Fedora tillhandahåller färdiga paket. Debian och Ubuntu saknar officiellt stöd men kan använda Bcachefs via projektets externa APT-förråd på apt.bcachefs.org.

    openSUSE erbjuder paket genom Open Build Service, medan NixOS i dagsläget endast inkluderar användarverktygen och inte kernelmodulen.

    Samtliga distributioner är numera beroende av en ut-ur-trädet-modul, vanligen via DKMS, för att aktivera Bcachefs.

    Slutsats

    Trots att Bcachefs förlorat sin plats i Linuxkärnan visar version 1.33 att projektet är långt ifrån nedlagt. Den nya reconcile-motorn, förbättrad självläkning och omfattande intern upprustning gör detta till ett av de mest betydelsefulla släppen hittills.

    För avancerade Linuxanvändare, systemadministratörer och lagringsentusiaster förblir Bcachefs ett intressant och tekniskt ambitiöst filsystem att följa.

    https://bcachefs.org

    Bcachefs 1.33 – kort fakta

    • Ny ”reconcile”-motor som hanterar både data och metadata.

    • Automatiserad replikering och återhämtning vid diskfel.

    • Förbättrad prestanda, loggning och felrapportering under hög last.

    • Körs nu som DKMS-modul i stället för att ligga i Linuxkärnans huvudträd.

    • Paket finns bland annat för Arch, Gentoo, Void och Fedora.

  • Så kollar du hur hårddisken mår i Linux.

    SMART (Self-Monitoring, Analysis and Reporting Technology) är en inbyggd funktion i hårddiskar och SSD-enheter som kontinuerligt övervakar deras hälsa. Genom att analysera parametrar som temperatur, driftstimmar och antal defekta sektorer kan SMART ge tidiga varningssignaler om en enhet håller på att gå sönder. I Linux kan man med hjälp av paketet smartmontools snabbt kontrollera diskens status, köra självtester och sätta upp automatiserad övervakning. Denna artikel förklarar tekniken bakom SMART och visar hur du i praktiken kan kontrollera hårddiskars och SSD:ers hälsa i olika Linux-distributioner.

    Vad är SMART?

    SMART står för Self-Monitoring, Analysis and Reporting Technology. Det är en standardiserad teknik som finns inbyggd i nästan alla hårddiskar (HDD) och SSD-enheter.

    Syftet är att övervaka diskens hälsa i realtid och varna innan fel leder till dataförlust. SMART gör detta genom att logga olika attribut (mätvärden) som visar hur disken mår.

    Exempel på viktiga attribut:

    • Reallocated Sector Count – Antal sektorer som markerats defekta och ersatts med reservsektorer. Ett ökande värde betyder att disken försämras.
    • Current Pending Sector Count – Antal sektorer som är osäkra och väntar på omallokering. En stark varningssignal.
    • Power-On Hours – Hur länge enheten har varit igång. Ger en bild av diskens ålder.
    • Temperature – Diskens arbetstemperatur. Hög temperatur förkortar livslängden.
    • Wear Leveling Count (SSD) – Mäter hur mycket av flashminnets livslängd som har förbrukats.

    SMART fungerar genom att disken själv registrerar dessa värden och rapporterar dem till operativsystemet via ATA/SATA eller NVMe-protokoll. Systemadministratören kan sedan läsa ut informationen med verktyg som smartctl.

    Praktisk guide: Kontrollera diskar med SMART i Linux

    1. Installera verktyget smartmontools

    Debian/Ubuntu

    sudo apt update
    sudo apt install smartmontools

    Red Hat / CentOS / Fedora

    sudo dnf install smartmontools

    (äldre system:)

    sudo yum install smartmontools

    Arch Linux / Manjaro

    sudo pacman -S smartmontools

    openSUSE

    sudo zypper install smartmontools

    2. Identifiera disken

    Lista anslutna enheter:

    lsblk

    eller

    sudo fdisk -l

    Notera diskens beteckning, t.ex. /dev/sda, /dev/sdb, eller /dev/nvme0n1.


    3. Kontrollera SMART-stöd och status

    Visa information om enheten

    sudo smartctl -i /dev/sdX

    Snabb hälsokontroll

    sudo smartctl -H /dev/sdX
    • PASSED → Disken rapporterar inga kritiska fel.
    • FAILED → Disken är defekt, byt ut den.

    4. Läs ut detaljerad SMART-data

    sudo smartctl -A /dev/sdX

    Här får du fram attribut som:

    • Antal driftstimmar
    • Temperatur
    • Omallokerade sektorer
    • Pending-sektorer
    • SSD-slitagevärden

    5. Kör SMART-självtester

    SMART kan själv testa diskens hälsa genom interna tester.

    Kort test (ca 2 minuter):

    sudo smartctl -t short /dev/sdX

    Se resultatet:

    sudo smartctl -l selftest /dev/sdX

    Långt test (kan ta flera timmar):

    sudo smartctl -t long /dev/sdX

    Se resultatet:

    sudo smartctl -l selftest /dev/sdX

    6. Tolkning av resultat

    • Reallocated_Sector_Ct > 0 → Dålig disk, byt ut så snart som möjligt.
    • Current_Pending_Sector > 0 → Risk för dataförlust, byt disk.
    • Temperature > 55°C → För hög, kontrollera kylning.
    • Power_On_Hours > 40.000 h → Disken är gammal, ökad risk för fel.
    • PASSED men med varningar → SMART kan missa vissa fel, gör alltid backup.

    7. Löpande övervakning med smartd

    För servrar kan du köra smartd, en bakgrundstjänst som övervakar alla diskar och skickar varningar.

    Aktivera tjänsten:

    sudo systemctl enable smartd
    sudo systemctl start smartd

    Konfiguration:

    /etc/smartd.conf

    Här kan du ange e-postadress för automatiska varningar.

    Slutsats

    SMART är en inbyggd teknik för självdiagnostik i hårddiskar och SSD\:er. Med hjälp av smartmontools i Linux kan administratörer:

    • Kontrollera diskars hälsa.
    • Köra självtester.
    • Upptäcka problem i tid.
    • Få automatiska varningar via smartd.

    Det är en viktig del i förebyggande underhåll. Men kom ihåg:
    👉 SMART ersätter aldrig regelbundna säkerhetskopior.

    Lite exempel

    För ut denna log när jag skriver : smartctl /dev/sdc

    IDSizeValueDescription
    0x000a22Device-to-host register FISes sent due to a COMRESET
    0x000120Command failed due to ICRC error
    0x000320R_ERR response for device-to-host data FIS
    0x000420R_ERR response for host-to-device data FIS
    0x000620R_ERR response for device-to-host non-data FIS
    0x000720R_ERR response for host-to-device non-data FIS

    SATA Phy Event Counters (GP Log 0x11)

    Dessa värden loggas av SATA-fysiklagret (den elektriska/kommunikationsdelen av protokollet).
    De visar olika felhändelser eller specialfall vid kommunikation mellan disk och värddator.

    IDValueBeskrivningFörklaring
    0x000a2Device-to-host register FISes sent due to a COMRESETDisken har skickat Register FIS (Frame Information Structure) till värden p.g.a. en COMRESET (en återställningssignal i SATA-länken). Två gånger har länken återställts.
    0x00010Command failed due to ICRC errorInga kommandon har misslyckats på grund av ICRC (Interface Cyclic Redundancy Check) fel. Ett ICRC-fel innebär korrupt data mellan värd och disk.
    0x00030R_ERR response for device-to-host data FISInga R_ERR (error responses) inträffade vid dataöverföring från enheten till värden.
    0x00040R_ERR response for host-to-device data FISInga felrapporter från värden till enheten när data skickades åt det hållet.
    0x00060R_ERR response for device-to-host non-data FISInga fel vid icke-dataöverföringar från disken (t.ex. kontroll/kommandoramar).
    0x00070R_ERR response for host-to-device non-data FISInga fel vid icke-dataöverföringar från värden till disken.

    Tolkningar

    • Värden på 0 = inga fel, vilket är bra.
    • 0x000a = 2 betyder att SATA-länken har återställts två gånger.
      Det behöver inte vara ett problem, men om värdet ökar ofta kan det tyda på:
    • Dåliga kablar eller kontakter
    • Strömproblem
    • Buggar i kontroller/drivrutiner
    SMART – teknisk faktaruta

    SMART (Self-Monitoring, Analysis and Reporting Technology) är inbyggd i HDD/SSD och övervakar hälsan via interna sensorer och räknare. Enheten lagrar attribut i firmware och rapporterar dem till värddatorn. Tester körs internt i disken och resultat loggas för felsökning.


    Terminologi (SMART-attribut & status)
    • ATTRIBUTE / ID – Namn och numeriskt ID för mätvärdet.
    • VALUE / WORST / THRESH – Normaliserade värden (ofta 100→0 eller 200→0). FAIL inträffar när VALUE ≤ THRESH enligt tillverkarens gräns.
    • RAW_VALUE – Rå räknare (t.ex. antal sektorer, fel, grader °C).
    • TYPEPre-fail (tidig varning) eller Old_age (slitage/ålder).
    • STATUS (smartctl -H)PASSED / FAILED – snabb sammanfattning.
    • TesttyperShort (snabb ytkontroll), Long/Extended (hela ytan), Conveyance (transportskador, främst HDD), Selective (delmängd).
    • LoggarSelf-test log, Error log (senaste I/O-fel med LBA).
    Vanliga indikatorer
    • Reallocated_Sector_Ct > 0 → reservsektorer har tagits i bruk (slitage/problem på medier).
    • Current_Pending_Sector > 0 → osäkra sektorer som väntar på omallokering (hög risk).
    • UDMA_CRC_Error_Count > 0 → ofta kabel/kontaktproblem (SATA).
    • Temperature > ~55 °C → kylproblem, förkortad livslängd.
    • SSD-specifiktWear_Leveling_Count/Media_Wearout (SATA), Percentage Used (NVMe).

    Kompatibilitet
    • HDD (SATA/PATA/SAS) – Ja, stöds brett via smartctl (SAS ofta med HBA-pass-through).
    • SSD (SATA) – Ja, SMART-attribut för slitage, omallokering, temperatur m.m.
    • NVMe-SSD – Ja, via NVMe SMART/Health-logg. smartctl och nvme-cli kan läsa dessa.
    • USB-kabinett/dockorBeror på brygga. Kräver SAT-pass-through; prova smartctl -d sat /dev/sdX. Vissa adaptrar exponerar inte SMART alls.
    • Virtualisering – kräver enhets-/controller-pass-through för tillförlitliga värden.
    Snabbkommandon (Linux)
    # Identifiera enhet
    lsblk    # t.ex. /dev/sda, /dev/sdb, /dev/nvme0n1
    
    # HDD/SSD (SATA)
    sudo smartctl -iH -A /dev/sdX       # info + hälsa + attribut
    sudo smartctl -t short  /dev/sdX    # kort test
    sudo smartctl -t long   /dev/sdX    # långt test
    sudo smartctl -l selftest /dev/sdX  # testlogg
    
    # NVMe-SSD
    sudo smartctl -a /dev/nvme0         # SMART/Health från controllern
    sudo nvme smart-log /dev/nvme0      # alternativ via nvme-cli
      
    Begränsningar och råd
    • SMART är statistiskt/heuristiskt – plötsliga fel kan ske utan förvarning. Ha alltid backup.
    • Tolkning varierar mellan tillverkare; jämför trender över tid snarare än enstaka värden.
    • Kombinera med yttester (t.ex. badblocks) vid osäkerhet.

Etikett: lagring

  • OpenZFS 2.4: Snabbare, smartare och redo för framtidens lagring

    OpenZFS 2.4 är här och markerar ett viktigt steg framåt för ett av världens mest avancerade filsystem. Med stöd för de senaste Linux-kärnorna och flera kommande FreeBSD-versioner, smartare kvothantering och tydliga prestandaförbättringar stärker uppdateringen både stabilitet och effektivitet i allt från hemmaservrar till stora lagringsmiljöer. Här är en populärvetenskaplig artikel på svenska, anpassad för teknikintresserade…

  • Bcachefs 1.33 – ett stort steg framåt för Linux moderna filsystem

    Det moderna Linux-filsystemet Bcachefs står inför sin kanske största förändring hittills. Med version 1.33 får det en helt ny “reconcile”-motor som både sköter data och metadata, automatiskt hanterar replikering och återhämtning och dessutom lovar bättre prestanda under tung belastning. Samtidigt har Bcachefs nyligen kastats ut ur Linuxkärnan och flyttat till ett fristående DKMS-paket, vilket gör…

  • Så kollar du hur hårddisken mår i Linux.

    SMART (Self-Monitoring, Analysis and Reporting Technology) är en inbyggd funktion i hårddiskar och SSD-enheter som kontinuerligt övervakar deras hälsa. Genom att analysera parametrar som temperatur, driftstimmar och antal defekta sektorer kan SMART ge tidiga varningssignaler om en enhet håller på att gå sönder. I Linux kan man med hjälp av paketet smartmontools snabbt kontrollera diskens…