Jak sprawdzić zdrowie dysku twardego z wiersza poleceń za pomocą SmartCtl

Jak sprawdzić zdrowie dysku twardego z wiersza poleceń za pomocą SmartCtl

SmartMontools Pakiet jest ogólnie dostępny w domyślnych repozytoriach wszystkich głównych dystrybucji Linux. Zawiera dwa narzędzia przydatne do sprawdzenia statusu przechowywania z S.M.A.R.T wsparcie (Technika analizy i raportowania samooceny): SmartCl I Smartd. Ten pierwszy to narzędzie, którego używamy bezpośrednio do sprawdzania s.M.A.R.T atrybuty, uruchamianie testów lub wykonywanie innych działań; ten ostatni to demon, który można użyć do planowania operacji w tle. W tym samouczku poznamy podstawowe użycie Smartctl.

W tym samouczku się nauczysz:

  • Jak zainstalować pakiet SmartMontools w różnych dystrybucjach
  • Jakie są różnice między S.M.A.R.T samokontroli
  • Jak używać SmartCtl do sprawdzenia zdrowia urządzenia pamięci masowej
  • Jak uruchomić testy na urządzeniu pamięci z wiersza poleceń
Jak sprawdzić zdrowie dysku twardego z wiersza poleceń za pomocą SmartCtl

Zastosowane wymagania i konwencje oprogramowania

Wymagania oprogramowania i konwencje linii poleceń Linux
Kategoria Wymagania, konwencje lub wersja oprogramowania
System Niezależny dystrybucja
Oprogramowanie Pakiet SmartMontools (patrz instrukcje)
Inny Uprawnienia korzeniowe
Konwencje # - Wymaga, aby podane Linux -commands były wykonywane z uprawnieniami root bezpośrednio jako użytkownik root lub za pomocą sudo Komenda
$-wymaga wykonania Linux-commands jako zwykłego niewidzianego użytkownika

Instalacja

Jak wspomniano wcześniej SmartMontools Pakiet jest dostępny w repozytoriach wszystkich głównych dystrybucji Linuksa, dlatego wszystko, co musimy zrobić, to użyć naszego ulubionego menedżera pakietów. Jeśli biegasz na Debian lub jednej z jego pochodnych, takich jak na przykład Ubuntu lub Mint, możesz uruchomić:

$ sudo apt-get aktualizacja && sudo apt-get instaluj smartmontools 

O najnowszych wersjach Red Hat Enterprise Linux, Centos i Fedora możemy użyć DNF:

$ sudo dnf instaluj smartmontools 

Jeśli arcyklinux jest Twoją ulubioną dystrybucją, możesz użyć Pacman:

$ sudo pacman -SmartMontools 


Sprawdzanie, czy inteligentne jest włączone

Zapoznajmy się z Smartctl pożytek. Pierwszą rzeczą, którą chcemy sprawdzić, jest to, czy s.M.A.R.T Obsługa jest aktywna na urządzeniu. Aby wykonać tę operację, możemy uruchomić narzędzie SmartCtl z -I opcja (skrót --informacje):

$ sudo smartctl -i /dev /sda 

Wyjście polecenia jest następujące:

=== Rozpoczęcie Informacji Sekcja === Rodzina modelu: Western Digital Red Device Model: WDC WD10EFRX-68FYTN0 LU WWN ID urządzenia: 5 0014EE 20C672DEF Wersja oprogramowania układowego: 82.00A82 Pojemność użytkownika: 1 000 204 886 016 bajtów [1.00 TB] rozmiary sektorowe: 512 bajtów logicznych, 4096 bajtów Rotacja fizyczna: 5400 RPM urządzenie to: w bazie danych Smartctl [Aby uzyskać szczegółowe informacje na temat: -p show] Wersja ATA IS: ACS -2 (niewielka wersja nie wskazana) Wersja SATA IS: Sata 3.0, 6.0 GB/s (Obecny: 3.0 GB/s) Czas lokalny to: Czw 24 września 18:13:19 2020 Cest Smart Support to: Dostępne - urządzenie ma inteligentne możliwości. Inteligentna obsługa to: niepełnosprawne 

Widzimy, że wyświetlane są podstawowe informacje, takie jak rodzina urządzeń, model, rozmiary sektorowe itp. Najbardziej interesuje nas jednak treść dwóch ostatnich linii. Stamtąd możemy zobaczyć, że urządzenie ma inteligentne możliwości i że w tym przypadku inteligentna obsługa jest wyłączona. Co jeśli chcemy to włączyć? Wszystko, co musimy zrobić, to uruchomić Smartctl z -S Opcja, używając „ON” jako argumentu:

