Badblocks против SMART Extended Self Test


14

Чем полное сканирование поверхности чтения / записи по «плохим блокам» отличается от встроенного самотестирования SMART Extended ?

Кажется, что они оба являются полными сканированиями, так почему же badblocks -vwsтестирование диска емкостью 1 ТБ занимает 3 дня, а SMART делает это за 2,5 часа (по крайней мере, это время, которое мне дал Smartmon)?


Если говорить более подробно, рассматривали ли вы возможность использования badblocksпараметров «последний блок» «первый блок» и выполнять тесты немного в день?
Водолей Power

Ответы:


12

SMART-тест поверхности почти наверняка является единственным и, безусловно, неразрушающим, проходом чтения. Как было указано, он также является внутренним для привода; с возможным исключением второстепенных контрольных данных, данные не передаются на хост или с хоста во время теста.

С другой стороны, badblocks -wделает четыре прохода по диску, каждый с одной записью и одним чтением. Уже одно это составляет 8-кратную разницу во времени, затраченном на тестирование, плюс задержку вращения. Так как это программное обеспечение работает на хосте, все эти данные должны быть перетасованы через интерфейс диска в ОЗУ и обработаны программным обеспечением (в нашем случае, бадблоки).

Если мы возьмем задержку вращения в худшем случае, равную 1 × (диск должен сделать один полный оборот после записи данных, чтобы прочитать их обратно, и это почти то, что вы увидите, если вам нравятся плохие блоки, которые сначала заполняют все диск, а затем прочитать все обратно, вместо того, чтобы выполнять ввод-вывод по одной физической дорожке за раз, что с LBA почти невозможно), мы получаем худший случай (1 + 1) × 8 × = 16 × столько времени, сколько необходимо для завершить операцию. 16 × 2,5 ч = 40 ч, что, безусловно, соответствует вашим цифрам и все еще предполагает, что мы имеем дело только с хранением данных на диске, и это происходит так же быстро, как диск может поддерживать последовательный ввод-вывод.


5

Короткие и длинные тесты SMART выполняют только (локализованное) чтение секторов; это также не разрушительно для данных. Считанные данные передаются только на бортовой контроллер, а не на хост-компьютер. Во время теста интерфейс SATA практически не используется, и индикатор активности жесткого диска на ПК не должен включаться.

badblocks -vwsзапрашивает сектор записи, затем читает и проверяет операцию. Каждая запись и чтение добавляет оборот диска на операцию плюс время для передачи данных по интерфейсу SATA плюс обработка хост-ПК. Индикатор активности жесткого диска должен гореть большую часть времени.


0

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

Предостережение заключается в том, что некоторые тестирующие программы производителей не выводят полные результаты тестирования и допускают определенное количество плохих секторов, говоря только, если они пройдут или нет. Программы производителей, однако, как правило, быстрее, чем бадблоков, иногда довольно много.

Так что используйте деструктивные тщательные тесты Badblocks, когда это возможно.

Редактировать: Под деструктивным я подразумевал, что многие современные жесткие диски имеют рабочую нагрузку 180 ТБ / год, то есть на жестком диске 12 ТБ, вы бы взяли на себя 96 ТБ рабочей нагрузки, если бы вы выполнили полный набор тестов на наличие бадблоков только для того, чтобы протестировать его. Это может быть 48 ТБ, если под рабочей нагрузкой они подразумевают только записи, что может иметь место, но это плохо документировано.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.