15%

Economisește 15% la toate serviciile de găzduire

Testează-ți abilitățile și obține Reducere la orice plan de găzduire

Utilizați codul:

Skills
Începeți
08.10.2024

smartctl și smartmontools: Ghidul Complet de Monitorizare a Sănătății Unităților de Stocare în Linux

smartctl este interfața principală de linie de comandă a pachetului smartmontools, concepută pentru a interoga, testa și interpreta datele S.M.A.R.T. (Self-Monitoring, Analysis, and Reporting Technology) încorporate în firmware-ul HDD-urilor, SSD-urilor și unităților NVMe. Comunică direct cu firmware-ul unității prin interfețele ATA, SCSI sau NVMe pentru a expune telemetria de diagnosticare brută pe care sistemul de operare nu o expune prin căile standard de I/O.

Pentru orice administrator Linux care gestionează stocare fizică sau virtuală — fie pe un server bare-metal, un Server Dedicat, sau un array de discuri atașat local — smartctl este cel mai fiabil instrument pentru detectarea defecțiunilor iminente ale unității înainte de a cauza pierderi irecuperabile de date.

Ce Este S.M.A.R.T. și De Ce Contează

S.M.A.R.T. este un sistem de monitorizare integrat în practic orice dispozitiv de stocare consumer și enterprise fabricat după 1996. Funcționează la nivel de firmware, urmărind continuu zeci de parametri interni: rate de erori la citire/scriere, indicatori de stres mecanic, niveluri de uzură NAND, contoare de sectoare realocate și citiri termice.

Distincția critică pe care majoritatea ghidurilor o omite: datele S.M.A.R.T. sunt predictive, nu reactive. O unitate poate trece o verificare a sistemului de fișiere și poate servi I/O normal, acumulând simultan sectoare realocate la o rată care prezice statistic o defecțiune în câteva săptămâni. smartctl expune această stare ascunsă de degradare.

S.M.A.R.T. funcționează pe trei familii de interfețe de stocare:

  • ATA/SATA — specificația originală S.M.A.R.T., cea mai bogată în atribute
  • SCSI/SAS — utilizează un model diferit de atribute (pagini de jurnal Informational Exceptions)
  • NVMe — expune datele de sănătate prin NVMe Health Information Log (Log Page 0x02), cu metrici precum capacitatea de rezervă disponibilă, procentul utilizat și opriri nesigure

Instalarea smartmontools pe Linux

Pachetul smartmontools este disponibil în depozitele oficiale ale fiecărei distribuții Linux majore. Instalați versiunea potrivită pentru mediul dumneavoastră:

Debian / Ubuntu:

“`bash

sudo apt-get update && sudo apt-get install smartmontools

“`

CentOS / RHEL 7:

“`bash

sudo yum install smartmontools

“`

CentOS Stream / RHEL 8+ / AlmaLinux / Rocky Linux:

“`bash

sudo dnf install smartmontools

“`

Fedora:

“`bash

sudo dnf install smartmontools

“`

Arch Linux:

“`bash

sudo pacman -S smartmontools

“`

openSUSE:

“`bash

sudo zypper install smartmontools

“`

După instalare, verificați versiunea și confirmați că suportul NVMe este compilat:

“`bash

smartctl –version

“`

Căutați `NVMe` în lista tipurilor de dispozitive suportate. Versiunile anterioare 6.6 au suport NVMe incomplet — pe serverele moderne care rulează SSD-uri NVMe, asigurați-vă că rulați smartmontools 7.x sau o versiune ulterioară.

Identificarea Dispozitivelor de Stocare

Înainte de a rula orice comandă smartctl, identificați nodul de dispozitiv corect. Confundarea identificatorilor de dispozitiv pe un sistem cu mai multe discuri este o greșeală frecventă și costisitoare.

“`bash

lsblk -d -o NAME,SIZE,MODEL,TRAN

“`

Aceasta afișează numele dispozitivelor alături de tipul de transport (sata, nvme, usb), ceea ce indică direct ce flag-uri smartctl veți avea nevoie. Pentru dispozitivele NVMe, nodul va apărea ca `/dev/nvme0`, `/dev/nvme1`, etc. — nu `/dev/sdX`.

Pentru controlerele hardware RAID (LSI MegaRAID, Adaptec, HP Smart Array), unitățile sunt ascunse în spatele controlerului și necesită flag-uri explicite de pass-through, acoperite în secțiunea avansată de mai jos.

Comenzile de Bază smartctl

Vizualizarea Informațiilor de Identitate ale Dispozitivului

“`bash

sudo smartctl -i /dev/sda

“`

Aceasta interogează pagina IDENTIFY DATA a dispozitivului și returnează numărul de model, numărul de serie, revizia firmware-ului, capacitatea, dimensiunea sectorului (logic de 512 octeți vs. fizic de 4096 octeți — important pentru aliniere) și flag-urile de capabilitate S.M.A.R.T. Pe dispozitivele NVMe:

“`bash

sudo smartctl -i /dev/nvme0

“`

Rularea unei Evaluări Complete a Sănătății

“`bash

sudo smartctl -H /dev/sda

“`

Returnează un verdict pe o singură linie: `PASSED` sau `FAILED`. Un rezultat `FAILED` înseamnă că firmware-ul propriu al unității a determinat că unul sau mai multe praguri critice au fost depășite. O unitate care raportează FAILED trebuie tratată ca defectă — nu așteptați confirmări suplimentare.

Cu toate acestea, un rezultat `PASSED` nu înseamnă că unitatea este sănătoasă. Înseamnă doar că niciun prag nu a fost formal depășit. De aceea analiza brută a atributelor este esențială.

Afișarea Tuturor Atributelor S.M.A.R.T.

“`bash

sudo smartctl -A /dev/sda

“`

Aceasta este comanda cu cea mai mare densitate de informații în utilizarea de rutină. Tabelul de ieșire conține mai multe coloane care necesită o interpretare precisă:

ColoanăSemnificație
**ID#**Identificatorul atributului (specific furnizorului, dar mulți sunt standardizați)
**ATTRIBUTE_NAME**Nume lizibil de către om
**FLAG**Mască de biți indicând tipul atributului (pre-defecțiune vs. consultativ)
**VALUE**Valoare normalizată (de obicei 0–253); mai mic înseamnă mai rău pentru majoritatea atributelor
**WORST**Cea mai mică VALUE înregistrată vreodată pe durata de viață a unității
**THRESH**Pragul sub care unitatea declară defecțiunea
**TYPE**Pre-defecțiune (critic) sau Old_age (informațional)
**RAW_VALUE**Cantitatea efectiv măsurată în unități native

RAW_VALUE este ceea ce ar trebui să analizați în principal. Sistemul normalizat VALUE/WORST/THRESH este util pentru detectarea automată a pragurilor, dar poate fi înșelător — unii producători folosesc curbe de normalizare nestandard.

Ieșire Completă: Combinarea Flag-urilor

Pentru o imagine completă într-o singură comandă, combinați flag-urile de informații, sănătate și atribute:

“`bash

sudo smartctl -a /dev/sda

“`

Flag-ul cu literă mică `-a` este echivalent cu `-H -i -c -A -l error -l selftest`. Aceasta este comanda standard de rulat când diagnosticați o unitate necunoscută.

Pentru o ieșire și mai detaliată, inclusiv toate paginile de jurnal:

“`bash

sudo smartctl -x /dev/sda

“`

Atributele Critice S.M.A.R.T. și Cum să le Interpretați

Nu toate atributele S.M.A.R.T. au aceeași greutate diagnostică. Următoarele sunt atributele pe care inginerii experimentați în stocare le tratează ca indicatori primari de defecțiune:

Indicatori de Defecțiune cu Prioritate Ridicată

Reallocated_Sector_Ct (ID 5)

