Instalacija i konfiguracija smartctl-a za proaktivno praćenje zdravlja diska
Uvod
smartctl je konzolni alat iz paketa smartmontools, namijenjen radu sa S.M.A.R.T. (Self-Monitoring, Analysis and Reporting Technology) tehnologijom implementiranom u modernim diskovima za pohranu.
Primjeri upotrebe:
- poslužitelji hosting tvrtki;
- VPS/VDS čvorovi;
- namjenski poslužitelji;
- datotečni poslužitelji;
- sustavi za sigurnosno kopiranje;
- korporativne infrastrukture.
Koje zadatke rješava:
- rano otkrivanje degradacije diska;
- predviđanje kvara diska;
- smanjenje rizika od gubitka podataka;
- automatizacija nadzora zdravlja HDD-a, SSD-a i NVMe-a;
- analiza fizičkih problema u podsustavu diskova.
Proaktivno SMART nadgledanje omogućuje otkrivanje problema prije stvarnog kvara diska, što je od presudne važnosti za proizvodna okruženja.
Zahtjevi i preduvjeti
Podržani operativni sustavi 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:
- potrebna root privilegija
- ili pristup putem suda
Preliminarne provjere
Pregledavanje popisa diskova u sustavu:
lsblk -d -o NAME,MODEL
Pregled i osnovni pojmovi
Ključni pojmovi
- SMART - ugrađeni sustav za samodijagnostiku diska
- Atributi - atributi stanja (Reallocated_Sector_Ct, Pending_Sectors itd.)
- Samotest - ugrađeni testovi diska
- smartctl - CLI utiliteta za upravljanje SMART-om
- smartd - demon za automatsko nadgledanje
Kako radi
- Disk neovisno prikuplja statistiku
- smartctl čita te podatke
- smartd analizira pragove i događaje
- Obavijesti se šalju kada dođe do problema
Logika tijeka rada
Disk > SMART atributi > smartctl > smartd > zapisnik / e-pošta / nadzor
Osnovna konfiguracija i upotreba alata smartctl
Instalacija utilite smartmontools
Rad sa SMART-om je nemoguć bez instaliranog paketa smartmontools, koji uključuje korisničke programe smartctl (ručni rad s diskovima) i smartd (daemon za pozadinsko nadgledanje).
Instalacija se provodi 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, korisnički programi postaju dostupni u sustavu i spremni su za upotrebu bez dodatne inicijalizacije.
Provjera verzije i dostupnosti alata smartctl
Kao prvi korak preporučuje se provjeriti je li utiliteta ispravno instalirana i dostupna 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
Zatim je potrebno provjeriti podržava li sam pogon SMART tehnologiju i je li ona 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
- Dostupno - disk fizički podržava SMART;
- Omogučeno - prikupljanje SMART podataka je uključeno i dostupno za čitanje.
Ako je SMART podržan, ali onemogućen, to se često viđa 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 bi se osiguralo da je SMART aktiviran.
Pregled SMART atributa i početna procjena stanja
Glavna praktična vrijednost SMART-a leži u njegovim atributima – numeričkim vrijednostima koje odražavaju stanje površine, mehanike i elektronike diska.
Za pregled atributa upotrijebite naredbu:
sudo smartctl -A /dev/sda
Izlaz sadrži tablicu atributa s njihovim trenutačnim vrijednostima i poviješću. Prije svega, pozornost treba obratiti na sljedeće pokazatelje:
Ključna polja u izlazu:
- VREDNOST (trenutna vrijednost): normalizirana vrijednost atributa (obično od 1 do 100, pri čemu je 100 idealno). Disk se smatra neispravnim ako je VREDNOST ≤ PRAG.
- 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. To je vrijednost koja se analizira radi procjene habanja i brojanja događaja.
Ključne atribute za HDD (tradicionalne tvrde diskove):
- Reallocated_Sector_Ct: Porast ukazuje na degradaciju fizičke površine.
- Current_Pending_Sector (sektori na čekanju ponovne alokacije): nestabilni sektori. Čak i jedna ne-nulta vrijednost je znak upozorenja.
- Offline_Uncorrectable (nepopravljive pogreške): sektori koji se nisu mogli pročitati.
- Power_On_Hours: Ukupno vrijeme rada diska.
Ključne značajke za SSD-ove:
- Retired_Block_Count: Ekvivalent Reallocated_Sector_Ct za HDD-ove. Pokazuje broj blokova povučenih iz upotrebe. Čak i niska vrijednost s VALUE=100 može biti normalna.
- Reallocated_Event_Count: Broj događaja reallokacije.
- SSD_Life_Left ili Postotak korištenja/Pokazatelj istrošenosti medija: Postotak preostalog vijeka trajanja (ili istrošenosti). Niska vrijednost (npr. <10 %) znak je neposrednog kvara.
- Wear_Range_Delta: Indikator ravnomjernosti habanja među memorijskim ćelijama.
- Power_On_Hours_and_Msec: Ukupno vrijeme rada.
- Lifetime_Writes_GiB / Lifetime_Reads_GiB (atributi 241, 242): ukupna količina podataka napisana/pročitana.
Ključne atribute za NVMe (putem smartctl -a /dev/nvme0):
- Postotak korištenja: Postotak potrošene izdržljivosti pisanja. Glavni pokazatelj habanja.
- Greške medija i integriteta podataka: Greške integriteta podataka.
- Kritično upozorenje: Zastavice kritičnog upozorenja.
- Temperatura: Trenutna temperatura.
U ovoj fazi administrator stječe opći uvid u stanje diska i može prepoznati očite znakove problema.
Napredna konfiguracija i praktični scenariji
SMART podržava ugrađene samoprovjere koje provodi sam pogon bez uključivanja operativnog sustava.
Kratki test je namijenjen brzom provjeravanju ključnih komponenti:
sudo smartctl -t short /dev/sda
Dugi test izvodi potpuno skeniranje površine i traje znatno dulje:
sudo smartctl -t long /dev/sda
Nakon završetka testa, rezultati se moraju provjeriti:
sudo smartctl -l selftest /dev/sda
Ispis ukazuje na:
- vrstu testa;
- status dovršenosti;
- 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 tip uređaja mora biti izričito naveden.
Primjer za LSI kontroler:
smartctl -a -d megaraid,0 /dev/sda
Gdje:
- -a - ključ za ispis svih dostupnih SMART informacija (atributa, dnevnika, pogrešaka, cjelokupne procjene stanja).
- -d - ključ za navođenje tipa uređaja.
- megaraid - govori SMART upravljačkom programu da se disk nalazi iza LSI/Broadcom kontrolera (često se koristi u poslužiteljima).
- 0 - broj fizičkog diska (PD, Physical Drive) u RAID skupini. To nije sda, već jedinstveni ID koji je dodijelio kontroler. Može se pronaći pomoću alata za upravljanje kontrolerom (npr. storcli ili MegaCLI).
- /dev/sda - u ovom kontekstu, ovo nije stvarni 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 nije specificiran tip uređaja:
SMART support is: Unavailable
To ne znači da SMART nije dostupan – već samo da smartctl nije mogao automatski odrediti putanju do fizičkog diska. Rješenje je ispravno navesti parametar -d.
Dijagnostika i otklanjanje poteškoća
Znakovi mogućih kvarova:
- porast vrijednosti Reallocated_Sector_Ct;
- ne-nuljevi Current_Pending_Sector;
- greške pri programiranju/brisanjima (Program_Fail_Count, Erase_Fail_Count);
- greške u samoprovjeri;
- porast I/O latencije;
- poruke o pogreškama u sustavnim zapisima.
Analiza dnevnika
journalctl -u smartd
dmesg | grep -i error
Objašnjenje:
- Očekivani sektori > 0 - visok rizik od kvara;
- Reallocirani sektori se povećavaju - progresivno propadanje;
- Samoprovjera neuspjela - disk treba zamijeniti.
Identifikacija izvora problema
Kako bi se isključili lažno pozitivni rezultati, važno je uskladiti SMART podatke s stvarnim opterećenjem.
iostat -x 1 iotop
Provjera gdje je disk priključen:
lsblk -o NAME,SERIAL,MOUNTPOINT
Identifikacija kontrolera:
lspci | grep -i raid
Dodatni metrički podaci:
- temperatura iznad 50 °C;
- porast CRC pogrešaka;
- nestabilne SMART vrijednosti.
Konfiguriranje obavijesti za administratora kada SMART metrike približavaju pragovima
Sama prisutnost SMART podataka još ne jamči sigurnost infrastrukture. Ključni element nadzora je pravovremeno obavještavanje administratora u trenutku kada stanje diska počinje propadati, ali do kvara još nije došlo.
Mehanizam obavještavanja omogućuje vam:
- otkriti degradaciju diska u ranoj fazi;
- planirati zamjenu diska unaprijed;
- izbjeći hitne zastoje i gubitak podataka;
- raditi unutar zakazanih vremenskih okvira za održavanje.
U smartmontoolsu, demon smartd odgovoran je za slanje obavijesti. Automatski prati promjene u SMART atributima i reagira na odstupanja od norme.
Načelo rada obavijesti smartd-a
Daemon smartd radi u pozadini i obavlja sljedeće zadatke:
- Periodično provjerava SMART atribute diska.
- Uspoređuje trenutačne vrijednosti s: tvorničkim pragovima, prethodnim vrijednostima (dinamikom promjena).
- Detektira: rast kritičnih atributa, pojavu novih pogrešaka, neuspjehe samoprovjere.
- 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 izlaznu poštu;
- definirana je adresa e-pošte administratora za primanje obavijesti.
Primjer konfiguracije ssmtp-a – laganog i jednostavnog MTA-a za slanje e-pošte iz sustava
Instalacija:
# For Debian/Ubuntu sudo apt update && sudo apt install ssmtp mailutils -y # For RHEL sudo dnf install ssmtp mailx
Kreira se konfiguracijska datoteka
sudo nano /etc/ssmtp/ssmtp.conf
i uredite sadržaj:
# Default sender address [email protected] # SMTP server and port of your email provider mailhub=smtp.your-domain.com:587 # Alternative example: # mailhub=smtp.gmail.com:587 # For Gmail # Authentication credentials [email protected] AuthPass=your-password # Encryption settings UseSTARTTLS=YES # Use STARTTLS UseTLS=YES # Use TLS FromLineOverride=YES # Allow overriding the sender address # Hostname (specify your server's name) hostname=server1.your-domain.com # you can use hostname=localhost or specify the system's actual hostname
Spremite datoteku i konfigurirajte dozvole za pristup:
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, na poslužitelju moraju biti otvoreni sljedeći priključci: 587 (primarni za slanje sa STARTTLS enkripcijom), ili 25 (standardni SMTP), 465 (sigurnu SMTP s SSL-om), ako su predviđeni konfiguracijom.
Osnovni test slanja e-pošte:
echo "SMART test message" | mail -s "SMART notification test" [email protected] # You can explicitly specify the sender echo "SMART test message" | mail -s "SMART notification test" -a "From: [email protected]" [email protected] # Via ssmtp directly echo "SMART test message" | ssmtp [email protected]
[email protected] – adresa primatelja na koju će poruka biti poslana.
Ako e-pošta nije dostavljena, daljnja konfiguracija smartd-a je besmislena dok se ne riješe problemi s dostavom e-pošte.
Konfiguracija SMART obavijesti vrši se u datoteci:
/etc/smartd.conf
Primjer jednostavne funkcionalne konfiguracije:
/dev/sda -a -o on -S on -m [email protected]
Parametri:
- /dev/sda - disk koji se nadzire;
- -a - kompletan skup provjera;
- -S on - omogućeno je spremanje atributa između ponovnih pokretanja;
- -o on - automatsko prikupljanje podataka u offline načinu rada je aktivirano;
- -m - obavijesti se šalju na navedenu e-poštu.
Od tog trenutka, smartd će u pozadini početi nadzirati stanje diska.
Obavijesti pri približavanju pragovima vrijednosti
Ključna značajka smartd-a je da prati promjene vrijednosti 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 vrijednosti Reallocated_Sector_Ct, čak i ako prag još nije dostignut;
- pri otkrivanju pogrešaka samoprovjere;
- pri pogoršanju NVMe parametara.
Najznačajniji atributi ranog kvara:
- Reallocated_Sector_Ct
- Current_Pending_Sector
- Offline_Uncorrectable
- Greške integriteta medija i podataka (NVMe)
- Postotak korištenja (SSD/NVMe)
Čak i minimalne promjene u ovim parametrima trebale bi se smatrati razlogom za pažnju.
Korištenje samoprovjera kao izvora obavijesti
Kako bi se povećala informativnost, preporučuje se kombinirati nadzor 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 provodi svakodnevno;
- puni test se provodi jednom tjedno;
- U slučaju neuspjeha testa, administrator prima obavijest.
Upravljanje učestalošću i količinom obavijesti
Kako bi se izbjegla prekomjerna obavještenja, koristi se parametar -M once
Primjer:
/dev/sda -a -m [email protected] -M once
U ovom načinu rada:
- obavijest se šalje pri prvom otkrivanju problema;
- naknadne poruke se ne dupliciraju dok se uzrok ne otkloni.
Za testiranje sustava obavijesti možete koristiti -M test
To vam omogućuje provjeru da li je smartd sposoban slati poruke bez čekanja na stvarni grešku.
Zaključak
U okviru ovog priručnika sustavno je obrađen puni ciklus implementacije i rada alata smartctl i demona smartd kao sredstva za proaktivno praćenje zdravlja diska. Obrađeni su osnovni principi rada SMART-a, praktične metode analize atributa, pokretanje i tumačenje samoprovjera, specifičnosti rada s NVMe pogonima i RAID kontrolerima, kao i dijagnostičke metode i tehnike za utvrđivanje osnovnih uzroka problema. Posebna je pozornost posvećena konfiguriranju obavijesti, koje omogućuju otkrivanje degradacije diska u ranim fazama, čak i prije nego što dođe do kritičnog kvara.
Pravilno konfigurirano SMART nadgledanje sastavni je dio pouzdane poslužiteljske infrastrukture i trebalo bi se smatrati obaveznim operativnim standardom. Korištenje alata smartctl i smartd omogućuje administratoru sustava prijelaz s reaktivnog rješavanja incidenata na svjesno, upravljivo održavanje diskovnog podsustava, smanjujući rizike zastoja, gubitka podataka i neplaniranih incidenata, a istovremeno stvarajući čvrstu osnovu za daljnju automatizaciju i integraciju s centraliziranim sustavima za nadzor.