Praćenje zdravlja diska s pomoću smartctl i smartd | INTROSERV
EUR
european

EUR

usa

USD

Croatia Hr
Ex. VAT Ex. VAT 0%

Praćenje zdravlja diska s pomoću smartctl i smartd

Uvod

smartctl je konzolna uslužna aplikacija iz paketa smartmontools, dizajnirana za rad s tehnologijom S.M.A.R.T. (Self-Monitoring, Analysis and Reporting Technology) implementiranom u modernim pogonskim uređajima za pohranu.

Primjeri upotrebe:

  • poslužitelji hosting tvrtki;
  • VPS/VDS čvorovi;
  • namjenski poslužitelji;
  • datotečni poslužitelji;
  • sustavi za sigurnosne kopije;
  • korporativne infrastrukture.

Koje zadatke rješava:

  • rano otkrivanje degradacije diska;
  • predviđanje kvarova pogona;
  • smanjenje rizika od gubitka podataka;
  • automatizacija nadzora zdravlja HDD, SSD, NVMe;
  • analiza fizičkih problema u podsustavu diska.

Info

Proaktivno SMART praćenje omogućuje identificiranje problema prije stvarnog kvara diska, što je kritično važno za proizvodna okruženja.

Zahtjevi i preduvjeti

Podržani OS i verzije:

Linux:

  • Debian 10+
  • Ubuntu 18.04+
  • RHEL / AlmaLinux / Rocky Linux 8+
  • CentOS 7 (podržan, ali zastario)
  • FreeBSD 12+

Windows (putem smartmontools, ograničena upotreba)

Primjeri u nastavku su za Linux.

Potrebni softver i paketi:

  • paket smartmontools
  • pristup /dev/sdX, /dev/nvmeX
  • instaliran systemd (za smartd)

Prava pristupa:

  • potrebne root privilegije
  • ili pristup putem sudo

Preliminarne provjere

Pregled popisa diskova u sustavu:

lsblk -d -o NAME,MODEL

Pregled i osnovni pojmovi

Ključni pojmovi

  • SMART – ugrađeni sustav samodijagnostike diska
  • Atributi – atributi stanja (Reallocated_Sector_Ct, Pending_Sectors, itd.)
  • Self-test – ugrađeni testovi pogona
  • smartctl – CLI uslužni program za upravljanje SMART-om
  • smartd – automatski nadzorni demon

Kako radi

  1. Disk samostalno prikuplja statistiku
  2. smartctl čita te podatke
  3. smartd analizira granične vrijednosti i događaje
  4. Obavijesti se šalju kada se pojave problemi

Logika tijeka rada

Disk > SMART atributi > smartctl > smartd > zapisnik / email / nadzor

Osnovna postavka i upotreba smartctl-a

Instalacija uslužnog programa smartmontools

Rad s SMART-om nije moguć bez instaliranog paketa smartmontools, koji uključuje uslužne programe smartctl (ručni rad s diskovima) i smartd (demon za nadzor u pozadini).

Instalacija se izvodi pomoću standardnih alata za upravljanje paketima distribucije.

Debian / Ubuntu

sudo apt update

sudo apt install smartmontools

RHEL / AlmaLinux / Rocky Linux

sudo dnf install smartmontools

Nakon instalacije, uslužni programi postaju dostupni u sustavu i spremni su za upotrebu bez dodatne inicijalizacije.

Provjera verzije i dostupnosti smartctl-a

Kao prvi korak, preporučuje se provjeriti je li uslužni program ispravno instaliran i dostupan u sustavu:

smartctl --version

Naredba ispisuje verziju paketa i popis podržanih tehnologija.

Ovo vam omogućuje:

  • osigurati da se koristi ažurirana verzija;
  • provjeriti podršku za NVMe, RAID i druge vrste uređaja.

Provjera podrške za SMART na određenom disku

Sljedeće, potrebno je provjeriti podržava li sam pogon SMART tehnologiju i je li omogućena na razini uređaja.

sudo smartctl -i /dev/sda

Primjer ispravnog izlaza:

SMART support is: Available - device has SMART capability. SMART support is: Enabled