Numărul de sectoare pe care unitatea le-a remapat în zona de rezervă din cauza erorilor de citire/scriere/verificare. Orice valoare nenulă pe o unitate sub doi ani de vechime necesită atenție imediată. Un număr în creștere constantă — chiar și de la 1 la 5 într-o lună — este un predictor puternic al defecțiunii iminente. Pe unitățile enterprise, un număr mic poate fi acceptabil în funcție de specificațiile producătorului.

Current_Pending_Sector (ID 197)

Sectoare marcate ca instabile și în așteptarea remapării. Aceste sectoare au produs erori în timpul citirilor, dar nu au fost încă remapate cu succes. O valoare nenulă aici înseamnă că unitatea se luptă activ să citească date. Dacă un sector în așteptare este ulterior scris cu succes, poate fi rematat sau șters — dar suportul media de bază este suspect.

Uncorrectable_Sector_Count (ID 198) / Offline_Uncorrectable

Sectoare care nu au putut fi corectate de ECC și nu au putut fi remapate. Acesta este cel mai sever atribut. O valoare nenulă aici înseamnă că datele au fost deja pierdute din acele sectoare. Backup imediat și înlocuirea unității este singurul răspuns adecvat.

Reported_Uncorrect (ID 187)

Pe unitățile moderne, acesta numără erorile pe care ECC intern al unității nu le-a putut corecta. Valorile ridicate indică o degradare serioasă a suportului media.

Spin_Retry_Count (ID 10)

Pentru HDD-uri, eșecuri repetate de a accelera platanele la viteza de operare. Indică stres mecanic pe motorul axului sau pe rulmenți. Orice valoare nenulă pe o unitate utilizată intens este un semnal de alarmă.

Command_Timeout (ID 188)

Numărul de comenzi care au fost abandonate din cauza timeout-ului. Valorile ridicate indică adesea probleme de interfață (cablu, controler sau alimentare) mai degrabă decât defecțiuni ale suportului media — dar pot preceda și o defecțiune totală a unității.

Atribute de Monitorizare Secundară

Raw_Read_Error_Rate (ID 1)

Frecvent interpretat greșit: pe unitățile Seagate, acest atribut are o valoare brută foarte ridicată prin design, deoarece reprezintă un raport codificat într-un câmp de 48 de biți. O valoare brută de câteva milioane pe o unitate Seagate este normală. Pe Western Digital și alți producători, valoarea brută ar trebui să fie aproape de zero. Verificați întotdeauna documentația producătorului înainte de a genera alarme pe baza acestui atribut.

Power_On_Hours (ID 9)

Total ore de funcționare. HDD-urile consumer sunt de obicei evaluate pentru 20.000–25.000 de ore (aproximativ 2–3 ani de funcționare continuă). Unitățile enterprise sunt evaluate pentru 55.000+ ore. Utilizați aceasta pentru a contextualiza alte valori de atribute.

Temperature_Celsius (ID 194)

Temperatura curentă a unității. Intervalul optim de funcționare pentru majoritatea HDD-urilor este 25–45°C. Temperaturile susținute peste 55°C accelerează uzura rulmenților și degradarea suportului media magnetic. Pentru SSD-uri, toleranța termică este în general mai ridicată, dar temperaturile susținute peste 70°C vor accelera uzura NAND. Pe serverele fără flux de aer adecvat — o problemă frecventă în implementările dense în rack — limitarea termică se poate masca ca latență I/O înainte ca atributul de temperatură să depășească orice prag formal.

Wear_Leveling_Count (ID 177) / Media_Wearout_Indicator (ID 233)

Atribute specifice SSD-urilor care urmăresc consumul de rezistență NAND. Când VALUE normalizată se apropie de valoarea THRESH, SSD-ul se apropie de rezistența sa nominală la scriere. Planificați înlocuirea proactiv.

Power_Cycle_Count (ID 12)

