Namestitev in nastavitev programa smartctl za proaktivno spremljanje stanja diskov | INTROSERV
EUR
european

EUR

usa

USD

Slovenia Sl
Ex. VAT Ex. VAT 0%

Namestitev in nastavitev programa smartctl za proaktivno spremljanje stanja diskov

Uvod

smartctl je konzolni pripomoček iz paketa smartmontools, namenjen delovanju s tehnologijo S.M.A.R.T. (Self-Monitoring, Analysis and Reporting Technology), ki je vgrajena v sodobne pomnilniške enote.

Primeri uporabe:

  • strežniki gostiteljskih podjetij;
  • VPS/VDS vozlišča;
  • namenski strežniki;
  • datotečni strežniki;
  • sistemi za varnostno kopiranje;
  • podjetniške infrastrukture.

Katere naloge rešuje:

  • zgodnje odkrivanje poslabšanja stanja diskov;
  • napovedovanje okvar diskov;
  • zmanjšanje tveganja izgube podatkov;
  • avtomatizacija spremljanja stanja trdih diskov (HDD), SSD in NVMe;
  • analiza fizičnih težav v diskovnem podsistemu.

Proaktivno spremljanje SMART vam omogoča, da odkrijete težavo še pred dejansko okvaro diska, kar je ključnega pomena za produkcijska okolja.

Zahteve in predpogoji

Podprti operacijski sistemi in različice

Linux:

  • Debian 10+
  • Ubuntu 18.04+
  • RHEL / AlmaLinux / Rocky Linux 8+
  • CentOS 7 (podprt, vendar zastarel)
  • FreeBSD 12+

Windows (prek smartmontools, omejena uporaba)

Spodnji primeri so navedeni za Linux.

Potrebna programska oprema in paketi:

  • paket smartmontools
  • dostop do /dev/sdX, /dev/nvmeX
  • nameščen sistem systemd (za smartd)

Dostopne pravice:

  • potrebne so pravice root
  • ali dostop prek sudo

Predhodni pregledi

Pregled seznama diskov v sistemu:

lsblk -d -o NAME,MODEL

Pregled in osnovni pojmi

Ključni izrazi

  • SMART – vgrajen sistem za samodiagnostiko diskov
  • Atributi – atributi stanja (Reallocated_Sector_Ct, Pending_Sectors itd.)
  • Samopreizkus – vgrajeni testi diska
  • smartctl – orodje CLI za upravljanje sistema SMART
  • smartd – demon za samodejno spremljanje

Kako deluje

  1. Disk samostojno zbira statistične podatke
  2. smartctl prebere te podatke
  3. smartd analizira mejne vrednosti in dogodke
  4. Ob pojavu težav se pošljejo obvestila

Logika delovanja

Disk > Atributi SMART > smartctl > smartd > dnevnik / e-pošta / spremljanje

Osnovna nastavitev in uporaba smartctl

Namestitev programa smartmontools

Delovanje s sistemom SMART ni mogoče brez nameščenega paketa smartmontools, ki vključuje orodja smartctl (ročno delo z diski) in smartd (demon za spremljanje v ozadju).

Namestitev se izvede s standardnimi orodji za upravljanje paketov v distribuciji.

Debian / Ubuntu

sudo apt update sudo apt install smartmontools

RHEL / AlmaLinux / Rocky Linux

sudo dnf install smartmontools

Po namestitvi so orodja na voljo v sistemu in so pripravljena za uporabo brez dodatne inicializacije.

Preverjanje različice in razpoložljivosti smartctl

Kot prvi korak je priporočljivo preveriti, ali je program pravilno nameščen in na voljo v sistemu:

smartctl --version

Ukaz izpiše različico paketa in seznam podprtih tehnologij.

To vam omogoča:

  • preverite, ali uporabljate najnovejšo različico;
  • preverite podporo za NVMe, RAID in druge vrste naprav.

Preverjanje podpore za tehnologijo SMART na določenem disku

Nato je treba preveriti, ali disk sam podpira tehnologijo SMART in ali je ta omogočena na ravni naprave.

sudo smartctl -i /dev/sda

Primer pravilnega izpisa:

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

  • Na voljo – disk fizično podpira tehnologijo SMART;
  • Omogočeno – zbiranje podatkov SMART je vklopljeno in na voljo za branje.

Če je tehnologija SMART podprta, vendar onemogočena, se to pogosto pojavi pri novih ali prej neuporabljenih diskih. V takem primeru jo je treba omogočiti ročno:

