Instalacija i konfiguracija smartctl-a za proaktivno praćenje zdravlja diska | INTROSERV
EUR
european

EUR

usa

USD

Croatia Hr
Ex. VAT Ex. VAT 0%

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

  1. Disk neovisno prikuplja statistiku
  2. smartctl čita te podatke
  3. smartd analizira pragove i događaje
  4. 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:

  1. Periodično provjerava SMART atribute diska.
  2. Uspoređuje trenutačne vrijednosti s: tvorničkim pragovima, prethodnim vrijednostima (dinamikom promjena).
  3. Detektira: 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 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.

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