Ciclurile frecvente de alimentare cauzează stres mecanic pe HDD-uri (parcare/deparcare cap, stres motor ax) și, într-o măsură mai mică, stres electric pe SSD-uri. Contoare neobișnuit de ridicate în raport cu Power_On_Hours pot indica un mediu de alimentare instabil.

Rularea Testelor de Autodiagnosticare

Testele de autodiagnosticare S.M.A.R.T. sunt executate de firmware-ul propriu al unității, nu de sistemul de operare. Unitatea continuă să servească I/O în timpul testării (cu un impact minor asupra performanței), făcând aceste teste sigure de rulat pe sisteme de producție.

Test Scurt de Autodiagnosticare

“`bash

sudo smartctl -t short /dev/sda

“`

Durată: de obicei 1–5 minute. Testează componentele electrice și mecanice și un procent mic din suprafața discului. Util pentru o verificare rapidă de sanitate. Vizualizați rezultatele după finalizare:

“`bash

sudo smartctl -l selftest /dev/sda

“`

Test Lung de Autodiagnosticare (Test Extins)

“`bash

sudo smartctl -t long /dev/sda

“`

Durată: proporțională cu capacitatea unității — așteptați aproximativ 1 oră per terabyte pe un HDD tipic de 7200 RPM și 20–60 de minute pe majoritatea SSD-urilor. Efectuează o scanare completă a suprafeței fiecărui sector. Acesta este testul definitiv pentru detectarea sectoarelor defecte pe întreaga suprafață a suportului media.

Monitorizați progresul fără a aștepta finalizarea:

“`bash

sudo smartctl -c /dev/sda

“`

Ieșirea include un procent de finalizare și un timp estimat de terminare.

Test de Autodiagnosticare Conveyance

“`bash

sudo smartctl -t conveyance /dev/sda

“`

Disponibil pe majoritatea unitățile ATA. Conceput pentru a detecta daunele suferite în timpul transportului sau manipulării fizice. Verifică problemele cauzate de șocuri mecanice. Durata este de obicei 5 minute. Acest test este subutilizat — este deosebit de valoros la punerea în funcțiune a hardware-ului nou sau după ce un server a fost mutat fizic.

Test Selectiv de Autodiagnosticare

“`bash

sudo smartctl -t select,0-1000000 /dev/sda

“`

Permite testarea unui interval specific de LBA în loc de întreaga unitate. Extrem de valoros când verificările sistemului de fișiere au semnalat erori într-o regiune specifică și trebuie să confirmați dacă suportul media de bază este responsabil.

Monitorizarea Sănătății Specifice NVMe

Unitățile NVMe utilizează un model de atribute fundamental diferit. Comanda principală de sănătate:

“`bash

sudo smartctl -a /dev/nvme0

“`

Câmpuri specifice NVMe cheie de monitorizat:

  • Available Spare: Procentul de blocuri NAND de rezervă rămase. Sub 10% justifică planificarea înlocuirii.
  • Available Spare Threshold: Pragul definit de producător sub care unitatea poate raporta fiabilitate degradată.
  • Percentage Used: Procentul estimat din rezistența nominală la scriere consumată. La 100%, unitatea și-a atins TBW-ul nominal (Terabytes Written) — poate continua să funcționeze, dar garanțiile de fiabilitate nu mai sunt aplicabile.
  • Data Units Read / Written: I/O cumulativ în unități de 512.000 de octeți. Util pentru calcularea volumului de lucru real față de TBW-ul nominal.
  • Media and Data Integrity Errors: Erori de suport media nerecuperate sau erori de integritate a datelor detectate de controlerul NVMe. Orice valoare nenulă este gravă.
  • Number of Error Information Log Entries: Numărul de intrări în jurnalul de erori. Un număr în creștere rapidă indică probleme persistente.
  • Power State: Starea curentă de alimentare NVMe — relevantă pentru volumele de lucru sensibile la latență unde unitatea poate fi într-o stare profundă de economisire a energiei.

Hardware RAID și Acces Pass-Through