sudo smartctl -s on /dev/sda

Po tem je priporočljivo ponovno izvesti ukaz smartctl -i, da se prepričate, da je SMART aktiviran.

Pregled atributov SMART in začetna ocena stanja

Glavna praktična vrednost sistema SMART leži v njegovih atributih – številčnih vrednostih, ki odražajo stanje površine diska, mehanike in elektronike.

Za ogled atributov uporabite ukaz:

sudo smartctl -A /dev/sda

Izpis vsebuje tabelo atributov s trenutnimi vrednostmi in zgodovino. Najprej je treba pozornost nameniti naslednjim kazalnikom:

Ključna polja v izpisu:

  • VALUE (trenutna vrednost): normalizirana vrednost atributa (običajno od 1 do 100, pri čemer je 100 idealna vrednost). Disk se šteje za okvarjenega, če je VALUE ≤ THRESH.
  • WORST (najslabša vrednost): Najslabša vrednost, ki je bila dosežena med delovanjem diska.
  • THRESH (prag): najmanjša dovoljena vrednost za VALUE. Preseganje praga (VALUE ≤ THRESH) je znak kritičnega stanja.
  • RAW_VALUE: »Surova«, nenormalizirana vrednost atributa. To je tisto, kar je treba analizirati za oceno obrabe in štetje dogodkov.

Ključni atributi za HDD (tradicionalne trde diske):

  • Reallocated_Sector_Ct: Povečanje kaže na fizično poslabšanje površine.
  • Current_Pending_Sector (sektorji, ki čakajo na ponovno dodelitev): nestabilni sektorji. Že ena sama vrednost, ki ni nič, je opozorilni znak.
  • Offline_Uncorrectable (Nepopravljive napake): sektorji, ki jih ni bilo mogoče prebrati.
  • Power_On_Hours: Skupni čas delovanja diska.

Ključni atributi za SSD-je:

  • Retired_Block_Count: Ekvivalent Reallocated_Sector_Ct za HDD-je. Prikazuje število blokov, ki so bili umaknjeni iz uporabe. Tudi nizka vrednost z VALUE=100 je lahko normalna.
  • Reallocated_Event_Count: Število dogodkov ponovne dodelitve.
  • SSD_Life_Left ali Percentage Used/Media Wearout Indicator: Odstotek preostale življenjske dobe (ali obrabe). Nizka vrednost (npr. <10 %) je znak neizbežne okvare.
  • Wear_Range_Delta: Kazalnik enakomernosti obrabe po pomnilniških celicah.
  • Power_On_Hours_and_Msec: Skupni čas delovanja.
  • Lifetime_Writes_GiB / Lifetime_Reads_GiB (atributi 241, 242): Skupna količina zapisanih/prebranih podatkov.

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

  • Percentage Used: Odstotek porabljene vzdržljivosti pri pisanju. Glavni kazalnik obrabe.
  • Napake celovitosti medija in podatkov: Napake celovitosti podatkov.
  • Kritično opozorilo: Oznake kritičnih opozoril.
  • Temperatura: Trenutna temperatura.

V tej fazi si skrbnik pridobi splošno razumevanje stanja diska in lahko prepozna očitne znake težav.

Napredna konfiguracija in praktični scenariji

SMART podpira vgrajene samopreverjanja, ki jih izvaja sam disk brez vpletenosti operacijskega sistema.

Kratek test je namenjen hitremu pregledu ključnih komponent:

sudo smartctl -t short /dev/sda

Dolgi test opravi skeniranje celotne površine in traja znatno dlje:

sudo smartctl -t long /dev/sda

Po zaključku testa je treba preveriti rezultate:

sudo smartctl -l selftest /dev/sda

Izpis prikazuje:

  • vrsto testa;
  • stanje zaključka;
  • prisotnost ali odsotnost napak.

Neuspešen test je neposreden razlog za pripravo na zamenjavo diska.

Delo z RAID-krmilniki

Strojni RAID-krmilniki pogosto skrivajo podatke SMART pred sistemom. V takih primerih je treba izrecno navesti vrsto naprave.

Primer za LSI krmilnik:

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

