Отметить поврежденные сектора на жестком диске без форматирования

16

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

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

Есть ли способ отметить эти плохие блоки без форматирования hdd?

    
задан enedene 06.05.2013 в 15:44
источник

1 ответ

19

Я предполагаю, что вы говорите о физических плохих блоках на диске, а не о поврежденных файловых системах.

Чтобы проверить физическое состояние вашего диска, лучше всего установить smartmontools

sudo apt-get install smartmontools

Это работает, потому что все современные диски регистрируют свой статус работоспособности с помощью системы под названием S.M.A.R.T.

Используйте команду smartctrl для считывания этого состояния. Например, чтобы прочитать все атрибуты с первого вызова диска

sudo smartctl --all /dev/sda

Следите за тем, чтобы линия говорила об общем состоянии здоровья. Как только это указывает на ошибку, очень вероятно, что диск скоро выйдет из строя.

SMART overall-health self-assessment test result: PASSED

Другие строки, которые вы хотите проверить, - это счетчик ожидающего сектора и перераспределенные сектора.

ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
  5 Reallocated_Sector_Ct   0x0033   100   100   036    Pre-fail  Always       -       48
197 Current_Pending_Sector  0x0012   100   100   000    Old_age   Always       -       2

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

Вы можете даже инициировать самотестирование диска при поддержке вашей модели     sudo smartctl -t long / dev / sda

Для проверки всех секторов использование badblocks в режиме записи данных. Остерегайтесь того, что даже в целом безопасно звонить, это добавит дополнительную нагрузку на ваши диски, что может привести к их сбою. Всегда сохраняйте резервную копию своих данных.

sudo badblocks -svvn -c 262144 /dev/sda

Если вы полностью обработали свой диск таким образом, контроллер диска должен был заменить все плохие блоки рабочими, а перераспределенный счет будет увеличен в журнале SMART.

    
ответ дан user228505 01.07.2014 в 21:38