Când unitățile sunt conectate printr-un controler hardware RAID, sistemul de operare vede discul virtual al controlerului, nu unitățile fizice. smartctl necesită pass-through explicit pentru a accesa direct firmware-ul unității.

LSI MegaRAID:

“`bash

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

sudo smartctl -a /dev/sda -d megaraid,1

“`

HP Smart Array (driver hpsa):

“`bash

sudo smartctl -a /dev/sda -d cciss,0

“`

3ware RAID:

“`bash

sudo smartctl -a /dev/twa0 -d 3ware,0

“`

Dacă nu sunteți sigur ce tip de pass-through să utilizați, smartctl poate încerca detectarea automată:

“`bash

sudo smartctl –scan

“`

Aceasta scanează toate dispozitivele de stocare detectabile și afișează calea de dispozitiv recomandată și flag-ul de tip pentru fiecare.

Activarea și Dezactivarea S.M.A.R.T.

S.M.A.R.T. este activat implicit pe practic toate unitățile moderne. În cazuri rare — de obicei unități mai vechi sau anumite medii virtualizate — poate fi dezactivat:

“`bash

sudo smartctl -s on /dev/sda

“`

Pentru a dezactiva (nu este recomandat decât pentru scenarii specifice de testare):

“`bash

sudo smartctl -s off /dev/sda

“`

Notă: În mediile virtualizate precum KVM sau VMware, pass-through-ul S.M.A.R.T. către VM-urile guest depinde de configurația hypervisor-ului. Într-un mediu de VPS Hosting, hypervisor-ul abstractizează de obicei unitatea fizică, iar smartctl din interiorul guest-ului poate returna date limitate sau deloc. Pentru acces complet S.M.A.R.T., este necesară monitorizarea la nivel de host fizic sau un Server Dedicat.

Monitorizare Automată cu smartd

Daemonul smartd este componenta de nivel producție a smartmontools. Rulează în fundal, interogând periodic unitățile și executând teste programate, apoi alertând administratorii când pragurile sunt depășite sau când apar eșecuri ale testelor.

Configurarea /etc/smartd.conf

Configurația implicită monitorizează toate unitățile detectate cu setări de bază. O configurație întărită pentru producție arată astfel:

“`

Monitor all ATA/SCSI/NVMe drives with full attribute checking

Run short test every day at 02:00, long test every Saturday at 03:00

Email alert on any failure or attribute change

DEVICESCAN -a -o on -S on

-s (S/../.././02|L/../../6/03)

-m admin@yourdomain.com

-M exec /usr/share/smartmontools/smartd-runner

“`

Directive cheie explicate:

DirectivăFuncție
`DEVICESCAN`Detectare automată a tuturor unităților suportate
`-a`Activează toate verificările S.M.A.R.T.
`-o on`Activează colectarea automată de date offline
`-S on`Activează salvarea automată a atributelor
`-s (S/../.././HHL/../../D/HH)`Programează teste scurte (S) și lungi (L)
`-m email@domain`Trimite emailuri de alertă la această adresă
`-M exec script`Execută un script la alertă (pentru notificări personalizate)
`-d removable`Nu genera o eroare dacă dispozitivul lipsește la pornire

Activarea și Pornirea smartd

“`bash

sudo systemctl enable smartd

sudo systemctl start smartd

sudo systemctl status smartd

“`

Verificați că daemonul monitorizează activ:

“`bash

sudo journalctl -u smartd -f

“`

Configurarea Alertelor prin Email

Pentru ca alertele email smartd să funcționeze, sistemul necesită un MTA (mail transfer agent) funcțional. Pe instalările minime de server, instalați și configurați `postfix` sau `msmtp` pentru relay. Dacă utilizați o infrastructură de email dedicată, luați în considerare asocierea alertelor smartd cu un serviciu de Email Hosting configurat corespunzător pentru a vă asigura că livrarea alertelor nu este blocată de filtrele de spam.

Comparație Atribute S.M.A.R.T.: HDD vs. SSD vs. NVMe