$ sudo smartctl -s on /dev /sda smartctl 6.6 2017-11-05 R4594 [ARMV6L-Linux-5.4.51+] (lokalna kompilacja) Copyright (c) 2002-17, Bruce Allen, Christian Franke, www.SmartMontools.org === Rozpoczęcie poleceń Włącz/Wyłącz sekcję === Smart Enabled. 

Zapoznanie się z SmartCtl

Aby uzyskać wszystkie dostępne inteligentne informacje o urządzeniu pamięci, możemy uruchomić narzędzie za pomocą -A opcja (skrót -Wszystko) i oczywiście przejdź ścieżkę urządzenia, którą chcemy sprawdzić jako ostatni argument polecenia. Załóżmy, że chcemy sprawdzić aktualny status /dev/sda urządzenie; Bieglibyśmy:

$ sudo smartctl -a /dev /sda 

Powyższe polecenie wytwarza wiele wyjściowych. Wśród innych rzeczy możemy zobaczyć status różnych inteligentnych parametrów:

Inteligentne atrybuty Struktura danych Numer Wersji: 16 Specyficzne atrybuty specyficzne dla progów z progami: Id# atrybut_name Wartość flagi najgorsze typy thresh zaktualizowano When_Failed Raw_Value 1 Raw_Read_ERROR_Rate 0x002f 200 200 051 Pre -Fail Zawsze - 0 3 Spin_Up_time 0x0027 135 125 021 Pre -Fail zawsze - 4216 4 start_stop_count 0x0032 100 100 000 old_age zawsze - 941 5 Reallocated_Sector_CT 0x0033 200 200 140 Pre -Fail Zawsze - 0 7 Seek_error_rate 0x002e 200 200 000 old_age zawsze - 0 9 Power_on_hours 0x0032 085 085 000 Old_age Always - 11285 10 Spin_TRET_AGES - 0 11 CALIBRATION_RETRY_COUNT 0X0032 100 100 000 OLD_AGE Zawsze - 0 12 Power_cycle_Count 0x0032 100 100 000 Old_age Zawsze - 446 192 Power -Off_Retract_count 0x0032 200 200 000 Old_Age Zawsze - 108 193 ładowanie_cycle_count 0x0032 199 199 000 Old_age zawsze -4258 194 TEMPERATY_CELSIUS 0x0022 111 099 000 OLD_AGE Zawsze - 32 196 READLOCATED_EVENT_COUNT 0x0032 200 200 000 Old_age Zawsze - 0 197 Current_pending_sector 0x0032 200 200 000 old_age zawsze - 08 offline_uncline_uncorrectable 0x0030 100 253 000 Old_age Offline - 0 199 UDME_CRC_RORR_ORORR_ONOUNT_CEGES 0 200 multi_zone_error_rate 0x0008 200 200 000 old_age offline - 0 

Bardzo ważne parametry do sprawdzenia są między innymi „Reallocated_sector_ct” i „Current_pending_sector”. W obu przypadkach, jeśli WARTOŚĆ SUROWA to coś innego niż 0, powinniśmy być bardzo ostrożni i zacząć tworzyć kopie zapasowe danych na dysku twardym. Reallocated_sector_ct to liczba sektorów na urządzeniu blokowym, których nie można poprawnie używać.

Po znalezieniu takiego sektora jest on remisowany na jeden
dostępnych zapasowych sektorów urządzenia pamięci, a dane zawarte w nim są przenoszone. Current_pending_sector Zamiast tego atrybut jest liczbą złych sektorów, które wciąż czekają na remont. Jeśli chcesz dowiedzieć się więcej o S.M.A.R.T atrybuty i ich znaczenie, możesz zacząć patrzeć na Wikipedię.M.A.R.Strona T.

W wyjściu możemy również zobaczyć dziennik testów przeprowadzonych na urządzeniu:

Inteligentna struktura dziennika samooceny Numer 1 NUM TEST_Description Status Pozostały okres życia (godziny) LBA_OF_FIRST_ERROR # 1 Krótka offline zakończona bez błędu 00% 9590 - # 2 krótka offline zakończona bez błędu 00% 2941 - # 3 rozszerzone offline zakończone bez błędu 00% 21 21% 21 21% 21 21% 21% 21 - # 4 Krótka offline zakończona bez błędu 00% 18 - # 5 Krótka offline zakończona bez błędu 00% 0 - # 6 Krótka offline zakończona bez błędu 00% 0 - 

w Test_description Kolumna, widzimy, że przeprowadzono różnego rodzaju testy, a wszystkie z nich zostały ukończone bez błędu. W następnej sekcji zobaczymy, jakie są różnice między nimi i jak faktycznie uruchomić test na urządzeniu pamięci.

