Czy mój dysk twardy ulega awarii?

41

Właśnie próbowałem uruchomić test na moim dysku twardym i nie chce on wykonać autotestu. Oto wynik:

smartctl --attributes --log=selftest /dev/sda
smartctl 6.2 2013-07-26 r3841 [x86_64-linux-3.13.0-32-generic] (local build)

=== 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     0x002f   200   200   051    Pre-fail  Always       -       697
  3 Spin_Up_Time            0x0027   206   160   021    Pre-fail  Always       -       691
  4 Start_Stop_Count        0x0032   074   074   000    Old_age   Always       -       26734
  5 Reallocated_Sector_Ct   0x0033   200   200   140    Pre-fail  Always       -       0
  7 Seek_Error_Rate         0x002e   200   200   000    Old_age   Always       -       28
  9 Power_On_Hours          0x0032   090   090   000    Old_age   Always       -       7432
 10 Spin_Retry_Count        0x0032   100   100   000    Old_age   Always       -       0
 11 Calibration_Retry_Count 0x0032   100   100   000    Old_age   Always       -       0
 12 Power_Cycle_Count       0x0032   097   097   000    Old_age   Always       -       3186
191 G-Sense_Error_Rate      0x0032   001   001   000    Old_age   Always       -       20473
192 Power-Off_Retract_Count 0x0032   200   200   000    Old_age   Always       -       84
193 Load_Cycle_Count        0x0032   051   051   000    Old_age   Always       -       447630
194 Temperature_Celsius     0x0022   113   099   000    Old_age   Always       -       34
196 Reallocated_Event_Count 0x0032   200   200   000    Old_age   Always       -       0
197 Current_Pending_Sector  0x0032   200   200   000    Old_age   Always       -       16
198 Offline_Uncorrectable   0x0030   100   253   000    Old_age   Offline      -       0
199 UDMA_CRC_Error_Count    0x0032   200   200   000    Old_age   Always       -       0
200 Multi_Zone_Error_Rate   0x0008   100   253   000    Old_age   Offline      -       0

SMART Self-test log structure revision number 1
Num  Test_Description    Status                  Remaining  LifeTime(hours)  LBA_of_first_error
# 1  Short offline       Completed: read failure       90%      7432         92290592
# 2  Conveyance offline  Completed: read failure       90%      7432         92290596
# 3  Conveyance offline  Completed: read failure       90%      7432         92290592
# 4  Short offline       Completed: read failure       90%      7431         92290596
# 5  Extended offline    Completed: read failure       90%      7431         92290592

Czy ten dysk ulega awarii?

Michel
źródło
Kiedy korzystam z narzędzia graficznego, napisane jest, że test się nie powiódł
Michel
3
Powtarzane read failurewiadomości zwykle wskazują na
awarię
23
Michel, witaj w SF i dziękuję za dobre pierwsze pytanie. Jak widać, jeśli zdecydujesz się pozostać w pobliżu tych części (co mam nadzieję, że tak zrobisz), dobre pierwsze pytanie jest rzadką i cenną rzeczą. Miałeś hipotezę odpowiednią dla witryny ( „mój dysk twardy nie działa ”), znalazłeś odpowiednie narzędzie i nauczyłeś się z niego korzystać, ale potrzebowałeś pomocy w interpretacji wyników. Przybyłeś tutaj, podałeś nam wszystkie istotne informacje, bez nadwyżek śmieci i zadałeś pytanie, które było wzorem zwięzłości. Dziękuję - zostań w pobliżu!
MadHatter obsługuje Monikę
3
+1: Doskonałe pierwsze pytanie. Aby maksymalnie wykorzystać błąd serwera, zarejestruj swoje konto i sprawdź inne witryny w sieci Stack Exchange . Mamy nadzieję, że wniesiesz więcej wysokiej jakości treści do Stack Exchange.
bwDraco,

Odpowiedzi:

43

Twój dysk bardzo chętnie wykonuje autotest; z podsumowania, wykonał ponad pięć z nich w ciągu ostatniej godziny. I wszystkie zawiodły, na początku testu, z błędami odczytu.

Tak, ten dysk twardy ulega awarii. Jak powiedział słynny raport Google Labs (chociaż nie mogę w tej chwili położyć na nim linku), jeśli smartctlmówi , że twój dysk nie działa, prawdopodobnie tak jest (parafrazuję).

