Если badblock есть, то его возможно нет. Или наоборот?


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

Разумеется, дальнейшая эксплуатация диска нежелательна. Но потестировать на случае если «ну очень нужно недалеко и ненадолго» — почему бы и нет.
Самый простой и дубовый вариант, это программа badblocks. Она делалась во времена господства флоппи-дисков и никому с тех пор не приходило в голову ее оптимизировать. Но в общем-то и ладно.
Для начала убеждаемся, что с диска только снята вся ценная информация, файловая система отмонтирована и т.д. Потому что тест запустим с гарантированным уничтожением.
#badblocks -wsv -t random -p 8 /dev/sdb
Теперь еще раз прочитали, то ли устройство мы хотим тестировать. Точно sdb? Тогда выполняем уже реальную.
После чего можно сходить в поход. Как раз к завершению вернемся.

По завершении теста анализируем полученные результаты, с удивлением видим везде нули ошибок. Пожав плечами запускаем длинный самотест smart.
smartctl -t long /dev/sdb
При запуске тест напишет примерное время выполнения. По факту при этом успешное выполнение может завершиться как раньше так и позже. А неуспешное — по факту ошибки.

Дождались, выводим значения smart. И удивленно смотрим на пустой счетчик перемещенных секторов. Ноль нестабильных, ноль ремапов, ноль событий ремапов.
Это как? Счетчик переназначенных секторов не должен обнуляться же. Никогда. Это смысл его существования — нести информацию о реальном количестве замененных из резерва секторов.

Открываем dead.leter который получали пару недель назад про сбойный сектор. Сверяем серийный номер диска. Все совпадает. То есть сообщение про сбойный сектор не приснилось и речь шла именно про тот самый диск.

Можно ли после этого использовать диск — тут есть серьезные сомнения.
В целом, это не первый случай в практике, когда появившийся в счетчике remap затем исчезал. И очень неприятно данный факт осознавать.

В этом плане sas диски интереснее. Кроме гораздо более подробных логов (речь про применение sg_logs), на них можно дать команду форматирования средством контроллера (речь про применение sg_format) со сбросом диском значения плохих секторов и проходом по всей поверхности. Логи диска при этом не чистятся, разумеется. Опять же, упомянутое далее не всегда и не везде, но большинство sas дисков могут быть хотя бы отформатированы на низком уровне с добавлением protection information, что конечно может и неоднозначно, но «недобэдблоки» диск сам будет лечить перезаписью до попытки сделать ремап. Но что важнее, контроллер диска более вероятно рапортует ошибку чтения вместо выдачи данных блока. Едино что, далеко не каждый контроллер сможет с таким диском работать, интернет полон «решений» по переформатированию «откуда-то бесплатно свалившихся» дисков в формат без protection information.


Ваш отзыв