Categorie AtributHDD (SATA)SSD (SATA)NVMe SSD
**Indicator primar de defecțiune**Reallocated_Sector_Ct (ID 5)Reallocated_Sector_Ct (ID 5)Media and Data Integrity Errors
**Urmărirea rezistenței**Power_On_Hours (ID 9)Wear_Leveling_Count (ID 177)Percentage Used
**Sectoare defecte în așteptare**Current_Pending_Sector (ID 197)Current_Pending_Sector (ID 197)N/A (gestionat de controler)
**Monitorizare termică**Temperature_Celsius (ID 194)Temperature_Celsius (ID 194)Temperature Sensor 1/2
**Capacitate de rezervă**N/AAvailable_Reservd_Space (ID 232)Available Spare
**Rezistență la scriere**N/ATotal_LBAs_Written (ID 241)Data Units Written
**Sănătate mecanică**Spin_Retry_Count (ID 10)N/AN/A
**Tipuri de teste suportate**Short, Long, Conveyance, SelectiveShort, Long, SelectiveShort, Long (dependent de producător)
**Interfață pentru accesul la date**ATA SMART READ DATAATA SMART READ DATANVMe Log Page 0x02

Flux de Lucru Practic: Diagnosticarea unei Unități Suspecte

Când o unitate prezintă simptome — erori I/O în `dmesg`, corupție a sistemului de fișiere, latență neobișnuită — urmați această secvență de diagnosticare:

Pasul 1: Confirmați disponibilitatea S.M.A.R.T.

“`bash

sudo smartctl -i /dev/sda | grep -i "SMART support"

“`

Pasul 2: Verificați verdictul general de sănătate

“`bash

sudo smartctl -H /dev/sda

“`

Pasul 3: Inspectați jurnalul de erori

“`bash

sudo smartctl -l error /dev/sda

“`

Jurnalul de erori înregistrează ultimele 5 erori ATA cu marcaje temporale și adrese LBA. Încrucișați adresele LBA cu hărțile de blocuri ale sistemului de fișiere folosind `debugfs` sau `xfs_db` pentru a determina dacă erorile afectează structuri critice ale sistemului de fișiere.

Pasul 4: Analizați atributele critice

“`bash

sudo smartctl -A /dev/sda | grep -E "Reallocated|Pending|Uncorrectable|Command_Timeout"

“`

Pasul 5: Rulați un test scurt pentru confirmare imediată

“`bash

sudo smartctl -t short /dev/sda

sleep 120

sudo smartctl -l selftest /dev/sda

“`

Pasul 6: Dacă testul scurt trece și simptomele persistă, rulați un test lung în timpul unei ferestre de mentenanță

“`bash

sudo smartctl -t long /dev/sda

“`

Pasul 7: Revizuiți jurnalul de autotest pentru adresele LBA cu erori

“`bash

sudo smartctl -l selftest /dev/sda

“`

Testele eșuate raportează LBA-ul primei erori întâlnite. Aceasta identifică locația exactă a deteriorării suportului media.

Capcane Frecvente și Cazuri Limită

Unități conectate prin USB: smartctl adesea nu poate comunica cu unitățile conectate prin adaptoare USB-to-SATA deoarece cipul bridge USB nu transmite comenzile ATA. Utilizați flag-ul `-d sat` sau `-d usb`, sau specificați explicit tipul de bridge (de ex., `-d usb,0x0bc2,0x2312`). Flag-ul `–scan` va încerca să identifice automat tipul corect.

Medii virtualizate: În interiorul unui guest KVM sau VMware, `/dev/sda` este un disc virtual. smartctl poate returna `Device does not support SMART` sau date fabricate transmise de hypervisor. Nu vă bazați pe ieșirea smartctl din interiorul guest-ului pentru evaluarea sănătății fizice a unității pe infrastructura de hosting partajat.

Fals pozitive pe Raw_Read_Error_Rate: Așa cum s-a menționat mai sus, codificarea acestui atribut de către Seagate produce valori brute alarmante care sunt complet normale. Verificați întotdeauna documentația atributelor producătorului înainte de a acționa pe baza acestei valori.