Edycja : nie próbuj go zapisywać. Pobierz wszystkie dane i zamień je.

MadHatter obsługuje Monikę
źródło
9
Jeśli zawodzi, to zawodzi. Naprawienie tego może być technicznie możliwe, ale bardzo mało prawdopodobne, aby było opłacalne w porównaniu z kosztem nowego napędu.
Sobrique
7
@Michel Nieobecność błędu autotestu nie jest dowodem, że napęd nie jest w braku, niestety, ale obecność błędu przez auto test powinien zawsze brać pod uwagę dowód, że jest wadliwa.
Rob Moir
1
@Michel: Możesz spróbować wymienić kable. Czasami dysk może ulec awarii nie z powodu problemów z dyskiem, ale z powodu złych kabli zasilających lub danych.
Thomas Padron-McCarthy
1
@ JorgeNerín: Myślę, że masz doskonały punkt widzenia, ale dowodem jest, że zarówno ja, jak i PO już to rozumiemy - PO musi, ponieważ zainicjował co najmniej pięć z nich w ciągu ostatnich dwóch godzin. Jeśli chodzi o testy, zgadzam się z tobą, że długi test byłby lepszym wskaźnikiem tego, że dysk jest w dobrej kondycji, ale gdy zawiedzie zarówno testy krótkie, jak i testy przenoszenia w pierwszych 10% dysku, myślę, że możemy rozsądnie stwierdzić, że dysk jest strzał. Co, według ciebie, zostanie ujawnione w wyniku szerszych testów?
MadHatter obsługuje Monikę
2
@ JorgeNerín <grin> to ma sens! Mówiłem tak tylko dlatego, że OP zaczął od antropomorfizacji jego napędu: „ Właśnie próbowałem uruchomić test na moim dysku twardym i nie chcę ukończyć autotestu ”. Nie sądzę, aby którykolwiek z nas myślał, że napęd jest żywy, ani że sam planuje samokontroli!
MadHatter obsługuje Monikę
10

Aby odpowiedzieć na twoje pytanie, nieudany test SMART jest pewnym wskaźnikiem zbliżającej się awarii dysku. Należy wykonać kopię zapasową danych i jak najszybciej wymienić dysk, aby zapobiec potencjalnej utracie danych.

@ sj0h wspomniał o liczbie cykli obciążenia, która jest bardzo wysoka przy 447,630. (Większość współczesnych dysków twardych jest zaprojektowana tak, aby wytrzymać 600 000 cykli ładowania / rozładowywania.) Jest to zazwyczaj spowodowane funkcją Advanced Power Management (APM), która stara się oszczędzać energię poprzez parkowanie głowic (rozładowywanie ich z talerzy) po kilku sekundach bezczynny. W razie potrzeby głowice są ładowane z powrotem na talerze. W większości systemów, w których dyski twarde są przerywane, włączane i wyłączane, może to powodować wiele cykli ładowania / rozładowywania. Aby wyłączyć APM, uruchom następujące polecenie w wierszu głównym:

smartctl -s apm,off /dev/sda

To polecenie będzie musiało być uruchamiane za każdym razem, gdy system jest wyłączany lub przełączany w tryb uśpienia lub gdy dysk jest w inny sposób wyłączany, ponieważ to ustawienie nie jest zachowywane po wyłączeniu napędu.

Z mojego doświadczenia wynika, że ​​zrobienie tego znacznie drastycznie zmniejszy liczbę cykli ładowania / rozładowania, a tym samym szanse, że w przyszłości ponownie doświadczysz tego rodzaju awarii. Należy jednak pamiętać, że takie postępowanie zwiększa zużycie energii i temperaturę napędu. Jeśli napęd stale pracuje w temperaturach przekraczających 50 ° C, ryzyko przedwczesnej awarii jest zwiększone, więc możesz chcieć pozostawić APM włączony (lub włączyć go, jeśli jest wyłączony) w cieplejszych miesiącach.

bwDraco
źródło
2

Oprócz błędów odczytu, weź również pod uwagę liczbę cykli ładowania. Przy prawie 500 000 może to wskazywać na przyczynę awarii lub co najmniej zużycia cyklu obciążenia. Dla każdej minuty czasu rozruchu istnieje cykl ładowania. Po wymianie dysku upewnij się, że nowy dysk również tego nie robi.

