Рейтинг:0

Каков нормальный порядок сообщений в dmesg при отказе жесткого диска USB?

флаг mu

У меня есть жесткий диск USB, подключенный к серверу Debian GNU/Linux. Я пытаюсь отформатировать его (NTFS) с помощью этой команды:

# mkntfs -v /dev/sdd1

что занимает несколько часов, потому что проверяет и диск. Во время проверки, dmesg -T показывает следующее:

[Среда, 12 января, 15:22:53 2022] sd 9:0:0:0: [sdd] Подключенный диск SCSI
[Ср, 12 января 2022 г., 18:03:26] usb 1-4: отключение USB, номер устройства 5
[Среда, 12 января, 18:03:26 2022] blk_update_request: ошибка ввода-вывода, dev sdd, сектор 621745808 op 0x1: (WRITE) flags 0x104000 phys_seg 240 prio class 0
[Среда, 12 января, 18:03:26 2022] Ошибка ввода-вывода буфера на dev sdd1, логический блок 621743760, потеря асинхронной записи страницы
[Среда, 12 января, 18:03:26 2022] Ошибка ввода-вывода буфера на dev sdd1, логический блок 621743761, потеря асинхронной записи страницы
   (...и так далее на несколько строк)
[Среда, 12 января, 18:03:26 2022] blk_update_request: ошибка ввода-вывода, dev sdd, сектор 621746048 op 0x1: (WRITE) flags 0x104000 phys_seg 240 prio class 0
[Среда, 12 января, 18:03:26 2022] blk_update_request: ошибка ввода-вывода, dev sdd, сектор 621746288 op 0x1: (WRITE) flags 0x100000 phys_seg 8 prio class 0
[Среда, 12 января, 18:03:26 2022] blk_update_request: ошибка ввода-вывода, dev sdd, сектор 621746296 op 0x1: (WRITE) flags 0x800 phys_seg 16 prio class 0
   (...и так далее на несколько строк)
[Ср, 12 января, 18:03:31 2022] buffer_io_error: 9015384 обратных вызова подавлены
   (...другие ошибки...)

Глядя на огромное количество сообщений об ошибках, я бы сказал, что жесткий диск почти мертв, но при подключении его к ПК с Windows он работает. Причем первая ошибка(usb 1-4: отключение USB, номер устройства 5), который входит dmesg перед другими ошибками заставляет меня подозревать, что проблема не в самом жестком диске, а в чем-то еще, что в первую очередь приводит к отключению жесткого диска, и последующие ошибки могут быть очевидным следствием отключения.

Однако я не очень опытен в dmesg вывод, так что вполне возможно, что я неправильно его читаю.

РЕДАКТИРОВАТЬ: по запросу NiKiZe, вот вывод smartctl -a /dev/sdd:

# smartctl -a /dev/sdd
smartctl 6.6 2017-11-05 r4594 [x86_64-linux-5.10.0-3-amd64] (локальная сборка)
Copyright (C) 2002-17, Брюс Аллен, Кристиан Франке, www.smartmontools.org

=== НАЧАЛО ИНФОРМАЦИОННОГО РАЗДЕЛА ===
Семейство моделей: Western Digital Blue Mobile
Модель устройства: WDC WD10SPCX-00KHST0
Серийный номер: WD-WXF1A95F0J3X
LU WWN Идентификатор устройства: 5 0014ee 65b7e0332
Версия прошивки: 01.01A01
Емкость пользователя: 1 000 204 886 016 байт [1,00 ТБ]
Размер сектора: 512 байт логический, 4096 байт физический
Скорость вращения: 5400 об/мин
Устройство находится: в базе данных smartctl [для получения подробной информации используйте: -P show]
Версия ATA: ACS-2 (незначительная редакция не указана)
Версия SATA: SATA 3.0, 6,0 Гбит/с (текущая: 1,5 Гбит/с)
Местное время: четверг, 13 января, 11:04:19 2022 CET.
Поддержка SMART: Доступна — устройство поддерживает SMART.
Поддержка SMART: включена

