Badblocks vs. SMART Extended Self Test

14

Czym różni się pełny skan powierzchni do odczytu / zapisu przez „badblocks” od wbudowanego autotestu SMART Extended ?

Wygląda na to, że oba są skanami na całej powierzchni, więc dlaczego badblocks -vwstestowanie napędu o pojemności 1 TB zajmuje 3 dni, podczas gdy SMART robi to w ciągu 2 1/2 godziny (przynajmniej tyle czasu dał mi smartmon)?

Robert S. Barnes
źródło
biorąc więcej pod uwagę, czy zastanawiałeś się nad badblocksparams „last-block” „first-block” i przeprowadzasz testy trochę dziennie?
Aquarius Power

Odpowiedzi:

12

Test powierzchni SMART jest prawie na pewno pojedynczym, a na pewno nieniszczącym, odczytem. Jak już wspomniano, jest również wewnętrzną częścią napędu; z możliwym wyjątkiem niewielkich danych kontrolnych, żadne dane nie są przekazywane do lub z hosta podczas testu.

Z drugiej strony badblocks -wwykonuje cztery przebiegi nad dyskiem, każdy z jednym zapisem i jednym odczytem. Już to stanowi 8-krotną różnicę czasu potrzebnego na test oraz opóźnienie rotacji. Ponieważ jest to oprogramowanie działające na hoście, wszystkie te dane muszą być przetasowane przez interfejs dysku do pamięci RAM i obsługiwane przez oprogramowanie (w naszym przypadku złe bloki).

Jeśli weźmiemy najgorsze opóźnienie obrotowe 1 × (dysk musi wykonać jeden pełny obrót po zapisaniu danych, aby je odczytać, co jest prawie tym, co zobaczysz, jeśli lubisz złe bloki, najpierw wypełnia całość dysku, a następnie przeczytaj wszystko z powrotem, zamiast robić we / wy jedną ścieżkę fizyczną na raz, co z LBA jest prawie niemożliwe), otrzymujemy najgorszy przypadek (1 + 1) × 8 × = 16 × tak długo, jak potrzeba dokończ operację. 16 × 2,5 godz. = 40 godz., Co z pewnością jest zgodne z Twoimi liczbami i nadal zakłada, że ​​mamy do czynienia tylko z przechowywaniem danych na dysku i że dzieje się tak szybko, jak dysk może obsługiwać sekwencyjne operacje we / wy.

CVn
źródło
5

Krótkie i długie testy SMART wykonują tylko (zlokalizowane) odczyty sektorów; jest to również nieniszczące dla danych. Odczytane dane są przesyłane tylko do kontrolera pokładowego, a nie do komputera głównego. Interfejs SATA jest zasadniczo bezczynny podczas testu, a lampka aktywności dysku twardego na komputerze nie powinna się włączyć.

badblocks -vwsżąda sektora zapisu, a następnie operacji odczytu i weryfikacji. Każdy zapis i odczyt dodaje rewolucję dysku na operację oraz czas przesyłania danych przez interfejs SATA oraz przetwarzanie komputera hosta. Lampka aktywności dysku twardego powinna świecić przez większość czasu.

trociny
źródło
0

https://wiki.archlinux.org/index.php/badblocks#Comparisons_with_Other_Programs

Jedynym zastrzeżeniem jest to, że niektórzy producenci testujący programy nie drukują pełnych wyników testów i dopuszczają pewną liczbę złych sektorów, mówiąc tylko, jeśli zdadzą. Programy producentów są jednak na ogół szybsze niż złe bloki, czasem całkiem spore kwoty.

Więc jeśli to możliwe, używaj niszczycielskich dokładnych testów badblocków.

Edycja: Przez destrukcyjne miałem na myśli, że wiele współczesnych dysków twardych ma obciążenie 180 TB rocznie, co oznacza, że ​​na dysku twardym 12 TB, wziąłbyś 96 TB obciążenia, gdybyś uruchomił pełny zestaw testów uszkodzonych bloków tylko po to, aby go przetestować. Może to być 48 TB, jeśli przez obciążenie oznaczają tylko zapisy, co może mieć miejsce, ale nie jest to dobrze udokumentowane.

Ray Foss
źródło