Kjer:

  • -a – ključ za izpis vseh razpoložljivih podatkov SMART (atributi, dnevniki, napake, splošna ocena stanja).
  • -d - ključ za določitev tipa naprave.
  • megaraid – sporoči gonilniku SMART, da je disk priključen na krmilnik LSI/Broadcom (pogosto uporabljen v strežnikih).
  • 0 – številka fizičnega diska (PD, Physical Drive) v RAID-nizu. To ni sda, ampak edinstvena identifikacijska številka, ki jo dodeli krmilnik. Najdete jo z uporabo programa za upravljanje krmilnika (npr. storcli ali MegaCLI).
  • /dev/sda – v tem kontekstu to ni dejanski disk, ampak psevdo-naprava, ki v sistemu predstavlja sam RAID-krmilnik. Običajno je to /dev/sgX (SCSI Generic) ali preprosto /dev/sda, če je krmilnik ustvaril virtualni disk.

Tipična napaka, če vrsta naprave ni določena:

SMART support is: Unavailable

To ne pomeni, da je SMART nedostopen – pomeni le, da smartctl ni mogel samodejno določiti poti do fizičnega diska. Rešitev je pravilna določitev parametra -d.

Diagnostika in odpravljanje težav

Znaki morebitnih napak:

  • povečanje vrednosti Reallocated_Sector_Ct;
  • vrednost Current_Pending_Sector, ki ni enaka nič;
  • napake pri programiranju/brisanju (Program_Fail_Count, Erase_Fail_Count);
  • napake pri samopreverjanju;
  • povečanje zakasnitve I/O;
  • napake v sistemskih dnevnikih.

Analiza dnevnikov

journalctl -u smartd

dmesg | grep -i error

Pojasnilo:

  • Čakajoči sektorji > 0 – visoko tveganje za okvaro;
  • Število ponovno dodeljenih sektorjev narašča – postopno poslabšanje delovanja;
  • Samopreizkus NEUSPEŠEN – disk je treba zamenjati.

Ugotavljanje vzrokov težav

Da bi izključili lažne pozitivne rezultate, je pomembno, da se podatki SMART uskladijo z dejansko obremenitvijo.

iostat -x 1 iotop

Preverjanje, kje je disk priključen:

lsblk -o NAME,SERIAL,MOUNTPOINT

Prepoznavanje krmilnikov:

lspci | grep -i raid

Dodatni kazalniki:

  • temperatura nad 50 °C;
  • povečanje števila napak CRC;
  • nestabilne vrednosti SMART.

Nastavitev obvestil za skrbnika, ko se kazalniki SMART približujejo mejnim vrednostim

Sama prisotnost podatkov SMART še ne zagotavlja varnosti infrastrukture. Ključni element spremljanja je pravočasno obveščanje administratorja v trenutku, ko se stanje diska začne poslabševati, vendar do okvare še ni prišlo.

Mehanizem obveščanja vam omogoča:

  • zgodaj odkrijete poslabšanje stanja diska;
  • vnaprej načrtujete zamenjavo diska;
  • izogniti se nujnim izpadom in izgubi podatkov;
  • delovanje v okviru načrtovanih časovnih okvirjev za vzdrževanje.

V programu smartmontools je za pošiljanje obvestil odgovoren demon smartd. Samodejno spremlja spremembe v SMART-atributih in se odziva na odstopanja od norme.

Načelo delovanja obvestil smartd

Daemon smartd deluje kot storitev v ozadju in opravlja naslednje naloge:

  1. Redno preverja atribute SMART diska.
  2. Primerja trenutne vrednosti s: tovarniškimi pragovi, prejšnjimi vrednostmi (dinamika sprememb).
  3. Zazna: povečanje kritičnih atributov, pojav novih napak, neuspešne samopreverjanja.
  4. Ustvari obvestilo in ga pošlje skrbniku.

Zahteve za delovanje obvestil

Pred konfiguracijo je treba zagotoviti naslednje:

  • da je v sistemu nameščen in pravilno konfiguriran MTA (Postfix, Exim, Sendmail, ssmtp);
  • da je strežnik sposoben pošiljati odhodno pošto;
  • da je določen e-poštni naslov skrbnika za prejemanje obvestil.

Primer konfiguracije ssmtp – lahkega in preprostega MTA za pošiljanje e-pošte iz sistema

Namestitev:

# For Debian/Ubuntu sudo apt update && sudo apt install ssmtp mailutils -y # For RHEL sudo dnf install ssmtp mailx

Ustvarite konfiguracijsko datoteko

sudo nano /etc/ssmtp/ssmtp.conf

in uredite vsebino:

# 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