Available – disk fizički podržava SMART;
Enabled – prikupljanje SMART podataka je uključeno i dostupno za čitanje.

Ako je SMART podržan, ali onemogućen, to se često vidi na novim ili prethodno neiskorištenim diskovima. U takvom slučaju, potrebno ga je ručno omogućiti:

sudo smartctl -s on /dev/sda

Nakon toga, preporučuje se ponovno pokrenuti naredbu smartctl -i kako biste osigurali da je SMART aktiviran.

Pregled SMART atributa i početna procjena zdravlja

Glavna praktična vrijednost SMART-a leži u njegovim atributima – numeričkim vrijednostima koje odražavaju stanje površine diska, mehanike i elektronike.

Za pregled atributa, koristite naredbu:

sudo smartctl -A /dev/sda

Izlaz sadrži tablicu atributa s njihovim trenutnim vrijednostima i poviješću. Prije svega, pažnju treba obratiti na sljedeće pokazatelje:

Ključna polja u izlazu:

  • VALUE (Trenutna vrijednost): Normalizirana vrijednost atributa (obično od 1 do 100, 100 je idealno). Disk se smatra neispravnim ako je VALUE ≤ THRESH.
  • WORST (Najgora vrijednost): Najgora vrijednost koja je postignuta tijekom rada diska.
  • THRESH (Prag): Minimalna dopuštena vrijednost za VALUE. Prekoračenje praga (VALUE ≤ THRESH) znak je kritičnog stanja.
  • RAW_VALUE: "Sirova", nenormalizirana vrijednost atributa. Ovo je ono što treba analizirati za procjenu trošenja i brojanje događaja.

Ključni atributi za HDD (tradicionalni tvrdi diskovi):

  • Reallocated_Sector_Ct: Povećanje ukazuje na fizičku degradaciju površine.
  • Current_Pending_Sector (Sektori na čekanju za premještanje): Nestabilni sektori. Čak i jedna nenulta vrijednost je znak upozorenja.
  • Offline_Uncorrectable (Nepopravljive pogreške): Sektori koji se nisu mogli pročitati.
  • Power_On_Hours: Ukupno vrijeme rada diska.

Ključni atributi za SSD-ove:

  • Retired_Block_Count: Ekvivalent Reallocated_Sector_Ct za HDD-ove. Prikazuje broj blokova izvan upotrebe. Čak i niska vrijednost s VALUE=100 može biti normalna.
  • Reallocated_Event_Count: Broj događaja premještanja.
  • SSD_Life_Left ili Percentage Used/Media Wearout Indicator: Postotak preostalog vijeka trajanja (ili trošenja). Niska vrijednost (npr. <10%) znak je nadolazećeg kvara.
  • Wear_Range_Delta: Pokazatelj ravnomjernosti trošenja po memorijskim ćelijama.
  • Power_On_Hours_and_Msec: Ukupno vrijeme rada.
  • Lifetime_Writes_GiB / Lifetime_Reads_GiB (Atributi 241, 242): Ukupni volumen podataka napisanih/pročitanih.

Ključni atributi za NVMe (putem smartctl -a /dev/nvme0):

  • Percentage Used: Postotak potrošnje izdržljivosti pisanja. Primarni pokazatelj trošenja.
  • Media and Data Integrity Errors: Pogreške integriteta podataka.
  • Critical Warning: Zastavice kritičnih upozorenja.
  • Temperature: Trenutna temperatura.

U ovoj fazi, administrator stječe opće razumijevanje stanja diska i može identificirati očite znakove problema.

Napredna konfiguracija i praktični scenariji

SMART podržava ugrađene samoprovjere, koje izvodi sam pogon bez sudjelovanja operativnog sustava.

Kratki test je dizajniran za brzu provjeru ključnih komponenti:

sudo smartctl -t short /dev/sda

Dugi test izvodi potpuni pregled površine i traje znatno više vremena:

sudo smartctl -t long /dev/sda

Nakon završetka testa, potrebno je provjeriti rezultate:

sudo smartctl -l selftest /dev/sda

Izlaz pokazuje:

  • vrstu testa;
  • status završetka;
  • prisutnost ili odsutnost pogrešaka.