Dostępne inteligentne testy

Smartctl Narzędzie można użyć do wprowadzenia różnych autotestów:

  • krótki
  • długi
  • transport (tylko urządzenia ATA)
  • Wybierz (tylko urządzenia ATA)

Szybko zobaczmy, jakie są różnice między nimi.

krótki Test ma szybko sprawdzić najczęstsze problemy, które można znaleźć na urządzeniu pamięci masowej. Test powinien zająć nie więcej niż 10 minut: sprawdzane są mechaniczne, elektryczne i odczytowe wydajność dysku.

długi Test jest w zasadzie dokładniejszą wersją „krótkiego” testu. Może zająć dużo czasu: jak stwierdzono w instrukcji SmartCtl, może trwać od dziesiątek minut do kilku godzin.

przewóz Test ma sprawdzić możliwe szkody podczas transportu urządzenia. Zwykle zajęcie testu transportu zajmuje minuty. Jest dostępny tylko na urządzeniach ATA.

wybierać Test, podobnie jak „transport”, jest dostępny tylko na urządzeniach ATA i ma sprawdzić tylko określony zakres LBA (logiczne adresy blokowe). Zakres adresów jest określony podczas uruchamiania testu. Na przykład, aby sprawdzić adresy od 10 do 20 (włącznie), uruchomilibyśmy:

$ sudo smartctl -t select, 10-20 

Możliwe jest określenie maksymalnie 5 różnych zakresów LBA, aby sprawdzić, powtarzając -T opcja:

$ sudo smartctl -t Wybierz, 0-5 -t Wybierz, 5-10 


-T opcja jest krótka dla --test i służy do natychmiastowego wykonania testu.

Uruchamianie testu

Widzieliśmy, jakie są możliwe testy, które możemy uruchomić z Smartctl pożytek. Teraz zobaczmy, jak faktycznie rozpocząć test. Jak widzieliśmy pod koniec poprzedniej sekcji, -T Opcja jest używana do natychmiastowego przeprowadzenia testu; Musimy podać rodzaj testu, który chcemy uruchomić jako argument opcji. Aby wykonać krótki test na /dev/sda Urządzenie, które uruchomiliśmy:

$ sudo smartctl -t short /dev /sda smartctl 6.6 2017-11-05 R4594 [ARMV6L-Linux-5.4.51+] (lokalna kompilacja) Copyright (c) 2002-17, Bruce Allen, Christian Franke, www.SmartMontools.org === Rozpoczęcie natychmiastowej sekcji offline i samokontrolę === Wysyłanie polecenia: „Wykonaj inteligentną rutynę krótkiego autotestu w trybie off-line”. Polecenie napędu „Wykonaj inteligentną procedurę krótkiego autotestu w trybie off-line”. Testy się rozpoczęły. Poczekaj 2 minuty na zakończenie testu. Test zakończy się po czwartym wrześniu 14:39:05 2020 Użyj Smartctl -x, aby przerywać test. 

Wyjście poleceń podaje czas, w którym powinniśmy poczekać na zakończenie testu oraz datę i czas, kiedy powinien zostać zakończony. Po określonym przedziale czasowym, aby sprawdzić wyniki testu, które możemy uruchomić:

$ sudo smartctl -a /dev /sda 

Jak można zauważyć test (pierwszy na liście - nr 1) i jego wyniki zostały dodane do listy dziennika. Został ukończony bez błędów:

Inteligentna struktura dziennika samooceny Numer 1 NUM TEST_Description Status Pozostały okres życia (godziny) LBA_OF_FIRST_ERROR # 1 Krótka offline zakończona bez błędu 00% 11286 - # 2 Krótka offline zakończona bez błędu 00% 9590 - # 3 Krótka offline zakończona bez błędu 00% 2941 - # 4 Wydłużona offline zakończona bez błędu 00% 21 - # 5 Krótka offline zakończona bez błędu 00% 18 - # 6 Krótka offline bez błędu 00% 0 - # 7 Krótka offline zakończona bez błędu 00% 0 - 

Możliwe jest wiedzieć, że szacowany czas testu, który zrobiłby test, aby zakończyć. Takie informacje powinny być zawarte w wyjściu smartctl -a /dev /sdx polecenie, ale można je jawnie poprosić, uruchamiając Smartctl z -C opcja (skrót --możliwości). Poniżej znajdują się interesujące linie w wyjściu:

$ sudo smartctl -c /dev /sda […] Krótka rutyna samokontroli Zalecany czas ankiet: (2) minuty. Rozszerzona rutyna samokontroli Zalecany czas wyboru: (157) minuty. Rutynowy samokontrol z transportu Zalecany czas ankiet: (5) minuty. […] 