sj0h
źródło
Bardzo dobra obserwacja. Jak można zdiagnozować, dlaczego dysk wiruje i co minutę się tworzy?
dotancohen,
@dotancohen, zobacz moją odpowiedź - APM jest winien.
bwDraco
2

Tak, masz 16 sektorów nieczytelnych, próbujesz wykonać kilka testów, z których wszystkie nie powiodły się w mniej więcej tym samym obszarze dysku, więc wykonaj kopię zapasową szybko, ale pamiętaj, że masz już niedostępne dane, pozostając w pobliżu sektory 92290592, 92290596.

Możesz mieć inne problematyczne obszary, wciąż nie wiesz, czy te 16 sektorów jest następujących po sobie lub rozproszonych, jeśli chcesz grać po utworzeniu kopii zapasowej, możesz wykonać selektywny autotest z opcją -t select, startlba-endlba.

Current_Pending_Sector oznacza, że ​​oprogramowanie dysku twardego próbowało go odczytać, ale nie może, spróbuje kilka razy więcej (za każdym razem, gdy system operacyjny o to poprosi), dopóki nie zawiedzie i nie oznaczy go jako Offline_Uncorrectable lub zastąpi uszkodzony sektor innym wolnym sektorem, jeśli OS zapisuje do niego (zwiększając w ten sposób Reallocated_Sector_Ct).

Jorge Nerín
źródło
1

Osobiście wymieniłem dysk. Jeśli z jakiegoś powodu nie chcesz tego jeszcze robić, ale jeszcze trwasz dłużej, potrzebujesz sposobu, aby upewnić się, że przypadkowo nie wykorzystasz złych obszarów dla nowych plików.

Miałem taki napęd na starym komputerze Mac, właśnie nagrywając wideo, i zdecydowałem, że nie chcę go jeszcze zmieniać, ponieważ filmy były po prostu fajne. Musiałem więc wyodrębnić błędy. Najpierw utworzyłem pusty folder tylko dla złych plików, a następnie próbowałem odczytać wszystkie istniejące pliki na dysku, a wszystkie z błędami zostały przeniesione do katalogu złych plików (mam nadzieję, że tylko nieważne).

Następnie utworzyłem wiele jednobajtowych plików o unikatowej nazwie, aby zapełnić dysk twardy (więc cała pusta przestrzeń znajdowała się teraz w jednym z tych plików 1 MB), a następnie powtórzyłem procedurę. Wszystkie pliki z błędami zostały przeniesione do katalogu złych plików, a te, które pozostały, były dobre i mogły zostać usunięte, aby odzyskać złe miejsce.

Możesz teraz używać dysku nieco dłużej, ale nie używaj go do ważnych rzeczy. To będzie nie więcej i będzie to najprawdopodobniej być niewygodne, gdy to się dzieje.

Thorbjørn Ravn Andersen
źródło
1

To nie jest bardzo dobry znak. Należy upewnić się, że została utworzona kopia zapasowa zawartości dysku, i nie używać dysku do niczego ważnego.

Widziałem jednak dyski z uszkodzonymi sektorami, które dokonały realokacji i pozostawały operacyjne przez lata, więc możesz trzymać go przez jakiś czas, np. Na nieistotne rzeczy lub dodatkowe kopie zapasowe.

Jedną rzeczą do zrobienia byłoby wtedy sprawdzenie, które pliki zostały uszkodzone przez nieczytelne sektory, i napisanie do tych sektorów, aby wymusić realokację przez dysk (przeniesienie ich z „Current_Pending_Sector” do „Reallocated_Sector_Ct”). Jeśli używasz Linuksa, zobacz http://smartmontools.sourceforge.net/badblockhowto.html . Po realokacji sektorów autotest powinien albo przejść pozytywnie, albo zgłosić więcej nieczytelnych sektorów.

Nie zgadzam się z większością odpowiedzi, ponieważ nie sądzę, aby złe sektory były koniecznie oznaką rychłej awarii. Jak mówi http://blog.mmueh.net/index.php/2010/12/09/luks-meets-badblocks/ , „każdy dysk twardy zaczyna produkować złe sektory w pewnym momencie swojego życia”.

a3nm
źródło
chociaż zgadzam się, że awaria uszkodzonego sektora nie jest pewna, prawdopodobieństwo awarii sterownika po jednym uszkodzonym sektorze znacznie wzrasta (myślę, że tak było w raporcie Google, ale nie mogę obecnie znaleźć rzeczywistego źródła)
Dennis Nolte,