Shranite datoteko in nastavite dostopna dovoljenja:

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

Nastavite pošiljatelje (prezivke):

sudo nano /etc/ssmtp/revaliases

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

Za uspešno pošiljanje sporočil morajo biti na strežniku odprta naslednja vrata: 587 (glavno za pošiljanje s šifriranjem STARTTLS) ali 25 (standardni SMTP), 465 (varen SMTP s SSL), če so to predvidena v konfiguraciji.

Osnovni preizkus pošiljanja 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] – naslov prejemnika, na katerega bo poslano sporočilo.

Če e-pošta ni dostavljena, je nadaljnja konfiguracija smartd brez smisla, dokler se težave z dostavo e-pošte ne rešijo.

Konfiguracija obvestil SMART se izvede v datoteki:

/etc/smartd.conf

Primer preproste delujoče konfiguracije:

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

Parametri:

  • /dev/sda – disk, ki se nadzoruje;
  • -a – celoten nabor preverjanj;
  • -S on – omogočeno shranjevanje atributov med ponovnimi zagoni;
  • -o on – aktivirano je samodejno zbiranje podatkov v načinu brez povezave;
  • -m – obvestila se pošiljajo na navedeni e-poštni naslov.

Od tega trenutka naprej bo smartd v ozadju začel spremljati stanje diska.

Obvestila ob približevanju mejnim vrednostim

Ključna značilnost programa smartd je, da spremlja spremembe vrednosti atributov, ne le njihovo kritično preseganje.

  • V praksi to pomeni, da se obvestilo lahko pošlje:
  • ob prvem pojavu Current_Pending_Sector;
  • ob povečanju vrednosti Reallocated_Sector_Ct, tudi če prag še ni bil dosežen;
  • ob zaznavi napak pri samopreverjanju;
  • ob poslabšanju parametrov NVMe.

Najpomembnejši kazalniki zgodnje okvare:

  • Reallocated_Sector_Ct
  • Current_Pending_Sector
  • Offline_Uncorrectable
  • Napake celovitosti medija in podatkov (NVMe)
  • Odstotek porabe (SSD/NVMe)

Že najmanjše spremembe teh parametrov je treba obravnavati kot razlog za pozornost.

Uporaba samopreverjanj kot vira obvestil

Za večjo informativnost priporočamo, da spremljanje atributov kombinirate z rednimi samopreverjanji.

Primer konfiguracije z urnikom:

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

Način delovanja:

  • vsak dan se opravi kratek test;
  • enkrat tedensko se izvede celoten test;
  • ob kakršni koli napaki pri testiranju administrator prejme obvestilo.

Upravljanje pogostosti in obsega obvestil

Da bi se izognili prekomernemu številu opozoril, se uporablja parameter -M once

Primer:

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

V tem načinu:

  • se obvestilo pošlje ob prvem zaznanju težave;
  • nadaljnja obvestila se ne ponavljajo, dokler vzrok ni odpravljen.

Za preizkus sistema obveščanja lahko uporabite -M test

Tako lahko preverite, ali je smartd sposoben pošiljati sporočila, ne da bi čakal na dejansko napako.

Zaključek

V okviru tega priročnika je bil sistematično pregledan celoten cikel implementacije in delovanja smartctl ter demon smartd kot orodja za proaktivno spremljanje stanja diskov. Obravnavana so bila osnovna načela delovanja SMART, praktične metode za analizo atributov, zagon in interpretacija samopreverjanj, posebnosti dela z NVMe-diskami in RAID-krmilniki ter diagnostične metode in tehnike za ugotavljanje temeljnih vzrokov težav. Posebna pozornost je bila namenjena konfiguraciji obvestil, ki omogočajo odkrivanje poslabšanja stanja diska v zgodnjih fazah, še preden pride do kritične okvare.

Pravilno konfigurirano spremljanje SMART je sestavni del zanesljive strežniške infrastrukture in ga je treba obravnavati kot obvezen operativni standard. Uporaba orodij smartctl in smartd sistemskemu administratorju omogoča prehod od reaktivnega reševanja incidentov k premišljenemu in obvladljivemu vzdrževanju diskovnega podsistema, s čimer se zmanjšajo tveganja za izpad delovanja, izgubo podatkov in nenačrtovane incidente, hkrati pa se ustvari trdna podlaga za nadaljnjo avtomatizacijo in integracijo s centraliziranimi sistemi spremljanja.

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