Uruchommy test transportu, teraz:

$ sudo smartctl -t transport /dev /sda 

Czekamy 5 minut, a następnie sprawdzamy wyniki. Zgodnie z oczekiwaniami test pojawia się teraz na liście i na szczęście nie znaleziono błędów:

Inteligentna struktura dziennika samooceny Numer 1 NUM TEST_Description Status Pozostały okres życia (godziny) LBA_OF_FIRST_ERROR # 1 Przenoszenie transportu Uffline bez błędu 00% 11286 - # 2 Krótka offline zakończona bez błędu 00% 11286 - # 3 Krótka offline zakończona bez błędu 00% 9590 - # 4 Krótka offline zakończona bez błędu 00% 2941 - # 5 Wydłużona offline zakończona bez błędu 00% 21 - # 6 Krótka offline zakończona bez błędu 00% 18 - # 7 Krótka offline bez błędu 00% 0 - # 8 Krótki offline zakończony bez błędu 00% 0 - 


Teraz dla prostego wybierać test:

$ sudo smartctl -t Wybierz, 100-150 /dev /sda Smartctl 6.6 2017-11-05 R4594 [ARMV6L-Linux-5.4.51+] (lokalna kompilacja) Copyright (c) 2002-17, Bruce Allen, Christian Franke, www.SmartMontools.ORG === Rozpoczęcie natychmiastowego i samokontrolowego sekcji === Wysyłanie polecenia: „Wykonaj SMART SELECTION Self-Test natychmiast w trybie off-line”. Span start_lba ending_lba 0 100 150 Drive Polecenie „Wykonaj SMART SELECTION Self-Test natychmiast w trybie off-line”. Testy się rozpoczęły. 

Ten test został pomyślnie zakończony:

Inteligentna struktura dziennika samooceny Numer 1 NUM TEST_Description Status Pozostały okres życia (godziny) LBA_OF_FIRST_ERROR # 1 Selektywna offline ukończona bez błędu 00% 11287 - # 2 transport offline zakończony bez błędu 00% 11286 - # 3 krótka offline ukończona bez błędu 00% 11286 - # 4 krótka offline zakończona bez błędu 00% 9590 - # 5 Krótka offline zakończona bez błędu 00% 2941 - # 6 przedłużone offline bez błędu 00% 21 - # 7 Krótka offline bez błędu 00% 18 - # 8 Krótka offline zakończona Bez błędu 00% 0 - # 9 krótka offline zakończona bez błędu 00% 0 - 

Ponownie, wyniki testów są zawarte w wyjściu generowanym po uruchomieniu SmartCtl z -A opcja; Jeśli ktoś chce skupić się tylko na dziennikach, zamiast tego może użyć -L opcja (--dziennik) i określ, jakie rodzaje dzienników należy wyświetlić. Tylko do wyświetlania błąd dzienniki, można by uruchomić:

$ sudo smartctl -l błąd /dev /sda 

Dołączyć również Testy samookaleczenia Zamiast tego:

$ sudo smartctl -l błąd -l selftest /dev /sda 

Gdy Smartctl jest uruchamiany z -A opcja błąd, Testy samookaleczenia I selektywny Dzienniki są zawarte w wyjściu dla urządzeń ATA.

Wnioski

W tym samouczku widzieliśmy, jak zainstalować SmartMontools pakiet na niektórych najczęściej używanych dystrybucjach Linux i jak korzystać z Smartctl narzędzie do sprawdzenia statusu s.M.A.R.T Parametry na urządzeniu pamięci. Widzieliśmy również, jakie są możliwe testy, które możemy uruchomić i jakie są różnice między nimi. Widzieliśmy również, jak przeprowadzić test i jak wyniki. W następnym artykule zobaczymy, jak zaplanować testy za pomocą Smartd Demon i jak zostać powiadomiony z e -mailem podczas napotkania błędu. Czekać na dalsze informacje!

Powiązane samouczki Linux:

  • Jak skonfigurować SmartD i zostać powiadomiony o dysku twardym…
  • Linux Podstawowe polecenia kontroli zdrowia
  • Optymalizacja wydajności Linux: Narzędzia i techniki
  • Ubuntu 20.04 Monitorowanie systemu za pomocą widżetów study
  • Ubuntu 22.04 Monitorowanie systemu za pomocą widżetów study
  • Najlepsze narzędzie do monitorowania systemu dla Linux
  • Wprowadzenie do automatyzacji, narzędzi i technik Linuksa
  • Jak podzielić napęd USB w Linux
  • Jak zbudować aplikację Tkinter za pomocą obiektu zorientowanego na…
  • Jak korzystać z Dysku Google w Linux