badblocks, coś z nim nie tak chyba.
Jakub Głazik
zytek-lists w nuxi.pl
Sob, 16 Cze 2007, 20:00:23 CEST
badblocks, ten soft w ogóle do czegokolwiek służy?
zaobserwowałem takie coś u siebie:
hda: dma_intr: status=0x51 { DriveReady SeekComplete Error }
hda: dma_intr: error=0x40 { UncorrectableError }, LBAsect=22686768,
sector=22686768 ide: failed opcode was: unknown
end_request: I/O error, dev hda, sector 22686768
Buffer I/O error on device hda2, logical block 393966
Pojawia się to przy odczycie z jednej partycji, zwróciłem uwagę gdy
reiserfsck mi się wywalił sugerując wadliwy dysk.
Błędy pojawiają się przy odczycie >800Mb na partycji hda2 (sprawdziłem
przez dd).
Zapuściłem więc badblocks, ale.. no właśnie. Po pierwsze primo, czy on
w ogóle OZNACZA badblocki na dysku, czy tylko wypisuje?
Poza tym mogliby wspomnieć w dokumentacji, że wynik działania mocno
zależy od ustawień dysku oraz ilości czytanych bloków na raz (-c).
[root w jenny ~]# badblocks -s -v /dev/hda2 1600000 1550000
Sprawdzanie bloków od 1550000 do 1600000
Poszukiwanie wadliwych bloków (tylko odczyt): 1575856 1575856/
1600000 1575864 1575864/ 1600000
1575865 1575865/ 1600000
1575866 1575866/ 1600000
1575867 1575867/ 1600000
done
Przebieg zakończony, znaleziono 5 wadliwych bloków.
[root w jenny ~]# badblocks -s -v -c 1 /dev/hda2 1600000 1550000
Sprawdzanie bloków od 1550000 do 1600000
Poszukiwanie wadliwych bloków (tylko odczyt): 1575864 1575864/
1600000 1575865 1575865/ 1600000
1575866 1575866/ 1600000
1575867 1575867/ 1600000
done
Przebieg zakończony, znaleziono 4 wadliwych bloków.
[root w jenny ~]# hdparm -a /dev/hda
/dev/hda:
readahead = 0 (off)
[root w jenny ~]# hdparm -a 128 /dev/hda
/dev/hda:
setting fs readahead to 128
readahead = 128 (on)
[root w jenny ~]# badblocks -s -v -c 1 /dev/hda2 1600000 1550000
Sprawdzanie bloków od 1550000 do 1600000
Poszukiwanie wadliwych bloków (tylko odczyt): 1575852 1575852/
1600000 1575853
1575854
1575855
1575856
1575857
1575858
1575859
1575860
1575861
1575862
1575863
s1575864 1575864/ 1600000
1575865 1575865/ 1600000
1575866 1575866/ 1600000
1575867 1575867/ 1600000
done
Przebieg zakończony, znaleziono 16 wadliwych bloków.
Więc ile, 5,4 16, 24 ??
Pomijam fakt, że na ustawieniach domyślnych (readahead i ilość
czytanych bloków na raz) po starcie systemu jak zapuściłem mke2fs z
opcją -c to nie znalazł żadnych badblocków, mimo, że błędy DMA w dmesgu
się pojawiały. Ech.
A tu jeszcz przykład ze zmianą wyniku w zależności od zmiany zakresu i
readahead:
[root w jenny ~]# hdparm -a 256 /dev/hda
/dev/hda:
setting fs readahead to 256
readahead = 256 (on)
[root w jenny ~]# badblocks -s -v /dev/hda2 1600000 1550000
Sprawdzanie bloków od 1550000 do 1600000
Poszukiwanie wadliwych bloków (tylko odczyt): 1575856 1575856/
1600000 1575864 1575864/ 1600000
1575865 1575865/ 1600000
1575866 1575866/ 1600000
1575867 1575867/ 1600000
done
Przebieg zakończony, znaleziono 5 wadliwych bloków.
[root w jenny ~]# badblocks -s -v /dev/hda2 1600000 1500000
Sprawdzanie bloków od 1500000 do 1600000
Poszukiwanie wadliwych bloków (tylko odczyt): 1575840 1575840/
1600000 1575844 1575842/ 1600000
1575845
1575846
1575847
1575848
1575849
1575850
1575851
1575852
1575853
1575854
1575855
1575856
1575857
1575858
1575859
1575860
1575861
1575862
1575863
1575864 1575864/ 1600000
1575865 1575865/ 1600000
1575866 1575866/ 1600000
1575867 1575867/ 1600000
done
Przebieg zakończony, znaleziono 25 wadliwych bloków.
To jak to w końcu jest?
--
.: Jakub Glazik,
.: too geek to live, too leet to die ;-)
.: email & jabber: zytek<at>nuxi.pl
Więcej informacji o liście dyskusyjnej pld-users-pl