Чем полное сканирование поверхности чтения / записи по «плохим блокам» отличается от встроенного самотестирования SMART Extended ?
Кажется, что они оба являются полными сканированиями, так почему же badblocks -vws
тестирование диска емкостью 1 ТБ занимает 3 дня, а SMART делает это за 2,5 часа (по крайней мере, это время, которое мне дал Smartmon)?
hard-drive
bad-blocks
Роберт С. Барнс
источник
источник
badblocks
параметров «последний блок» «первый блок» и выполнять тесты немного в день?Ответы:
SMART-тест поверхности почти наверняка является единственным и, безусловно, неразрушающим, проходом чтения. Как было указано, он также является внутренним для привода; с возможным исключением второстепенных контрольных данных, данные не передаются на хост или с хоста во время теста.
С другой стороны,
badblocks -w
делает четыре прохода по диску, каждый с одной записью и одним чтением. Уже одно это составляет 8-кратную разницу во времени, затраченном на тестирование, плюс задержку вращения. Так как это программное обеспечение работает на хосте, все эти данные должны быть перетасованы через интерфейс диска в ОЗУ и обработаны программным обеспечением (в нашем случае, бадблоки).Если мы возьмем задержку вращения в худшем случае, равную 1 × (диск должен сделать один полный оборот после записи данных, чтобы прочитать их обратно, и это почти то, что вы увидите, если вам нравятся плохие блоки, которые сначала заполняют все диск, а затем прочитать все обратно, вместо того, чтобы выполнять ввод-вывод по одной физической дорожке за раз, что с LBA почти невозможно), мы получаем худший случай (1 + 1) × 8 × = 16 × столько времени, сколько необходимо для завершить операцию. 16 × 2,5 ч = 40 ч, что, безусловно, соответствует вашим цифрам и все еще предполагает, что мы имеем дело только с хранением данных на диске, и это происходит так же быстро, как диск может поддерживать последовательный ввод-вывод.
источник
Короткие и длинные тесты SMART выполняют только (локализованное) чтение секторов; это также не разрушительно для данных. Считанные данные передаются только на бортовой контроллер, а не на хост-компьютер. Во время теста интерфейс SATA практически не используется, и индикатор активности жесткого диска на ПК не должен включаться.
badblocks -vws
запрашивает сектор записи, затем читает и проверяет операцию. Каждая запись и чтение добавляет оборот диска на операцию плюс время для передачи данных по интерфейсу SATA плюс обработка хост-ПК. Индикатор активности жесткого диска должен гореть большую часть времени.источник
https://wiki.archlinux.org/index.php/badblocks#Comparisons_with_Other_Programs
Так что используйте деструктивные тщательные тесты Badblocks, когда это возможно.
Редактировать: Под деструктивным я подразумевал, что многие современные жесткие диски имеют рабочую нагрузку 180 ТБ / год, то есть на жестком диске 12 ТБ, вы бы взяли на себя 96 ТБ рабочей нагрузки, если бы вы выполнили полный набор тестов на наличие бадблоков только для того, чтобы протестировать его. Это может быть 48 ТБ, если под рабочей нагрузкой они подразумевают только записи, что может иметь место, но это плохо документировано.
источник