Neuspješan test je izravan razlog za pripremu zamjene diska.

Rad s RAID kontrolerima

Hardverski RAID kontroleri često skrivaju SMART podatke od sustava. U takvim slučajevima, potrebno je eksplicitno navesti vrstu uređaja.

Primjer za LSI kontroler:

smartctl -a -d megaraid,0 /dev/sda

Gdje:

  • -a – ključ za ispis svih dostupnih SMART informacija (atributi, zapisnici, pogreške, ukupna procjena zdravlja).
  • -d – ključ za specificiranje vrste uređaja.
  • megaraid – govori SMART upravljačkom programu da je disk iza LSI/Broadcom kontrolera (često korišten u poslužiteljima).
  • 0 – broj fizičkog diska (PD, Physical Drive) u RAID nizu. Ovo nije sda, već jedinstveni ID koji dodjeljuje kontroler. Može se pronaći pomoću alata za upravljanje kontrolerom (npr. storcli ili MegaCLI).
  • /dev/sda – u ovom kontekstu, ovo nije pravi disk, već pseudo-uređaj koji predstavlja sam RAID kontroler u sustavu. Obično je to /dev/sgX (SCSI Generic) ili jednostavno /dev/sda ako je kontroler stvorio virtualni disk.

Tipična pogreška kada vrsta uređaja nije specificirana:

SMART support is: Unavailable

To ne znači da SMART nije dostupan – samo da smartctl nije mogao automatski odrediti put do fizičkog diska. Rješenje je ispravno specificirati parametar -d.

Dijagnostika i rješavanje problema

Znakovi mogućih kvarova:

  • povećanje vrijednosti Reallocated_Sector_Ct;
  • nenulta Current_Pending_Sector;
  • pogreške programa/brisanja (Program_Fail_Count, Erase_Fail_Count);
  • pogreške samoprovjere;
  • povećanje latencije I/O;
  • poruke o pogreškama u sistemskim zapisnicima.

Analiza zapisnika:

journalctl -u smartd

dmesg | grep -i error

Objašnjenje:
Pending Sectors > 0 – visok rizik od kvara;
Reallocated Sectors se povećavaju – progresivna degradacija;
Self-test FAILED – disk mora biti zamijenjen.

Identifikacija izvora problema

Kako bi se isključili lažni pozitivni rezultati, važno je povezati SMART podatke s stvarnim opterećenjem.

iostat -x 1

iotop

Provjera gdje je disk montiran:

lsblk -o NAME,SERIAL,MOUNTPOINT

Identifikacija kontrolera:

lspci | grep -i raid

Dodatne metrike:

  • temperatura iznad 50 °C;
  • povećanje CRC pogrešaka;
  • nestabilne SMART vrijednosti.

Konfiguracija obavijesti administratora kada SMART metrike dosegnu granične vrijednosti

Sama prisutnost SMART podataka još ne jamči sigurnost infrastrukture. Ključni element nadzora je pravovremena obavijest administratora u trenutku kada stanje diska počne propadati, ali kvar još nije nastupio.

Mehanizam obavijesti omogućuje vam:

  • otkriti degradaciju pogona u ranoj fazi;
  • planirati zamjenu diska unaprijed;
  • izbjeći hitne zastoje i gubitak podataka;
  • raditi unutar planiranih prozora održavanja.

U smartmontools, demon smartd je odgovoran za slanje obavijesti. Automatski prati promjene u SMART atributima i reagira na odstupanja od norme.

Načelo rada smartd obavijesti

Demon smartd funkcionira kao pozadinska usluga i obavlja sljedeće zadatke:

  1. Povremeno ispituje SMART atribute diska.
  2. Uspoređuje trenutne vrijednosti s: tvorničkim pragovima, prethodnim vrijednostima (dinamika promjena).
  3. Otkriva: rast kritičnih atributa, pojavu novih pogrešaka, neuspjehe samoprovjere.
  4. Generira obavijest i šalje je administratoru.

Zahtjevi za rad obavijesti

