Jak sprawdzić kondycję dysku w systemie Linux za pomocą smartctl

12 min czytania - 18 maja 2026

hero section cover
Spis treści
  • Jak sprawdzić stan dysku w systemie Linux za pomocą smartctl
  • Instalacja smartmontools
  • Identyfikacja dysków i włączanie funkcji SMART
  • Przeprowadzanie kontroli stanu i autotestów
  • Kluczowe atrybuty SMART, na które należy zwrócić uwagę
  • Automatyzacja monitorowania za pomocą smartd
Udostępnij

Używaj smartctl i smartd do monitorowania stanu dysków, przeprowadzania testów SMART i konfigurowania automatycznych alertów na serwerach Linux. Tagi: smartctl, smartmontools, SMART, kondycja dysków, Linux, monitorowanie serwerów, smartd, NVMe, SSD, HDD.

Jak sprawdzić stan dysku w systemie Linux za pomocą smartctl

smartctl to narzędzie wiersza poleceń służące do monitorowania stanu dysków w systemie Linux. Odczytuje dane S.M.A.R.T. (Self-Monitoring, Analysis, and Reporting Technology) z dysków HDD, SSD i NVMe, śledząc takie wskaźniki, jak sektory realokowane, temperatura i liczba błędów. Jeśli dysk zbliża się do awarii, smartctl otrzymasz ostrzeżenie, zanim utracisz dane. Ten przewodnik obejmuje instalację, uruchamianie kontroli stanu i autotestów, zrozumienie kluczowych atrybutów SMART oraz konfigurację automatycznego monitorowania za pomocą smartd.


Instalacja smartmontools

smartctl jest częścią pakietu smartmontools. Do jego instalacji i uruchomienia większości smartctl polecenia, ponieważ wymagają one bezpośredniego dostępu do sprzętu.

DystrybucjaPole
Debian / Ubuntu / Linux Mintsudo apt update && sudo apt install smartmontools -y
CentOS / RHEL / Rocky / Alma (8+)sudo dnf install smartmontools -y
CentOS / RHEL 7 i starszesudo yum install smartmontools -y
Arch Linux / Manjarosudo pacman -S smartmontools
Fedorasudo dnf install smartmontools

Potwierdź instalację za pomocą smartctl --version.

Identyfikacja dysków i włączanie funkcji SMART

Zanim zaczniesz cokolwiek sprawdzać, musisz wiedzieć, jakie dyski są w Twoim serwerze i czy obsługują funkcję SMART.

Wyświetl listę wszystkich urządzeń blokowych:

lsblk

Wyszukaj dyski zgodne ze standardem SMART:

sudo smartctl --scan

Wynikiem tego są nazwy urządzeń, typy i protokoły (ATA, SCSI, NVMe). Dyski SATA i SAS wyświetlają się jako /dev/sda, /dev/sdbitp. Dyski NVMe pojawiają się jako /dev/nvme0n1, /dev/nvme1n1.

Sprawdź, czy funkcja SMART jest dostępna i włączona na konkretnym dysku:

sudo smartctl -i /dev/sda

W wynikach poszukaj komunikatów „SMART support is: Available” oraz „SMART support is: Enabled”. Jeśli funkcja jest dostępna, ale nie jest włączona, włącz ją:

sudo smartctl -s on /dev/sda

To ustawienie jest zachowywane po ponownym uruchomieniu komputera.

W przypadku dysków podłączonych do kontrolerów RAID użyj flagi -d flagi, aby określić typ kontrolera. W przypadku MegaRAID: -d megaraid,N. Dla HP Smart Array: -d cciss,N. Bez tej flagi smartctl nie będą widoczne poszczególne dyski fizyczne.

Monitorowanie SMART nie jest dostępne dla dysków wirtualnych w środowiskach VPS ani dla większości pamięci USB. Warstwa wirtualizacji lub obudowa USB blokuje dostęp do telemetrii sprzętowej.

Przeprowadzanie kontroli stanu i autotestów

Szybka kontrola stanu sprawdza oprogramowanie układowe dysku pod kątem krytycznych awarii:

sudo smartctl -H /dev/sda

Wynik „PASSED” oznacza, że dysk nie przekroczył wewnętrznego progu awarii. Wynik „FAILED” oznacza, że dysk wkrótce ulegnie awarii. Należy natychmiast wykonać kopię zapasową danych.

Aby uzyskać pełne dane SMART, w tym wszystkie atrybuty i dzienniki błędów:

sudo smartctl -a /dev/sda

Autotesty

smartctl można uruchomić trzy rodzaje autotestów, wszystkie w tle, podczas gdy system pozostaje w działaniu:

  • Krótki test (1–5 minut): sprawdza elementy elektryczne i mechaniczne. sudo smartctl -t short /dev/sda
  • Długi test (kilka godzin): skanuje każdy sektor na dysku. sudo smartctl -t long /dev/sda
  • Test transportowy (~5 minut): wykrywa fizyczne uszkodzenia powstałe podczas transportu. sudo smartctl -t conveyance /dev/sda

Sprawdź szacowany czas zakończenia przed rozpoczęciem długiego testu:

sudo smartctl -c /dev/sda

Wyświetl wyniki testu:

sudo smartctl -l selftest /dev/sda

Powinieneś zobaczyć komunikat „Zakończono bez błędów”. Jeśli test się nie powiedzie, wynik zawiera LBA_of_first_error, co wskazuje, w którym miejscu na dysku znajduje się uszkodzenie.

Kluczowe atrybuty SMART, na które należy zwrócić uwagę

Kontrola stanu typu „zaliczone/niezaliczone” jest przydatna, ale ma ograniczoną przydatność. Dysk może zgłaszać wynik „ZALICZONE”, podczas gdy poszczególne atrybuty wykazują niekorzystne tendencje. Oto te, które mają największe znaczenie:

  • Liczba realokowanych sektorów (ID 5): Uszkodzone sektory, które dysk zamienił na zapasowe. Każda wartość inna niż zero oznacza fizyczne zużycie. Pojedynczy realokowany sektor na starym dysku niekoniecznie jest pilny, ale rosnąca liczba to wyraźne ostrzeżenie.
  • Aktualna liczba sektorów oczekujących (ID 197): Sektory, których dysk nie mógł odczytać lub zapisać, oczekujące na ponowne przypisanie. Jeśli liczba ta stale rośnie, oznacza to pogorszenie stanu dysku.
  • Błędy niemożliwe do skorygowania w trybie offline (ID 198): Błędy niemożliwe do skorygowania wykryte podczas skanowania w tle. Wskazuje na uszkodzenie powierzchni.
  • Liczba błędów CRC UDMA (ID 199): Błędy transferu danych. Zazwyczaj wskazuje to na wadliwy kabel SATA lub luźne złącze, a nie na awarię dysku. Najpierw sprawdź kable.

W przypadku dysków SSD i NVMe należy zamiast tego obserwować parametry „Dostępna rezerwa” i „Procent wykorzystania”. Gdy „Procent wykorzystania” zbliża się do 100%, dysk osiągnął limit wytrzymałości zapisu.

Temperatura również ma znaczenie. Dyski HDD stają się zawodne w temperaturze powyżej 50°C. Dyski SSD tolerują wyższe temperatury, ale powinny pozostać poniżej 70°C. Wyświetl wszystkie atrybuty specyficzne dla danego producenta za pomocą smartctl -A /dev/sdalub sprawdź ostatnie błędy poleceń za pomocą smartctl -l error /dev/sda.

Automatyzacja monitorowania za pomocą smartd

Ręczne sprawdzanie dysków jest wystarczające w przypadku jednorazowej diagnostyki. Do ciągłego monitorowania należy używać smartd, demona dołączonego do smartmontools. Domyślnie sprawdza on dyski co 30 minut i rejestruje zmiany atrybutów w syslogu.

Edytuj plik konfiguracyjny w /etc/smartd.conf (lub /etc/smartmontools/smartd.conf w systemach RHEL/CentOS). Zamiast polegać na DEVICESCAN na automatyczne wykrywanie wszystkich elementów, należy wyraźnie wymienić dyski. Pozwoli to uniknąć zawieszeń spowodowanych przez niekompatybilne urządzenia.

Przykładowa konfiguracja:

/dev/sda -a -m [email protected] -s (S/../.././02|L/../../6/03) -W 4,45,55
/dev/sdb -a -m [email protected] -n standby,q

Znaczenie flag:

  • -a: monitoruj wszystkie atrybuty SMART
  • -m: wysyłaj powiadomienia e-mailowe w przypadku awarii
  • -s: zaplanuj krótki test codziennie o 2:00 w nocy i długi test w każdą sobotę o 3:00 w nocy
  • -W 4,45,55: rejestruje zmianę temperatury o 4°C, ostrzega przy 45°C, wysyła alert krytyczny przy 55°C
  • -n standby,q: pomijają odpytywanie dysków w trybie czuwania, aby uniknąć niepotrzebnego uruchamiania

W przypadku dysków podłączonych do kontrolerów RAID należy określić typ dla każdego dysku:

/dev/sda -d megaraid,0 -a -m [email protected]
/dev/sda -d megaraid,1 -a -m [email protected]

Włącz i uruchom usługę:

sudo systemctl enable --now smartd

W systemach opartych na Debianie należy również usunąć komentarz start_smartd=yes w /etc/default/smartmontools.

Aby przetestować powiadomienia e-mailowe, dodaj -M test do linii konfiguracyjnej, uruchom ponownie smartd, a następnie usuń go. Zaktualizuj zmiany w konfiguracji bez restartowania usługi za pomocą killall -HUP smartd.

Krótki codzienny test trwa 1–2 minuty i wykrywa większość powierzchownych usterek. Tygodniowy długi test obejmuje każdy sektor. W połączeniu z powiadomieniami e-mailowymi zapewnia to niezawodne wczesne ostrzeżenie, zanim dysk ulegnie całkowitej awarii.

background image
Czy Twój serwer hamuje Twój rozwój?

Masz dość powolnych wdrożeń lub limitów przepustowości? FDC Servers oferuje natychmiastową dedykowaną moc, globalny zasięg i elastyczne plany dostosowane do dowolnej skali.

Uaktualnij teraz

Blog

Polecane w tym tygodniu

Więcej artykułów
Procesy zombie w systemie Linux: Znajdź, usuń, zapobiegaj

Procesy zombie w systemie Linux: Znajdź, usuń, zapobiegaj

Dowiedz się, jak identyfikować, usuwać i zapobiegać procesom zombie w systemie Linux. Polecenia, poprawki kodu i wskazówki dotyczące monitorowania dla administratorów serwerów.

15 min czytania - 19 maja 2026

Lista kontrolna zabezpieczania serwerów Linux

15 min czytania - 8 maja 2026

Więcej artykułów
background image

Masz pytania lub potrzebujesz niestandardowego rozwiązania?

icon

Elastyczne opcje

icon

Globalny zasięg

icon

Natychmiastowe wdrożenie

icon

Elastyczne opcje

icon

Globalny zasięg

icon

Natychmiastowe wdrożenie