Как проверить состояние жесткого диска

Вопрос или проблема

Мой SATA диск начал издавать щелкающие звуки, и я не смог получить доступ к данным. Вот жесткий диск, о котором идет речь:

HITACHI Deskstar T7K250 HDT722525DLA380 (0A31636) 250GB 7200 RPM 8MB Cache SATA 3.0Gb/s 3.5″ Hard Drive -Bare Drive

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

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

Какие тесты я могу провести на этом диске, чтобы узнать, в каком он состоянии?

sudo smartctl -a /dev/sda | less

Это даст вам обилие информации о состоянии здоровья вашего жесткого диска. Этот инструмент также позволяет запускать и отслеживать само тесты диска.

Если вы хотите провести тесты производительности / проверить все сектора, чтобы найти поврежденные, вы можете найти другие инструменты для этого, но smartctl — это первое место, куда нужно обратиться для проверки состояния здоровья диска.

badblocks — это еще одно полезное утилита; она показывает количество и расположение поврежденных блоков на вашем диске. Вот пример с текущим прогрессом сканируемого устройства:

sudo badblocks -v /dev/sda -s

Я вижу, что никто не упомянул gsmartcontrol, который является графическим интерфейсом.

В Ubuntu вы можете установить его с помощью $ sudo apt-get install gsmartcontrol

Если вы запускаете sudo gsmartcontrol, вы увидите все жесткие диски в вашем компьютере.

Затем, если вы щелкните правой кнопкой мыши на устройстве и нажмете View Details, вы увидите нечто подобное.

Вы можете получить много деталей в разных вкладках здесь. Вы также можете выполнить тесты во вкладке Perform Tests.

GSmartControl

Если жесткий диск начинает давать вам физические сигналы о предстоящем сбое, никакое программное обеспечение не поможет. Да, SMART существует, и такие инструменты, как smartctl, могут читать его результаты для вас, но не стоит на это полагаться. SMART может быть полезен для обнаружения таких вещей, как высокая температура или поврежденные сектора, но если ваш жесткий диск начинает щелкать или не запускается во время первой попытки, пора

  • убедиться, что у вас есть резервные копии
  • побежать к ближайшему компьютерному дилеру, купить новый жесткий диск и скопировать туда все

Когда жесткий диск решает выйти из строя, он сделает это без предупреждения, и закон Мерфи говорит, что это произойдет в самый неожиданный момент. Поэтому будьте готовы и создайте резервную копию и замените диск СЕЙЧАС, а не ждите катастрофы.

Попробуйте использовать SpinRite (это не бесплатно), но я использовал множество инструментов. Большинство инструментов наносит больше вреда, чем помогает, когда я говорю вред, я имею в виду “недостаточную заботу о вашей информации“. Этот инструмент проверит ваш диск и исправит плохие сектора, перемещая вашу информацию в безопасные сектора.
Он также является методом предотвращения катастроф жесткого диска

Я настоятельно советую рискнуть и приобрести проверенный продукт с хорошей репутацией, чем потерять свою столь ценную информацию.

Вывод из smartctl сложно для меня читать. gnome-disks требует установки GNOME, который в наше время не может существовать без NetworkManager.

Я нашел skdump(часть libatasmart), который я могу понять. Он также выводит колонки “Pretty” и “Good” наряду с общим статусом:

Bad Sectors: 0 sectors
Powered On: 7.4 years
Power Cycles: 2144
Average Powered On Per Power Cycle: 1.3 days
Temperature: 33.0 C
Attribute Parsing Verification: Good
Overall Status: GOOD
ID# Name                        Value Worst Thres Pretty      Raw            Type    Updates Good Good/Past
  1 raw-read-error-rate         100    91    51   36          0x240000000000 prefail online  yes  yes 
  3 spin-up-time                 76    76    11   8.0 s       0x181f00000000 prefail online  yes  yes 
  4 start-stop-count             98    98     0   2173        0x7d0800000000 old-age online  n/a  n/a 
  5 reallocated-sector-count    100   100    10   0 sectors   0x000000000000 prefail online  yes  yes 
  7 seek-error-rate             100   100    51   0           0x000000000000 prefail online  yes  yes 
  8 seek-time-performance       100   100    15   n/a         0x072700000000 prefail offline yes  yes 
  9 power-on-hours               87    87     0   7.4 years   0xd1fd00000000 old-age online  n/a  n/a 
 10 spin-retry-count            100   100    51   0           0x000000000000 prefail online  yes  yes 
 11 calibration-retry-count     100   100     0   0           0x000000000000 old-age online  n/a  n/a 
 12 power-cycle-count            98    98     0   2144        0x600800000000 old-age online  n/a  n/a 
 13 read-soft-error-rate        100    91     0   36          0x240000000000 old-age online  n/a  n/a 