Prije konfiguracije, potrebno je osigurati sljedeće:

  • u sustavu je instaliran i ispravno konfiguriran MTA (Postfix, Exim, Sendmail, ssmtp);
  • poslužitelj je sposoban slati odlaznu poštu;
  • definirana je adresa e-pošte administratora za primanje obavijesti.

Primjer konfiguracije ssmtp – laganog i jednostavnog MTA za slanje pošte iz sustava.

Instalacija:

Debian/Ubuntu:

sudo apt update && sudo apt install ssmtp mailutils -y

RHEL:

sudo dnf install ssmtp mailx

Kreirajte konfiguracijsku datoteku:

sudo nano /etc/ssmtp/ssmtp.conf

i uredite sadržaj:

# Zadana adresa pošiljatelja [email protected] # SMTP poslužitelj i port vašeg pružatelja usluga e-pošte mailhub=smtp.your-domain.com:587 # Alternativni primjer: # mailhub=smtp.gmail.com:587 # Za Gmail # Podaci za autentifikaciju [email protected] AuthPass=your-password # Postavke enkripcije UseSTARTTLS=YES # Koristi STARTTLS UseTLS=YES # Koristi TLS FromLineOverride=YES # Dozvoli prepisivanje adrese pošiljatelja # Ime hosta (navedite ime vašeg poslužitelja) hostname=server1.your-domain.com # možete koristiti hostname=localhost ili navesti stvarno ime sustava

Spremite datoteku i konfigurirajte prava pristupa:

sudo chmod 640 /etc/ssmtp/ssmtp.conf

sudo chown root:mail /etc/ssmtp/ssmtp.conf

Konfigurirajte pošiljatelje (revaliases):

sudo nano /etc/ssmtp/revaliases

root:[email protected]:smtp.your-domain.com:587 www-data:[email protected]:smtp.your-domain.com:587

Za uspješno slanje poruka, sljedeći portovi moraju biti otvoreni na poslužitelju: 587 (primarni za slanje s STARTTLS enkripcijom), ili 25 (standardni SMTP), 465 (sigurni SMTP s SSL-om), ako su predviđeni konfiguracijom.

Osnovni test slanja pošte:

echo "SMART testna poruka" | mail -s "SMART test obavijesti" [email protected]

Možete eksplicitno navesti pošiljatelja:

echo "SMART testna poruka" | mail -s "SMART test obavijesti" -a "From: [email protected]" [email protected]

Ili izravno putem ssmtp:

echo "SMART testna poruka" | ssmtp [email protected]

[email protected] – adresa primatelja na koju će poruka biti poslana.

Info

Ako e-pošta nije isporučena, daljnja konfiguracija smartd-a je besmislena dok se ne riješe problemi s isporukom pošte.

Konfiguracija SMART obavijesti obavlja se u datoteci:

/etc/smartd.conf

Primjer jednostavne radne konfiguracije:

/dev/sda -a -o on -S on -m [email protected]

Parametri:

  • /dev/sda – disk koji se nadzire;
  • -a – potpuni skup provjera;
  • -S on – spremanje atributa između ponovnih pokretanja je omogućeno;
  • -o on – automatsko prikupljanje podataka izvan mreže je aktivirano;
  • -m – obavijesti se šalju na navedenu e-poštu.

Od ovog trenutka, smartd će početi pratiti stanje diska u pozadini.

Obavijesti kada se približavaju granične vrijednosti

Ključna značajka smartd-a je da prati promjene u vrijednostima atributa, a ne samo njihovo kritično prekoračenje.

U praksi, to znači da se obavijest može poslati:

  • pri prvom pojavljivanju Current_Pending_Sector;
  • pri povećanju Reallocated_Sector_Ct, čak i ako prag još nije dosegnut;
  • pri otkrivanju pogrešaka samoprovjere;
  • pri degradaciji NVMe parametara.

Najznačajniji atributi ranog kvara:

  • Reallocated_Sector_Ct
  • Current_Pending_Sector
  • Offline_Uncorrectable
  • Media and Data Integrity Errors (NVMe)
  • Percentage Used (SSD/NVMe)

Čak i minimalne promjene u tim parametrima trebaju se smatrati razlogom za pažnju.

Korištenje samoprovjera kao izvora obavijesti