Unități în spatele software RAID (mdadm): smartctl accesează unitățile componente direct (`/dev/sda`, `/dev/sdb`), nu dispozitivul RAID (`/dev/md0`). Monitorizați fiecare unitate membră individual.

Namespace NVMe vs. controler: Utilizați `/dev/nvme0` (controler) pentru datele de sănătate, nu `/dev/nvme0n1` (namespace/dispozitiv bloc). Unele versiuni smartctl acceptă ambele, dar nodul controlerului este autoritar pentru accesul la jurnalul de sănătate.

Unități care mint: Unele SSD-uri consumer, în special unitățile cu NAND QLC de nivel inferior, au fost documentate că raportează atribute S.M.A.R.T. sănătoase până la defecțiunea completă și bruscă. S.M.A.R.T. este un indicator puternic, dar nu o garanție — nu înlocuiește backup-urile regulate.

Implementarea smartmontools în Medii Server

Pentru administratorii care gestionează mai multe servere fizice — cum ar fi cei care rulează volume de lucru pe Servere Dedicate — centralizarea monitorizării S.M.A.R.T. este esențială. Luați în considerare următoarea arhitectură:

  • Prometheus + node_exporter: `node_exporter` include un script de colector textfile `smartmon` care exportă atributele S.M.A.R.T. ca metrici Prometheus. Aceasta permite alertarea prin Alertmanager și vizualizarea în dashboard-uri Grafana.
  • Nagios / Icinga2: Plugin-ul `check_smart` oferă integrare de monitorizare S.M.A.R.T. pentru stivele de monitorizare tradiționale.
  • Scripturi smartd personalizate: Directiva `-M exec` din smartd.conf poate declanșa orice script la alertă — util pentru integrarea cu PagerDuty, webhook-uri Slack sau sisteme de ticketing personalizate.
  • Agregarea fișierelor de jurnal: Configurați smartd să scrie în syslog, apoi transmiteți către un agregator centralizat de jurnale (stivă ELK, Loki) pentru analiza tendințelor istorice pe o flotă.

Pentru mediile de web hosting care utilizează panouri de control, implementările de VPS cu cPanel beneficiază de monitorizarea S.M.A.R.T. la nivel de host configurată de furnizorul de infrastructură, deoarece cPanel în sine nu expune nativ datele de sănătate ale unității.

Listă de Verificare cu Concluzii Cheie

Utilizați aceasta ca referință pre-implementare și operațională continuă:

  • Instalați smartmontools 7.x sau o versiune ulterioară pentru a asigura suport complet NVMe și SSD modern
  • Rulați `smartctl –scan` pe hardware nou pentru a identifica toate unitățile și flag-urile de interfață necesare
  • Verificați mai întâi verdictul de sănătate `-H` — un rezultat `FAILED` necesită acțiune imediată indiferent de alte atribute
  • Tratați orice Reallocated_Sector_Ct, Current_Pending_Sector sau Uncorrectable_Sector_Count nenul ca semnal de defecțiune — nu așteptați ca numărul să crească
  • Nu vă bazați exclusiv pe Raw_Read_Error_Rate — validați față de documentația producătorului înainte de a genera alarme
  • Programați teste lungi automate săptămânal prin smartd pe toate unitățile de producție; teste scurte zilnic
  • Configurați alertele email smartd și verificați livrarea înainte de a vă baza pe ele
  • Pentru hardware RAID, utilizați întotdeauna flag-ul de pass-through adecvat — monitorizarea discului virtual nu este echivalentă cu monitorizarea unităților fizice
  • În mediile virtualizate, efectuați monitorizarea S.M.A.R.T. la nivel de hypervisor/host, nu în interiorul VM-urilor guest
  • Asociați monitorizarea S.M.A.R.T. cu o strategie de backup — S.M.A.R.T. prezice defecțiunile, nu previne pierderea datelor
  • Pentru unitățile NVMe, monitorizați Available Spare și Percentage Used pe lângă contoarele de erori
  • Pe serverele cu mai multe unități, integrați smartd cu o platformă centralizată de alertare mai degrabă decât să vă bazați pe livrarea locală de email

