• 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: smartctl

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