183 runtime-bad-block-total     100   100     0   0           0x000000000000 old-age online  n/a  n/a 
184 end-to-end-error            100   100     0   0           0x000000000000 prefail online  n/a  n/a 
187 reported-uncorrect          100   100     0   2540 sectors 0xec0900000000 old-age online  n/a  n/a 
188 command-timeout             100   100     0   0           0x000000000000 old-age online  n/a  n/a 
190 airflow-temperature-celsius  67    53     0   33.0 C      0x21000f210000 old-age online  n/a  n/a 
194 temperature-celsius-2        67    52     0   33.0 C      0x21000f220000 old-age online  n/a  n/a 
195 hardware-ecc-recovered      100   100     0   47099       0xfbb700000000 old-age online  n/a  n/a 
196 reallocated-event-count     100   100     0   0           0x000000000000 old-age online  n/a  n/a 
197 current-pending-sector      100   100     0   0 sectors   0x000000000000 old-age online  n/a  n/a 
198 offline-uncorrectable       100   100     0   0 sectors   0x000000000000 old-age offline n/a  n/a 
199 udma-crc-error-count        100   100     0   0           0x000000000000 old-age online  n/a  n/a 
200 multi-zone-error-rate       100   100     0   0           0x000000000000 old-age online  n/a  н/a 
201 soft-read-error-rate        100   100     0   0           0x000000000000 old-age online  n/a  n/a 

Хотя он утверждает, что “GOOD” (Samsung HD103UJ). В выводе smartctl я увидел журнал с ошибками, и вы можете увидеть их под 187 (неисправленные ошибки), что указывает, сколько данных я действительно потерял. Видеть 7 (перераспределенные сектора) на 0 для меня немного неожиданно.

Тестовая среда: Постоянный Live Ubuntu 16.04 USB, созданный на основе темы Как создать персистентный Live Ubuntu из 16.04?
Подключите ваш HDD к компьютеру. Загрузитесь в live Ubuntu.
Программа с графическим интерфейсом gnome-disks, которая также показывает плохие сектора и где вы можете провести тесты производительности дисков и различных секторов.
Она аналогична инструментам smartmontools для sudo smartctl -a ....
Пример вывода теста производительности моего 500 ГБ диска, где видно, что скорость чтения/записи ухудшается со временем при большой нагрузке

введите здесь описание изображения

Другой вид: SMART Data & Self-Tests, где я выполнил краткий тест. Вы можете узнать температуру диска и сколько лет/месяцев/дней ваш диск был включенным

введите здесь описание изображения

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

Я поражен, почему на этой странице нет полного ответа. Вот два шага, чтобы восстановить поврежденные блоки (почему останавливаться на сканировании и получать только количество поврежденных блоков?):

Шаг первый, соберите номера поврежденных блоков в файл:

sudo badblocks -v /dev/sda1 > ~/bad_sectors.txt

Обратите внимание, что я не использую ключ -s, который обычно используется для отображения индикатора прогресса, нам нужно иметь только номера в файле.

Шаг второй, исправьте их (это не ремонт; это просто удаляет их из рассмотрения при размещении данных на диске):
Для файловых систем extX:

sudo e2fsck -fccky /dev/sda1 

Для FATxx:

sudo fsck -fccky /dev/sda1

Это все. Это смягчает проблему, если поврежденные сектора существуют, но их количество не растет быстро.


Значения этих опций:

-f Проводить проверку даже если файловая система кажется чистой.

-cc Эта опция использует программу badblocks(8) для выполнения сканирования на воображаемые блоки. Если существуют какие-либо плохие блоки, они будут добавлены в “файл” плохих блоков (inode), чтобы избежать их использования. Если дважды, то сканирование плохих блоков будет выполнено с помощью ненарушающего читающего-записывающего теста.

-k С опцией -c все существующие плохие блоки в списке плохих блоков сохраняются и добавляются ново обнаруженные.

-y Предположить ответ ‘да’ на все вопросы.


Кроме того, отталкиваясь от модели жесткого диска, я бы рекомендовал скачать и использовать Hitachi Drive Fitness Test, который должен работать с большинством жестких дисков, наследованных от HGST:
https://www1.hgst.com/hdd/support/download.htm#DFT
(необходимо создать загрузочный том DOS, прочитать документацию)

Это все!

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

Утилита ddrescue настоятельно рекомендуется для этой задачи: ddrescue имеет интерфейс командной строки, аналогичный утилите Linux dd, но по-другому работает под капотом. Она специально предназначена для восстановления данных и, таким образом, даст вам лучший шанс восстановить большинство данных с поврежденного диска.

Чтобы создать образ полного диска с помощью ddrescue, вы можете использовать что-то вроде этого:

ddrescue /dev/sdx /mnt/large_disk/failing_disk.img

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

# Найти первое неиспользуемое устройство обратной петли
losetup -f
# Читать таблицу разделов 
# Сделать разделы доступными
losetup -P /dev/loopX /mnt/large_disk/failing_disk.img
# Попробовать смонтировать раздел
mount /dev/loopXpY /mnt/tmp

