Linux – naprawianie bad sectorów

Dyski się zużywają i w końcu wcześniej czy później pojawiają się na nich bad sectory. Jeden z moich dysków ciut się posypał a że służy wyłącznie do backupów to mogę z tym żyć. Ale z drugiej strony jeżeli już będę musiał sięgnąć do backupów to chcę mieć pewność że coś odzyskam, dlatego postanowiłem zrobić kilka testów. Nawet jeśli nie naprawi to sektorów to przynajmniej zostaną zaznaczone jako uszkodzone i realokowane.

Na początek zacząłem od próby puszczenia badblocks w trybie nie destruktywnym na całym dysku:

# badblocks -b 4096 -nsv /dev/sdf
Poszukiwanie wadliwych bloków w trybie z niedestruktywnym zapisem
Od bloku 0 do 488378645
Poszukiwanie wadliwych bloków (odczyt i niedestruktywny zapis)
Testowanie wzorcem losowym: ^Ctowe w 1.28%, minęło 10:47 (błędów: 0/0/0)
Interrupted at block 6262912
Otrzymano przerwanie, sprzątam

Zaczekałem 10 minut i na podstawie bieżących statystyk oszacowałem że test zajmie ponad 13 godzin… Jak widać przerwałem – sprawdźmy więc co powiedzą testy smart’a. Co prawda niczego one nie naprawią ale zidentyfikują, na którym sektorze zaczynają się problemy. Będę mógł wtedy puścić badblocks już od tego miejsca oszczędzając nieco czasu… Więc:

# smartctl -t long /dev/sdf
smartctl 5.41 2011-06-09 r3365 [x86_64-linux-3.2.0-34-generic] (local build)
Copyright (C) 2002-11 by Bruce Allen, http://smartmontools.sourceforge.net
=== START OF OFFLINE IMMEDIATE AND SELF-TEST SECTION ===
Sending command: "Execute SMART Extended self-test routine immediately in off-line mode".
Drive command "Execute SMART Extended self-test routine immediately in off-line mode" successful.
Testing has begun.
Please wait 255 minutes for test to complete.
Test will complete after Sat Nov 24 03:59:21 2012
Use smartctl -X to abort test.

255 minut to trochę ponad 4 godziny – przynajmniej skończy się do rana. No to jeszcze:

# shutdown -h 4:15

I zerkniemy jutro co znajdzie test 🙂

Dzień drugi

Zerkamy… i:

# smartctl -l selftest /dev/sdf
smartctl 5.41 2011-06-09 r3365 [x86_64-linux-3.2.0-34-generic] (local build)
Copyright (C) 2002-11 by Bruce Allen, http://smartmontools.sourceforge.net
=== START OF READ SMART DATA SECTION ===
SMART Self-test log structure revision number 1
Num Test_Description Status                  Remaining  LifeTime(hours) LBA_of_first_error
# 1 Extended offline Completed: read failure        90%           15196 164529056
# 2 Short offline    Aborted by host                10%           15192 -

Widać tutaj wyniki dwóch testów – przy czym interesuje nas ten dłuższy z numerkiem 1. Niestety mam jakiś bad sektor i mam pierwszy adres jego wystąpienia – szkoda że to gdzieś w pierwszych 10% dysku – miałem nadzieję że gdzieś dalej (byłoby mniej do sprawdzenia). Ale jeśli badsectory zaczynają się tak wcześnie to puszczę badblocks od początku – niech przejedzie cały dysk – albo się coś naprawi, albo padnie. Ale przynajmniej sprawa się wyjaśni 😉

Źródła:
http://smartmontools.sourceforge.net/badblockhowto.html
http://sourceforge.net/apps/trac/smartmontools/wiki/SamsungF4EGBadBlocks
man badblocks

Leave a Reply

Your email address will not be published. Required fields are marked *