Kako bi se povećala informativnost, preporučuje se kombinirati praćenje atributa s redovitim samoprovjerama.

Primjer konfiguracije s rasporedom:

/dev/sda -a -o on -S on \ -s (S/../.././02|L/../../6/03) \ -m [email protected]

Logika rada:

  • kratki test se izvodi svakodnevno;
  • puni test se izvodi jednom tjedno;
  • pri bilo kojem neuspjehu testa, administrator prima obavijest.

Upravljanje učestalošću i volumenom obavijesti

Kako bi se izbjegle prekomjerne obavijesti, koristi se parametar -M once:

/dev/sda -a -m [email protected] -M once

U ovom načinu:

  • obavijest se šalje pri prvom otkrivanju problema;
  • naknadne poruke se ne dupliciraju dok se uzrok ne riješi.

Za testiranje sustava obavijesti, možete koristiti -M test. Ovo vam omogućuje da provjerite je li smartd sposoban slati poruke bez čekanja na stvarnu pogrešku.

Zaključak

U okviru ovog priručnika, sustavno je pregledan cijeli ciklus implementacije i rada smartctl-a i demona smartd kao alata za proaktivno praćenje zdravlja diska. Obrađeni su osnovni principi rada SMART-a, praktične metode za analizu atributa, pokretanje i interpretacija samoprovjera, specifičnosti rada s NVMe pogonima i RAID kontrolerima, kao i dijagnostičke metode i tehnike za identifikaciju uzroka problema. Posebna pažnja posvećena je konfiguraciji obavijesti, koje omogućuju otkrivanje degradacije pogona u ranim fazama, čak i prije nego što dođe do kritičnog kvara.

Ispravno konfigurirano SMART praćenje sastavni je dio pouzdane poslužiteljske infrastrukture i treba se smatrati obveznim operativnim standardom. Korištenje smartctl-a i smartd-a omogućuje sistemskom administratoru prelazak s reaktivnog rješavanja incidenata na svjesno, upravljivo održavanje podsustava diska, smanjujući rizike od zastoja, gubitka podataka i neplaniranih incidenata, dok također stvara čvrstu osnovu za daljnju automatizaciju i integraciju s centraliziranim sustavima nadzora.

VAT

  • Other

    Ex. VAT

    0%
  • austria

    Austria

    20%
  • Belgium

    Belgium

    21%
  • Bulgaria

    Bulgaria

    20%
  • Croatia

    Croatia

    25%
  • Cyprus

    Cyprus

    19%
  • Czech Republic

    Czech Republic

    21%
  • Denmark

    Denmark

    25%
  • Estonia

    Estonia

    22%
  • France

    France

    20%
  • Finland

    Finland

    24%
  • Germany

    Germany

    19%
  • Greece

    Greece

    24%
  • Hungary

    Hungary

    27%
  • Ireland

    Ireland

    23%
  • Italy

    Italy

    22%
  • Latvia

    Latvia

    21%
  • Lithuania

    Lithuania

    21%
  • Luxembourg

    Luxembourg

    17%
  • Malta

    Malta

    18%
  • Netherlands

    Netherlands

    21%
  • Poland

    Poland

    23%
  • Portugal

    Portugal

    23%
  • Romania

    Romania

    19%
  • Slovakia

    Slovakia

    20%
  • Slovenia

    Slovenia

    22%
  • Spain

    Spain

    21%
  • Sweden

    Sweden

    25%
  • USA

    USA

    0%
european
states
  • germany
  • Español
  • Italiano
  • Poland
  • Русский
  • Slovenski
  • Türkçe
  • ukraine
  • kingdom
  • French
  • Hrvatska
  • Other
  • Austria
  • Belgium
  • Bulgaria
  • Croatia
  • Cyprus
  • Czech Republic
  • Denmark
  • Estonia
  • Finland
  • France
  • Germany
  • Greece
  • Hungary
  • Ireland
  • Italy
  • Latvia
  • Lithuania
  • Luxembourg
  • Malta
  • Netherlands
  • Poland
  • Portugal
  • Romania
  • Slovakia
  • Slovenia
  • Spain
  • Sweden
  • USA