Вопрос или проблема
У одного из моих жестких дисков есть поврежденные сектора, которые остаются в ожидании. Я хочу принудительно выполнить перемещение.
Из вопроса Перераспределить плохой сектор [Linux] я знаю, что могу использовать sudo hdparm --yes-i-know-what-i-am-doing --write-sector 215040 /dev/sda
, но как интерпретировать строку:
# 1 Extended offline Completed: read failure 90% 31807 1362407718
учитывая, что диск имеет сектора размером 4 КБ? это не 31807 часов работы, он обернулся на 65k…).
Размеры секторов: 512 байт логически, 4096 байт физически
Я попробовал sg_verify
как рекомендовано в https://www.smartmontools.org/wiki/BadBlockHowto#Badblockreassignment, но он не дает никакого вывода:
# sg_verify --lba=1362407718 /dev/disk/by-id/ata-WDC_WD30EFRX-68AX9N0_WD-WMC1T1033727
#
Как мне действовать, чтобы принудительно переприсвоить поврежденный сектор?
Я использую Ubuntu 22.04 LTS, и диск отформатирован с использованием ZFS.
Ответ или решение
Интерпретация LBA номера и управление поврежденными секторами на HDD
Ваш запрос касается интерпретации LBA (Logical Block Addressing) номера и проблем с неработающими секторами на жестком диске. Рассмотрим ситуацию более подробно.
1. Описание проблемы
Вы столкнулись с поврежденными секторами на жестком диске, которые находятся в состоянии ожидания повторной переналадки. Эта информация свидетельствует о том, что диск обнаружил ошибки при чтении данных из определенных секторов, и они помечены, но еще не перенаправлены в резервные сектора. Ваш вопрос касается строки статуса из SMART (Self-Monitoring, Analysis, and Reporting Technology) данных:
# 1 Extended offline Completed: read failure 90% 31807 1362407718
2. Интерпретация строки статуса
-
Extended offline: Это означает, что проводилось расширенное оффлайн-тестирование диска.
-
Completed: read failure: Указывает на то, что тест завершился неудачно в результате ошибки чтения. Это скорей всего означает, что диск не смог прочитать указанный сектор.
-
90%: Это процент завершенности теста, который показывает, сколько еще осталось до завершения.
-
31807: Это значение представляет время работы диска в часах. Однако, как вы правильно отметили, оно обернулось и может быть менее 65 536 часов. Это подразумевает, что диск служит определенное время, и полное значение времени, возможно, больше.
-
1362407718: Это значение LBA (Logical Block Addressing), которое указывает на конкретный проблемный сектор на диске. Этот номер можно использовать, чтобы получить доступ к данному сектору для диагностики и, потенциально, перенаправления.
3. Размеры секторов
Учитывая, что ваш диск имеет логические сектора размером 512 байт и физические сектора размером 4096 байт, следует учесть, что когда вы работаете с LBA, вы обращаетесь к логическим секторам. В вашем случае LBA номер 1362407718 указывает на 1362407718 * 512 байт от начала диска. Важно отметить, что, поскольку диск может иметь проблемы, важно не пытаться получить доступ к этому сектору без необходимости.
4. Переход к переналадке сектора
Вы уже пробовали команды для переналадки, но столкнулись с отсутствием результата. Ваша команда:
sg_verify --lba=1362407718 /dev/disk/by-id/ata-WDC_WD30EFRX-68AX9N0_WD-WMC1T1033727
Не выдала никакого результата, что может означать, что команда не направлена на корректный разъем или что проблемы с сегментом уже серьезные.
Рекомендации по переналадке
-
Используйте
hdparm
с осторожностью:
Команда, которую вы упомянули, для переписывания сектора:sudo hdparm --yes-i-know-what-i-am-doing --write-sector 215040 /dev/sda
будет работать только в случае исправления логической ошибки. Убедитесь, что вы указываете правильный LBA номер.
-
Используйте
badblocks
:
Если вы все еще сталкиваетесь с трудностями, попробуйте использовать средствоbadblocks
для сканирования и выявления поврежденных секторов:sudo badblocks -v /dev/sda
-
Переход к высокоуровневым средствам для работы с ZFS:
Так как вы используете ZFS, необходимо учитывать, что эта файловая система включает встроенные механизмы управления ошибками. Вы можете использовать инструментыzpool
для выполнения проверки состояния пулов:sudo zpool status
Или выполнять scrubbing для проверки целостности данных.
-
Замена диска:
Если поврежденные сектора обострились, возможно, стоит рассмотреть замену диска, так как это может быть признаком физического отказа.
Заключение
Интерпретация LBA номера и работа с поврежденными секторами требуют аккуратности и понимания рабочей системы. Обязательно следуйте рекомендациям, учитывайте состояние диска и принимайте решение на основе полученной информации. Если проблема усугубится или данные критически важны, лучше обратиться к профессиональным службам восстановления данных.