ИТ Блог. Администрирование серверов на основе Linux (Ubuntu, Debian, CentOS, openSUSE)
Суббота, 19 апреля, 2025
Сегодня у нас 1 праздник:
В 1931 году в Москве родился Андрей Петрович Ершов (1931–1988), выдающийся программист и математик, академик, автор первой в мировой практике монографии по автоматизации программирования.

Как обнаружить поврежденные сектора или блоки на жестких дисках Linux

Как обнаружить поврежденные сектора или блоки на жестких дисках Linux

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

По мере накопления «битых» секторов они могут серьёзно повлиять на производительность вашего накопителя, уменьшить его ёмкость или даже привести к полному выходу оборудования из строя.

Также важно отметить, что наличие повреждённых блоков должно заставить вас задуматься о покупке нового жёсткого диска или просто пометить повреждённые блоки как неиспользуемые.

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

Тем не менее, ниже приведены методы:

 

1. Проверьте наличие поврежденных секторов с помощью инструмента badblocks

Инструмент badblocks позволяет сканировать запоминающее устройство, например жёсткий диск или внешний накопитель, на наличие повреждённых секторов. Устройства обычно отображаются в виде файлов, таких как /dev/sdc или /dev/sda.

 

Шаг 1: Составьте список всех дисков и разделов

Во-первых, используйте команду fdisk с правами суперпользователя, чтобы отобразить информацию обо всех ваших дисковых накопителях или флэш-накопителях, а также их разделах:

sudo fdisk -l
Как обнаружить поврежденные сектора или блоки на жестких дисках Linux

Список Разделов файловой системы Linux

 

Это поможет вам определить правильное название устройства для сканирования.

 

Шаг 2: Сканирование на наличие плохих блоков

Затем просканируйте жёсткий диск Linux на наличие повреждённых секторов/блоков, введя команду:

sudo badblocks - v / dev / sda10 > badsectors.txt

 

Сканирование поврежденных секторов жесткого диска в Linux

Сканирование поврежденных секторов жесткого диска в Linux

 

В приведённой выше команде badblocks сканирует устройство /dev/sda10 (не забудьте указать своё фактическое устройство) с помощью -v для отображения подробностей операции. Кроме того, результаты операции сохраняются в файле badsectors.txt с помощью перенаправления вывода.

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

 

Шаг 3: Отметьте Поврежденные сектора как непригодные для использования

Вам нужно будет использовать команду e2fsck (для файловых систем ext2/ext3/ext4) или fsck с файлом badsectors.txt и файлом устройства, как показано в приведенной ниже команде.

Для файловых систем ext2/ ext3/ext4:

sudo e2fsck -l badsectors.txt /dev/sda10

 

Для других файловых систем:

sudo fsck -l badsectors.txt /dev/sda10

 

2. Проверьте работоспособность диска с помощью Smartmontools (рекомендуется).

Этот метод более надёжен и эффективен для современных дисков (жёстких дисков ATA/SATA и SCSI/SAS, а также твердотельных накопителей), которые поставляются с системой S.M.A.R.T. (технология самоконтроля, анализа и отчётности), которая помогает обнаруживать, сообщать и, возможно, регистрировать состояние их работоспособности, чтобы вы могли выявить любые надвигающиеся аппаратные сбои.

 

Шаг 1: Установите smartmontools в Linux

Вы можете установить smartmontools, выполнив приведенную ниже команду:

sudo apt install smartmontools  #Для Debian-based
sudo dnf install smartmontools  #Для RHEL-based

 

Шаг 2: Используйте smartctl для выполнения проверок работоспособности

После завершения установки используйте smartctl, которая управляет системой S.M.A.R.T, встроенной в диск. Вы можете ознакомиться с её справочной страницей следующим образом:

man smartctl
smartctl -h

 

Шаг 3: Проведите базовый тест работоспособности

Теперь выполните команду smartctrl и укажите в качестве аргумента название вашего устройства, как в следующей команде. Флаг -H или --health используется для отображения результатов SMART-теста общей оценки состояния.

sudo smartctl -H / dev/sda10

 

Проверьте Работоспособность жесткого диска Linux

Проверьте Работоспособность жесткого диска Linux

 

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

 

Необязательно: Просмотр полного интеллектуального отчета

Для просмотра информации о диске используйте опцию -a или --all для вывода на печать всей SMART-информации о диске, а также опцию -x или --xall для вывода на печать всей SMART— и non-SMART-информации о диске.

sudo smartctl -a /dev/sda10

 

Или даже более всеобъемлющий:

$ sudo smartctl -x / dev /sda10

Выводы

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

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

Exit mobile version