Jeśli korzystasz z VPS lub serwera dedykowanego, stabilność dysku nie jest opcjonalna — jest kluczowa dla misji. Pojedyncza awaria dysku może prowadzić do utraty danych, przestojów i kosztownej odbudowy. Dlatego administratorzy systemów Linux polegają na smartctl — potężnym narzędziu wiersza poleceń, które daje bezpośredni dostęp do diagnostyki dysków za pomocą S.M.A.R.T.

Ten przewodnik przeprowadzi Cię przez korzystanie z smartctl na Linuxie, w tym praktyczne polecenia, przykłady z rzeczywistego świata i inteligentną automatyzację.

Co to jest smartctl?

smartctl jest częścią pakietu Smartmontools. Umożliwia dostęp do S.M.A.R.T. (Self-Monitoring, Analysis and Reporting Technology), wbudowanego w większość nowoczesnych HDD i SSD.

Dzięki smartctl możesz:

  • Sprawdzić stan zdrowia dysku
  • Uruchomić krótkie lub rozszerzone testy diagnostyczne
  • Wyświetlić temperaturę i metryki wydajności
  • Wykryć wczesne oznaki awarii sprzętu

Obsługiwany sprzęt obejmuje:

  • Dyski SATA / IDE / SCSI / NVMe
  • Zarówno SSD, jak i HDD
  • Większość dystrybucji serwerów Linux i platform hostingowych

Dlaczego używać smartctl?

KorzyśćZaleta
Wczesne wykrywanie awariiZapobiegaj utracie danych zanim to nastąpi
Diagnostyka w czasie rzeczywistymMonitoruj swoje dyski bez ponownego uruchamiania
Łatwa automatyzacjaŚwietnie współpracuje z cronem, skryptami i alertami
Widoczność na poziomie sprzętuBez zgadywania — uzyskaj surowe dane z dysku
Przyjazny dla DevOps i sysadminówW szerokim zakresie używany w centrach danych i serwerach chmurowych

Jak zainstalować Smartmontools

Instalacja zależy od Twojej dystrybucji Linux:

OSPolecenie instalacji
Ubuntu/Debiansudo apt update && sudo apt install smartmontools
CentOS/RHELsudo yum install smartmontools
Fedorasudo dnf install smartmontools
Arch Linuxsudo pacman -S smartmontools

Po zainstalowaniu, polecenie smartctl jest dostępne za pośrednictwem terminala.

Podstawowe polecenia smartctl

PolecenieCo robi
smartctl -i /dev/sdaWyświetla informacje o dysku
smartctl -H /dev/sdaSprawdza ogólny stan zdrowia
smartctl -A /dev/sdaWyświetla szczegółowe atrybuty S.M.A.R.T.
smartctl -t short /dev/sdaRozpoczyna krótki (2-minutowy) test diagnostyczny
smartctl -t long /dev/sdaRozpoczyna pełny rozszerzony test diagnostyczny (10–60 min)
smartctl -l selftest /dev/sdaWyświetla historię testów
smartctl -l error /dev/sdaWyświetla dzienniki błędów

📌 Zastąp /dev/sda swoim rzeczywistym dyskiem (np. /dev/nvme0n1 dla SSD NVMe).

Przykład: Sprawdzanie stanu zdrowia dysku

sudo smartctl -H /dev/sda

Oczekiwany wynik:

SMART overall-health self-assessment test result: PASSED

Jeśli wynik to PASSED, Twój dysk jest obecnie zdrowy.
Jeśli pokazuje FAILED — natychmiast wykonaj kopię zapasową i zaplanuj wymianę.

Kluczowe atrybuty SMART do monitorowania

IDAtrybutZnaczenie
5Liczba sektorów przeniesionychZłe sektory przeniesione do rezerwowej przestrzeni
197Aktualna liczba oczekujących sektorówSektory oczekujące na ponowne odczytanie
198Liczba błędów niepoprawnych offlineSektory z błędami odczytu/zapisu
194Temperatura (Celsjusz)Utrzymuj poniżej 50 °C dla optymalnej wydajności

Wzrost wartości w tych polach = postępująca degradacja dysku.

Zalecany harmonogram monitorowania

ZadanieCzęstotliwość
-H sprawdzenie zdrowiaCo tydzień
Krótk test (-t short)Co tydzień
Długi test (-t long)Co miesiąc
Przegląd dziennika błędówPo awariach lub problemach z I/O
Monitorowanie temperaturyNa stałe (za pomocą skryptów)

Automatyzacja z Cron

Przykład: cotygodniowy raport e-mailowy o stanie dysku

0 3 * * 1 smartctl -H /dev/sda | mail -s "SMART Health Report" you@example.com

📌 Upewnij się, że mailutils lub sendmail jest zainstalowany.

Podsumowanie

smartctl to lekkie, ale potężne narzędzie, którego żaden sysadmin nie powinien ignorować. Dzięki niemu możesz utrzymać swoje serwery w zdrowiu, twoje dane w bezpieczeństwie i twoją infrastrukturę proaktywną.