Различия между hdparm --read-sector и d d с "текущими ожидающими секторами"

Первоначально это был "ответ" на вопрос Как использовать hdparm для исправления ожидающего сектора?

Я получал SMART-уведомления для того же "Текущего ожидающего сектора" в течение нескольких дней. dd Решения вокруг ничего не решали (они, казалось бы, обнуляли данные и переписывали их, но не влияли на умный статус). Имейте в виду, я не гуру в этом, просто команды, вызывающие грузы с форумов.

dd Команды, которые я использовал без изменения ситуации:

# read to file (all cmds ran w/o errors)
dd if=/dev/sdb of=bl.$BLOCK bs=1024 count=1 iflag=direct skip=$BLOCK
# zero out
dd if=/dev/zero of=/dev/sdb bs=1024 count=1 conv=noerror,sync seek=$BLOCK
# read the zeroes back
dd if=/dev/sdb of=/dev/stdout bs=1024 count=1 iflag=direct skip=$BLOCK | xxd
# write real data back out
dd if=bl.$BLOCK of=/dev/sdb bs=1024 count=1 iflag=direct seek=$BLOCK
# verify they match
dd if=/dev/sdb of=/dev/stdout bs=1024 count=1 iflag=direct skip=$BLOCK | xxd \
 | diff - <(xxd bl.$BLOCK)
# still have the Current_Pending_Sector error
smartctl -A /dev/sdb | grep Pend
197 Current_Pending_Sector  0x0032   200   200   000 .. 1

Команды hdparm, которые очистили счетчик Current_Pending_Sector:

hdparm --read-sector $BLOCK /dev/sdb # data (didn't seem to match dd out)
# this was very slow on the first block
hdparm --write-sector $BLOCK /dev/sdb
hdparm --read-sector $BLOCK /dev/sdb # zeros
smartctl -A /dev/sdb | grep Pend
197 Current_Pending_Sector  0x0032   200   200   000  .. 0

Я не получил никаких ошибок чтения / записи с какой-либо из этих команд, поэтому отсутствие ошибок может быть связано только с тем, что накопитель может как-то эффективно их скрыть.

Кроме того, работает dd Снова появятся данные для восстановления данных, но даже тогда hdparm --read-sector показал бы нули. Я интерпретирую это как hdparm, говорящий с диском на более низком уровне и форсирующий запись в ожидании, но dd просто видит результаты преобразования дисков... это то, что может происходить?

Обновление Случайный пост, отмечающий разницу между выходом hdparm и dd. В hdparm-9.42 есть изменение "заставить дампы секторов (чтение-сектор, идентифицировать, ..) использовать формат вывода le16".

0 ответов

Другие вопросы по тегам