Jak długo trwa badblocks na dysku 1 TB?

29

Używam złych bloków (a raczej „e2fsck -c”) na dysku o pojemności 1 TB i jeśli wskaźnik postępu jest jakimkolwiek wskaźnikiem (nie ma sensu), jego ukończenie zajmie prawie wieczność.

W tej chwili jest napisane, 0.01% done, 30:20 elapsedco oznaczałoby, że ukończenie tego zajmie około 17 tygodni, co w mojej książce wydaje się raczej przesadne.

Czy to normalny czas na sprawdzenie, czy po prostu moje podejrzenia są słuszne, ponieważ dysk nie działa, co powoduje, że sprawdzenie trwa tylko nieco krócej niż wieczność?

Znalazłem to pytanie tutaj, ale dotyczy to liczby wykonanych przejść.

Steven Don
źródło
2
Prawie na pewno zależy to od interfejsu, napędu i tego, jak zły jest dysk, jeśli faktycznie występują awarie. Mogę powiedzieć na jednym z moich komputerów, że skanowanie uszkodzonych bloków zajęło ~ 70 godzin dla dysku 1,5 TB podłączonego przez SATA. Jeśli byłeś podłączony przez USB 2.0 lub 1.0, byłoby to znacznie dłuższe.
Zoredache,
Jest on podłączony za pomocą e-SATA. Chyba dam mu trochę czasu i zobaczę, jak daleko jest po dobrze przespanej nocy.
Steven Don
@Zoredache - Myślę, że twój komentarz powinien być odpowiedzią.
Nifle
Oprócz powyższego komentarza Zoredache, różne przełączniki badblockspowodują, że wykonuje różne zadania, co również wpływa na środowiska wykonawcze, na przykład -wprzełącznik.
JeffG,
1
Wymagany czas zależy (także) od trybu, badblocksw którym działa: tylko do odczytu, nieniszczący odczyt-zapis lub destrukcyjny odczyt-zapis. To powiedziawszy, 30 minut za 0,1% wydaje się długie.
SabreWolfy

Odpowiedzi:

20

Aby odpowiedzieć na twoje pytanie, najbliższe mogę zaoferować z 3 TB, które przetestowałem w tym celu. Oto trzykrotne testy, które zrobiłem, zmieniając tylko wartości parametrów -ci wykonując je do 10%, ponieważ zajęły DUŻO czasu. Każdy został zrobiony 3 razy, aby uzyskać średnią.

badblocks -svn /dev/sdb

Aby dostać się do 1%: 1 godzina
Aby dostać się do 10%: 8 godzin 40 minut

badblocks -svn -b 512 -c 32768 /dev/sda

Aby dostać się do 1%: 35 minut
Aby dostać się do 10%: 4 godziny 10 minut

badblocks -svn -b 512 -c 65536 /dev/sda

Aby dostać się do 1%: 16 minut
Aby dostać się do 10%: 2 godziny 35 minut

Tak więc, -cparametr ma bardzo duży wpływ na czas potrzebny do sprawdzenia napędu. Domyślam się, że w przypadku dysku twardego o pojemności 1 TB, zakładając, że zachowuje on ten sam przedział czasowy co 3 TB, będzie to 1/3 wymienionego tutaj czasu, więc aby uzyskać 10% -c 65536w przypadku dysku twardego o pojemności 1 TB, byłoby to około 50 minut

CYREX
źródło
5

Badblocks wykonuje 4 przebiegi. W przypadku zewnętrznego dysku HD o pojemności 1 TB zwykle zajmuje to około 70 godzin.

NotFromBrooklyn
źródło
4
Dla kompletności badblocks(domyślnie) domyślnie ustawione są cztery przebiegi z -wflagą destrukcyjnego zapisu.
SabreWolfy
@SabreWolfy, gdzie przeczytałeś, że badblocks działa dla przebiegów z -w? Nie mogę znaleźć tych informacji.
Alan Franzoni
1
Strona podręcznika dla -w pokazuje cztery używane wzorce zapisu.
SabreWolfy
3

Spróbuj zwiększyć liczbę bloków przetworzonych razem, np badblocks -svn -b 512 -c 65536 /dev/sda. W. W ten sposób mogę sprawdzić dysk twardy o pojemności 1 TB w ciągu 8 godzin.

użytkownik326852
źródło
2

Używam złych bloków na dyskach WD Red 4 TB. Ponieważ są to dyski sektorowe 4k (zaznaczone przy użyciu lsblk -o NAME,PHY-SeC), korzystam z niego -b 4096. Chciałem dać każdemu z badblocków około 800 MB pamięci RAM, więc użyłem tego, -c 200000co daje 4096 bytes * 200,000 blocks = 800,000 Kb. Zaczęli od około 800 Mb każdy, ale z czasem to się powiększyło. Te ustawienia zapewniają jednak znaczne przyspieszenie w porównaniu do ustawień standardowych.

Uruchomił 1% w 3 minuty 56 sekund, ale to 1% z 4 wzorów. Wydaje się też, że im więcej czasu zbliżasz się do końca biegu, tym więcej czasu zajmie. Sprawdził dysk z pierwszym wzorem w około 17 godzin, więc powinien ukończyć 4 TB w około 68 godzin .

POLECENIE PONIŻEJ NALEŻY ZNISZCZYĆ PISANIE

Polecenie, którego używam to: badblocks -svw -b 4096 -c 200000 /dev/sdc -o bb_sdc.txt

CamW
źródło
0

Przebiegłem to przedwczoraj na uszkodzonym dysku 1 TB w moim 6 TB RAID 6 (TRYB DESTRUCTIVE WRITE!):

# badblocks -svw -b 4096 -c 65536 /dev/sdb

Płyta główna to stojak ASRock C2550D4I (wiem…) z 8x Samsung SpinPoint M8 HN-M101MBB (wiem…) podłączony do portów SATA3. Dyski to dyski „Advanced Format” 4K, stąd rozmiar bloku 4K.

badblocks zajęło około 28 godzin, bez błędów.

Pojedyncze dyski hdparm -tTpracują z prędkością ~ 105 MB / s (średni czas buforowania odczytu), 200–230 MB / s podczas testowania całej macierzy. W dzisiejszych czasach nie ma nic lepszego, ale miło jak na stos starych dysków do laptopów.

Mam nadzieję, że to pomaga, podobnie jak ten wątek pomógł mi znaleźć szybki sposób na wykonanie nieprawidłowego działania bloku na dysku. Wiem, że jego użycie jest obecnie wątpliwe, ale kiedy poprzedni smartctl -t longnie powiódł się z powodu błędów odczytu, zdecydowałem, że wszystkie sektory zostaną dotknięte i przepisane kilka razy, aby zobaczyć, jak zmienią się wartości SMART. Kolejny smartctltest jest w toku, jeśli to się nie powiedzie, kupię nowy dysk.

memartin
źródło
-1

Niektóre obserwacje wydajności:

Pracuję e2fsck -c -c -v /dev/sda2, która znajduje się na tym urządzeniu:

/dev/sda2  77056 976754431 976677376  3.7T Linux filesystem

Obecny czas działania dla 63,5% wynosi 53:28:40; 53,5 godzin. Tempo postępu wynosi 1,186% / godzinę. Przy tym tempie wykonanie dodatkowych 31 godzin zajmie około 85 godzin. To urządzenie USB 3.0. iotop wskazuje, że średnia prędkość odczytu / zapisu wynosi około 25 MB / s. Do tej pory znaleziono zero złych bloków.

Podstawowy uruchamiany wiersz poleceń e2fsckto:

sh -c badblocks -b 4096 -X -s -n /dev/sda2 976677375

Wpisy do stanu StackOverflow można bezpiecznie przerywać badblocks za pomocą ^ C (SIGTERM). Powinienem to zrobić, nie widzę wady zatrzymania tego testu i wznowienia go w przyszłości, ponieważ jest to operacja na poziomie bloku dysku. Muszę odmontować ten system plików przed wznowieniem po ukończeniu skanowania procentowego.

numberer6
źródło
3
czy to pytanie czy odpowiedź?
Pierre.Vriens