Întrebări Frecvente

Funcționează smartctl în interiorul unui VPS sau al unei instanțe cloud?

În majoritatea mediilor VPS, hypervisor-ul prezintă un dispozitiv bloc virtual guest-ului. smartctl din interiorul guest-ului va returna fie nicio dată, fie date sintetizate de hypervisor, care nu reflectă sănătatea reală a unității fizice. Monitorizarea S.M.A.R.T. semnificativă necesită acces la hostul fizic. Pentru vizibilitate completă la nivel de unitate, un Server Dedicat este soluția adecvată.

Care este diferența dintre `smartctl -a` și `smartctl -x`?

Flag-ul `-a` afișează setul standard de date S.M.A.R.T.: informații despre dispozitiv, verdict de sănătate, flag-uri de capabilitate, toate atributele, jurnalul de erori și jurnalul de autotest. Flag-ul `-x` afișează tot ce oferă `-a` plus pagini de jurnal suplimentare, inclusiv jurnalul de test selectiv, jurnalul de statistici ale dispozitivului, jurnalul de defecte în așteptare și statisticile dispozitivului ATA — oferind o imagine mai completă a istoricului unității. Utilizați `-x` pentru diagnosticare aprofundată; `-a` pentru verificări de rutină.

Cât durează un test lung de autodiagnosticare și este sigur să fie rulat pe o unitate de producție?

Durata depinde de capacitatea și viteza unității: aproximativ 1 oră per terabyte pentru un HDD de 7200 RPM și 20–60 de minute pentru majoritatea SSD-urilor. Testul rulează în fundal în firmware-ul unității, iar unitatea continuă să servească I/O în timpul testului. Impactul asupra performanței este de obicei minor (reducere de 5–15% a debitului). Este sigur să fie rulat pe sisteme de producție în perioadele cu trafic redus, dar programarea în timpul unei ferestre de mentenanță este recomandată pentru volumele de lucru sensibile la latență.

Ce înseamnă când Current_Pending_Sector este nenul, dar Reallocated_Sector_Ct nu a crescut?

Unitatea a identificat sectoare care produc erori de citire, dar nu le-a rematat încă cu succes. Remaparea are loc când unitatea poate scrie în sector — fie printr-o operație de scriere, fie printr-o scanare offline. Dacă numărul rămâne static, sectoarele pot fi într-o regiune doar pentru citire sau unitatea poate lipsi de sectoare de rezervă disponibile pentru remare. Un număr nenul și în creștere de Current_Pending_Sector, cu Reallocated_Sector_Ct rămânând constant, indică adesea că unitatea și-a epuizat rezerva de sectoare de rezervă — o condiție critică de defecțiune.

Poate smartctl detecta uzura SSD-ului înainte ca unitatea să defecteze?

Da, pentru SSD-urile SATA, atributele Wear_Leveling_Count (ID 177), Media_Wearout_Indicator (ID 233) și Available_Reservd_Space (ID 232) urmăresc consumul de rezistență NAND. Pentru SSD-urile NVMe, câmpurile Percentage Used și Available Spare din NVMe Health Information Log servesc același scop. Când Available Spare scade sub pragul său sau Percentage Used atinge 100%, unitatea și-a consumat rezistența nominală la scriere. Spre deosebire de defecțiunile mecanice bruște, degradarea prin uzură a SSD-ului este graduală și foarte previzibilă — făcând-o unul dintre cele mai puternice cazuri de utilizare pentru monitorizarea proactivă S.M.A.R.T.

15%

Economisește 15% la toate serviciile de găzduire

Testează-ți abilitățile și obține Reducere la orice plan de găzduire

Utilizați codul:

Skills
Începeți