=== НАЧАЛО ЧТЕНИЯ РАЗДЕЛА SMART DATA ===
Состояние SMART не поддерживается: неполный ответ, отсутствуют выходные регистры ATA.
Результат теста SMART для самооценки общего состояния здоровья: ПРОЙДЕН
Предупреждение: этот результат основан на проверке атрибутов.

Общие ценности SMART:
Состояние сбора данных в автономном режиме: (0x00) Активность сбора данных в автономном режиме
                    никогда не запускался.
                    Автоматический сбор данных в автономном режиме: отключен.
Статус выполнения самопроверки: ( 0) Предыдущая процедура самопроверки завершена
                    без ошибок или без самопроверки никогда 
                    был запущен.
Общее время для завершения в автономном режиме 
сбор данных: (16080) секунд.
Сбор данных в автономном режиме
Возможности: (0x7b) SMART выполнить в автономном режиме немедленно.
                    Включение/выключение автоматического сбора данных в автономном режиме.
                    Приостанавливать автономную коллекцию при появлении новых
                    команда.
                    Поддерживается автономное сканирование поверхности.
                    Поддерживается самотестирование.
                    Поддерживается самотестирование транспорта.
                    Поддерживается выборочное самотестирование.
Возможности SMART: (0x0003) Сохраняет данные SMART перед вводом
                    режим энергосбережения.
                    Поддерживает таймер автоматического сохранения SMART.
Возможность ведения журнала ошибок: (0x01) Поддерживается ведение журнала ошибок.
                    Поддерживается ведение журнала общего назначения.
Короткая процедура самопроверки 
рекомендуемое время опроса: ( 2) минут.
Расширенная программа самопроверки
рекомендуемое время опроса: ( 184) минут.
Процедура самопроверки транспортного средства
рекомендуемое время опроса: ( 5) минут.
Возможности SCT: (0x7035) поддерживается статус SCT.
                    Поддерживается управление функциями SCT.
                    Поддерживается таблица данных SCT.

Номер версии структуры данных атрибутов SMART: 16
Специфичные для поставщика атрибуты SMART с пороговыми значениями:
ID# ATTRIBUTE_NAME FLAG VALUE HORST THRESH TYPE ОБНОВЛЕНО WHEN_FAILED RAW_VALUE
  1 Raw_Read_Error_Rate 0x002f 200 200 051 До отказа Всегда - 0
  3 Spin_Up_Time 0x0027 190 184 021 До отказа Всегда — 1500
  4 Start_Stop_Count 0x0032 081 081 000 Old_age Всегда — 19048
  5 Reallocated_Sector_Ct 0x0033 200 200 140 До отказа Всегда - 0
  7 Seek_Error_Rate 0x002e 200 200 000 Old_age Всегда - 0
  9 Power_On_Hours 0x0032 073 073 000 Old_age Всегда — 20415
 10 Spin_Retry_Count 0x0032 100 100 000 Old_age Всегда - 0
 11 Calibration_Retry_Count 0x0032 100 100 000 Old_age Всегда - 0
 12 Power_Cycle_Count 0x0032 100 100 000 Old_age Всегда - 188
192 Power-Off_Retract_Count 0x0032 200 200 000 Old_age Всегда - 43
193 Load_Cycle_Count 0x0032 187 187 000 Old_age Всегда — 41054
194 Temperature_Celsius 0x0022 119 095 000 Old_age Всегда - 28
196 Reallocated_Event_Count 0x0032 200 200 000 Old_age Всегда - 0
197 Current_Pending_Sector 0x0032 200 200 000 Old_age Всегда - 0
198 Offline_Uncorrectable 0x0030 100 253 000 Old_age Offline - 0
199 UDMA_CRC_Error_Count 0x0032 200 200 000 Old_age Всегда - 0
200 Multi_Zone_Error_Rate 0x0008 100 253 000 Old_age Не в сети - 0

Версия журнала ошибок SMART: 1
Ошибки не регистрируются

Структура журнала самотестирования SMART, редакция 1
Никаких самопроверок не зарегистрировано. [Для запуска самотестирования используйте: smartctl -t]

