Każdy użytkownik Linuxa prędzej czy później staje przed tym samym pytaniem: „Czy moje dane są bezpieczne?”. Dyski twarde (HDD) i półprzewodnikowe (SSD) to urządzenia mechaniczne lub elektroniczne, które mają swoją żywotność. Zanim jednak Twój serwer lub laptop odmówi posłuszeństwa, dysk zazwyczaj wysyła sygnały ostrzegawcze.
W świecie Linuxa najlepszym lekarzem od diagnostyki pamięci masowej jest smartctl.

Czym jest S.M.A.R.T.?
S.M.A.R.T. (Self-Monitoring, Analysis and Reporting Technology) to system monitorowania wbudowany w niemal każdy nowoczesny dysk. Zbiera on dane o temperaturze, błędach odczytu, liczbie przepracowanych godzin czy sektorach, które zostały zastąpione rezerwowymi.
1. Instalacja narzędzia
W większości dystrybucji opartych na Debianie (np. Ubuntu, Armbian, Raspberry Pi OS) narzędzie znajduje się w pakiecie smartmontools.
$ sudo apt update
$ sudo apt install smartmontools
Używaj kodu z rozwagą.
2. Szybka kontrola: „Żyje czy nie?”
Zanim zagłębisz się w setki cyferek, wykonaj prosty test ogólny. Pokaże on, czy sam dysk uważa, że wszystko jest w porządku.
$ sudo smartctl -H /dev/sda
Używaj kodu z rozwagą.
Uwaga: /dev/sda to nazwa Twojego dysku. Możesz ją sprawdzić komendą lsblk.
Jeśli zobaczysz PASSED, możesz odetchnąć. Jeśli zobaczysz FAILED, natychmiast rób kopię zapasową danych!
3. Czytanie między wierszami (Atrybuty S.M.A.R.T.)
Najciekawsze informacje kryją się pod flagą -A. To tutaj zobaczysz „przebieg” swojego dysku.
$ sudo smartctl -A /dev/sda
Używaj kodu z rozwagą.
Na jakie parametry zwrócić uwagę?
Oto „wielka trójka” parametrów, które zwiastują kłopoty:
- Reallocated_Sector_Ct (ID 5): To liczba sektorów, które uległy awarii i zostały zastąpione zapasowymi. Jeśli ta wartość jest większa od zera i rośnie – dysk fizycznie się sypie.
- Power_On_Hours (ID 9): Całkowity czas pracy dysku. Średnio dyski HDD zaczynają częściej zawodzić po 30 000 – 40 000 godzinach.
- Current_Pending_Sector (ID 197): To sektory „podejrzane”, które czekają na sprawdzenie. To one często powodują nagłe „zamrażanie” systemu (tzw. lagi).
4. Aktywne testowanie powierzchni
smartctl pozwala nie tylko czytać dane, ale też zmusić dysk do wykonania autotestu.
- Krótki test (trwa ok. 2 min):
- $
sudo smartctl -t short /dev/sdaUżywaj kodu z rozwagą.
- $
- Długi test (sprawdza każdy sektor, może trwać godziny):
- $
sudo smartctl -t long /dev/sdaUżywaj kodu z rozwagą.
- $
Wyniki testów sprawdzisz komendą:
$ sudo smartctl -l selftest /dev/sda
Przykładowe wyniki z 10-letniego dysku i ich interpretacja
Oto wyniki testów smartctl dla jednego ze starszych dysków, który posiadam i jest podłączony do SBC BananaPiPro po SATA2:
$ sudo smartctl -H /dev/sda
smartctl 7.4 2023-08-01 r5530 [armv7l-linux-6.18.21-current-sunxi] (local build)
Copyright (C) 2002-23, Bruce Allen, Christian Franke, www.smartmontools.org
=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED
bieli@bananapipro:/mnt/sda5$ sudo smartctl -A /dev/sda
smartctl 7.4 2023-08-01 r5530 [armv7l-linux-6.18.21-current-sunxi] (local build)
Copyright (C) 2002-23, Bruce Allen, Christian Franke, www.smartmontools.org
=== START OF READ SMART DATA SECTION ===
SMART Attributes Data Structure revision number: 16
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE
1 Raw_Read_Error_Rate 0x000b 100 100 062 Pre-fail Always - 0
2 Throughput_Performance 0x0005 100 100 040 Pre-fail Offline - 0
3 Spin_Up_Time 0x0007 253 253 033 Pre-fail Always - 0
4 Start_Stop_Count 0x0012 097 097 000 Old_age Always - 5405
5 Reallocated_Sector_Ct 0x0033 100 100 005 Pre-fail Always - 0
7 Seek_Error_Rate 0x000b 100 100 067 Pre-fail Always - 0
8 Seek_Time_Performance 0x0005 100 100 040 Pre-fail Offline - 0
9 Power_On_Hours 0x0012 088 088 000 Old_age Always - 5347
10 Spin_Retry_Count 0x0013 100 100 060 Pre-fail Always - 0
12 Power_Cycle_Count 0x0032 097 097 000 Old_age Always - 5039
191 G-Sense_Error_Rate 0x000a 100 100 000 Old_age Always - 0
192 Power-Off_Retract_Count 0x0032 100 100 000 Old_age Always - 109
193 Load_Cycle_Count 0x0012 088 088 000 Old_age Always - 124524
194 Temperature_Celsius 0x0002 177 177 000 Old_age Always - 31 (Min/Max 12/59)
196 Reallocated_Event_Count 0x0032 100 100 000 Old_age Always - 1
197 Current_Pending_Sector 0x0022 100 100 000 Old_age Always - 0
198 Offline_Uncorrectable 0x0008 100 100 000 Old_age Offline - 0
199 UDMA_CRC_Error_Count 0x000a 200 200 000 Old_age Always - 0
223 Load_Retry_Count 0x000a 100 100 000 Old_age Always - 0
Z analizy informacji z reportu smartctl wynika, że ten 10-letni dysk jest w doskonałej kondycji. Jak na dekadę pracy, parametry są wręcz wzorowe.
Oto analiza kluczowych punktów Twojej tabeli:
- Stan powierzchni (ID 5, 197, 198): Wszystkie mają
RAW_VALUE = 0. Oznacza to, że dysk nie ma ani jednego uszkodzonego sektora. To rzadkość w tak starym HDD. - Przebieg (ID 9):
Power_On_Hours = 5347. Ten dysk pracował łącznie tylko ok. 222 dni. Choć ma 10 lat, większość czasu prawdopodobnie spędził w szufladzie lub był bardzo rzadko używany. To wyjaśnia jego świetny stan. - Load_Cycle_Count (ID 193):
124524. Głowice parkowały dość często (norma dla dysków 2.5″ to zwykle 300 000 – 600 000), ale wciąż masz ogromny zapas. - Błędy komunikacji (ID 199):
UDMA_CRC_Error_Count = 0. Oznacza to, że kabel SATA i kontroler w Banana Pi działają idealnie, nie gubiąc pakietów. - Temperatura (ID 194):
31°Cto idealne warunki pracy. Maksymalna odnotowana w historii (59°C) była wysoka, ale wciąż w granicach bezpieczeństwa.
Dlaczego zatem mogą zdarzać się skoki do 150 ms w teście ioping na tym dysku?
Skoro SMART jest „czysty”, opóźnienia nie wynikają z fizycznego uszkodzenia dysku. Najbardziej prawdopodobne przyczyny to:
- Mechanika HDD: Nawet sprawny dysk talerzowy musi czasem przesunąć głowicę z jednego końca talerza na drugi, co fizycznie zajmuje czas.
- System operacyjny: Armbian mógł w tle zapisywać logi lub aktualizować bazę danych, co na chwilę „przytkało” kolejkę operacji do dysku.
Podsumowanie: Dysk jest w pełni sprawny i bezpieczny. Możesz go śmiało używać jako stabilny magazyn danych na swoim Banana Pi.
Podsumowanie
Dysk to serce Twojego systemu. Nawet jeśli system działa płynnie, warto raz na miesiąc zajrzeć do statystyk smartctl. Jak pokazały nasze testy na 10-letnich jednostkach Toshiba, wiek to tylko liczba – liczy się realny stan techniczny i parametry zapisane w pamięci urządzenia.
Pamiętaj: Żaden test nie zastąpi regularnego backupu!