Или вы могли бы использовать dd, чтобы скопировать образ на новое устройство:

dd /mnt/large_disk/failing_disk.img /dev/sdx bs=4M status=progress

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

http://en.wikipedia.org/wiki/S.M.A.R.T.

S.M.A.R.T. — это установленный стандарт для того, что вы описываете. Существуют различные приложения, которые позволяют получить информацию с жесткого диска.

Мой любимый (и бесплатный) выбор — это SpeedFan.

HDTune, бесплатная версия может проверить здоровье жесткого диска.

Если вопрос заключается в следующем:

Какое программное обеспечение предупредит меня, когда мой диск собирается выйти из строя?

Ответ — ни одно в большинстве случаев. Большинство дисков выходит из строя в очень короткие сроки, и ни SMART, ни другое программное обеспечение не успевают зафиксировать это вовремя.

Кроме того, даже если они сигнализируют об ошибке, данные плохого сектора могут быть невосстановимыми.

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

Я предлагаю хороший проект для начинающих, чтобы увидеть состояние жесткого диска:

https://github.com/AnalogJ/scrutiny

используя команду в одну строку с Docker:

docker run -it --rm -p 8080:8080 -p 8086:8086 \
  -v `pwd`/scrutiny:/opt/scrutiny/config \
  -v `pwd`/influxdb2:/opt/scrutiny/influxdb \
  -v /run/udev:/run/udev:ro \
  --cap-add SYS_RAWIO \
  --device=/dev/sda \
  --device=/dev/sdb \
  --name scrutiny \
  ghcr.io/analogj/scrutiny:master-omnibus

Вы работаете на Linux, но можете подключить ваш HDD к компьютеру друга с Windows.

Вам не нужно сложное программное обеспечение для проверки состояния здоровья жесткого диска. Используйте Crystal Disk Info для Windows, чтобы проверить, в хорошем ли состоянии ваш жесткий диск или есть ли какие-либо повреждения.

Он также покажет данные S.M.A.R.T с индикатором рядом с каждым значением, так что если вы найдете красный индикатор, то есть проблема с вашим жестким диском.

.

Ответ или решение

Проверка состояния жесткого диска является важной задачей, особенно когда устройство начинает проявлять нестабильность, такую как щелчки или затруднения доступа к данным. В описанном вами случае вы столкнулись с проблемой на SATA-диске HITACHI Deskstar T7K250 HDT722525DLA380. Несмотря на временное устранение проблемы путем затягивания соединений, оценка здоровья диска до сих пор остается актуальной задачей. Рассмотрим детально, как можно провести такую оценку.

Теория

Основным инструментом оценки состояния жесткого диска является SMART (Self-Monitoring, Analysis and Reporting Technology). Эта технология встраивается практически во все современные жесткие диски и обладает набором датчиков и механизмов отслеживания показателей работы диска, включая темпаратуру, количество переназначенных секторов, количество ошибок при чтении/записи и другие важные показатели. SMART предоставляет информацию, важную для предсказания возможных отказов диска.

Пример

Чтобы получить доступ к данным SMART в Linux, вы можете воспользоваться утилитой smartctl, которая является частью пакета SMART Utility Tools (smartmontools). Команда для считывания полной информации SMART следующая:

sudo smartctl -a /dev/sda | less

После выполнения этой команды вы получите обширный отчет о состоянии жесткого диска. В отчете важны следующие параметры:

  • Reallocated Sector Count: количество переназначенных секторов. Повышение этого числа может указывать на износ устройства.
  • Current Pending Sector: количество текущих секторов, которые не могут быть прочитаны.
  • Uncorrectable Sector Count: количество необратимых ошибок.
  • Температура: высокие температуры могут привести к быстрому износу диска.

Помимо smartctl, вы можете использовать другие утилиты для более глубокого анализа. Например, badblocks для проверки наличия битых секторов:

sudo badblocks -v /dev/sda -s

Также для удобства работы с SMART-дисками можете установить gsmartcontrol, обладающий графическим интерфейсом:

sudo apt-get install gsmartcontrol
sudo gsmartcontrol

Применение

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

Проверка с помощью утилиты badblocks дает возможность определить и локализовать имеющиеся и потенциальные проблемные сектора. Если такие проблемы обнаружены, целесообразно исключить эти секторы из использования с помощью команды e2fsck для файловых систем extX или fsck для файловых систем FAT:

sudo e2fsck -ccky /dev/sda1

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

Для более глубокой диагностики рекомендуются также такие инструменты, как Hitachi Drive Fitness Test, SpinRite (платно) или Windows-утилиты вроде Crystal Disk Info. Эти программы способны на ранних стадиях выявить признаки ухудшения работы и позволяют предпринять необходимые действия по сохранению данных и замене дисков.

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

Оцените материал
Добавить комментарий

Капча загружается...