Структура данных журнала выборочной самопроверки SMART, редакция 1
 SPAN MIN_LBA MAX_LBA CURRENT_TEST_STATUS
    1 0 0 Не_тестирование
    2 0 0 Не_тестирование
    3 0 0 Не_тестирование
    4 0 0 Не_тестирование
    5 0 0 Не_тестирование
Флаги выборочной самопроверки (0x0):
  После сканирования выбранных диапазонов НЕ считывайте и не сканируйте оставшуюся часть диска.
Если при включении питания ожидается выборочная самопроверка, возобновите ее после 0-минутной задержки.

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

флаг in
Ошибки ввода-вывода кажутся результатом отключения USB, но кто знает, как USB-устройство/диск справляется с проблемами, может быть, оно пытается перезагрузиться, или, может быть, источник питания плохой, и как только вы получаете какую-либо нагрузку, он сбрасывается. . Кажется, между подключением и отключением есть некоторое время, что произошло за это время?
Lucio Crusca avatar
флаг mu
В это время работал mkntfs (например, проверка и обнуление диска)
флаг in
Вывод smartctl не показывает никаких проблем с диском, начните исследовать корпус. Может быть, он просто старый и плохой.
Рейтинг:1
флаг br

Сначала происходит отключение, затем вы получаете набор ошибок, вызванных отключением, когда различные уровни, генерирующие записи на диск, замечают, что что-то не так.

Большая часть операций ввода-вывода происходит в форме «грязной» страницы памяти, имеющей резервную копию на диске, которую ядро ​​в конечном итоге сбрасывает на диск, спустя много времени после того, как запись была подтверждена приложению, и единственные слои драйвера, которые В запросе по-прежнему заинтересованы подсистема памяти (которая хочет знать, можно ли освободить страницу) и файловая система (которой необходимо генерировать дополнительные записи для обновления метаданных после того, как данные были записаны) — все, что выше, было демонтировано. уже.

Некоторые запросы не проходят через подсистему памяти (например, запрос состояния SMART), некоторые запросы, такие как чтение, вероятно, связаны только с подсистемой памяти, поскольку файловая система просматривала сопоставление блоков и больше не нуждается в ее участии.

Таким образом, сообщения об ошибках, которые вы получаете в результате отключения, не имеют определенного порядка — они появляются по мере того, как запросы генерируются, отправляются и отклоняются из-за того, что устройство находится в автономном режиме. Если между некоторыми запросами существует причинно-следственная связь (например, запись в журнале, отражающая новое состояние после прерванной передачи данных — в конце концов, журнал может находиться на другом устройстве), то это определяет определенный порядок.

Я бы, вероятно, попытался использовать диск с правильным портом SATA и с питанием от хорошего источника - преобразователи напряжения в корпусах USB-to-SATA часто немного хитры.

Рейтинг:0
флаг in

Пожалуйста, считайте диск мертвым.

Обычно форматирование диска не занимает много времени. Однако повторные попытки и сброс плохих блоков требуют времени.

Конечно, это может быть связано с плохим питанием или чем-то еще.

Не все USB-устройства поддерживают Smart Passthru, но попробуйте: smartctl -a /dev/sdd Ищите специально для Перераспределенный_Сектор_Ct, Перераспределенный_количество_событий, Текущий_ожидающий_сектор, Offline_Uncorrectable Если у кого-то из них есть RAW_VALUE Кроме как 0, я бы постарался не использовать диск для чего-либо, кроме неважных данных.

Если на диске нет данных, вы всегда можете попробовать стереть его, используя что-то вроде (будьте осторожны здесь!!!) dd if=/dev/zero of=/dev/sdd bs=4M status=progress. После этого вам нужно будет заново создать таблицу разделов.

Lucio Crusca avatar
флаг mu
Спасибо, но почему `dmesg` показывает дисконнект перед плохими секторами? (Я обновил свой вопрос, чтобы отразить ответ, который я действительно ищу)
флаг in
Вы пробовали `smartctl`, чтобы узнать, действительно ли диск плохой или нет?
Lucio Crusca avatar
флаг mu
Я обновил свой вопрос выводом `smartctl -a /dev/sdd`

Ответить или комментировать

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