9

При запуске SMART-тестов с использованием smartmontools они НИКОГДА не заканчивают. Я всегда получаю «Прервано (сброс хоста)» на различных системах и дисках, включая Debian в x86 и ARM, OS X на x64, с внешними и внутренними дисками. Даже при запуске в неактивном режиме с дисками все пусто (обнуляется с помощью dd).

Что я делаю неправильно?

3 ответа3

11

Если во время теста накопитель не обрабатывает какие-либо операции ввода / вывода, он может перейти в режим ожидания, что приводит к возникновению условия « Interrupted (host reset) . Попробуйте прочитать с диска через подходящие промежутки времени:

while true; do dd if=/dev/disk1 of=/dev/null count=1; sleep 60; done

(замените /dev/disk1 соответствующим устройством; считывает один сектор с этого устройства каждые 60 секунд, пока вы не нажмете ctrl-c)

В моей среде это помогло: OS X 10.6.8, USB-накопитель WD Elements, SAT-SMART-драйвер 0.8.

Испытание в неволе теоретически должно поддерживать работу диска. Тем не менее, аппаратная команда, отправляемая smartctl может завершиться по истечении времени ожидания до завершения теста, в результате чего ядро сбросит связь и окажется в той же ситуации, что и выше (ошибка № 303).

См. Эту ветку в списке рассылки поддержки smartmontools для получения дополнительной информации. Я благодарю Кристиана Франке за понимание, данное здесь.

2

Я попробовал решение от Tobu, в моем случае я продолжал находить внешний USB-накопитель в спящем режиме независимо от того, какое-то время после запуска теста и его прерывания, кажется, что dd закончил чтение из кэша ядра, и кэш был достаточно большим для диска войти в спящий режим. Я заметил, что вызов smartctl для запроса статуса всегда мог "разбудить" диск. Итак: эта версия той же идеи сделала свое дело для меня:

sudo bash -c 'while true; do smartctl -a /dev/sdb > /dev/null; sleep 60; done'

Через 5 часов внешний USB-диск продолжает вращаться. Впервые я увидел, что на внешнем диске закончился длинный тест Smartctl.

Я считаю, что это решение также имеет то преимущество, что головки дисков не перемещаются без необходимости каждую минуту. Долгая пробежка закончилась почти точно в предсказанное время (скрипт keep-awake не добавил время пробежки)

1

Пленочный тест может не сработать, если он занимает более 20 секунд.

Источник: билет № 303, озаглавленный «В режиме интеллектуального тестирования в неволе продлите время ожидания, как описано устройством ATA».

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .