Наши партнеры

UnixForum





Библиотека сайта rus-linux.net

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

Оригинал: How to Check Bad Sectors or Bad Blocks on Hard Disk in Linux
Автор: Aaron Kili
Дата публикации: 26 октября 2016 года
Перевод: А. Кривошей
Дата перевода: сентябрь 2017 г.

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

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

Программа badblocks позволяет пользователю сканировать устройство на наличие плохих секторов или блоков. Устройство может быть внутренним или внешним жестким диском, представленным в виде файла вида /dev/sdc.
Сначала мы с помощью команды fdisk, запущенной от имени суперпользователя, выводим информацию о всех дисках и их разделах:

$ sudo fdisk -l

Просмотр диска с помощью fdisk

Затем запустите сканирование жесткого диска на плохие сектора/блоки с помощью команды:

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

сканирование жесткого диска на плохие сектора

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

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

$ sudo e2fsck -l badsectors.txt /dev/sda10

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

$ sudo fsck -l badsectors.txt /dev/sda10

Поиск плохих секторов в Linux Disk с помощью Smartmontools

Этот метод более надежен и эффективен при работе с современными дисками (ATA/SATA, SCSI/SAS, а также твердотельными накопителями), оснащенными системой S.M.A.R.T (Self-Monitoring, Analysis and Reporting Technology), которая помогает детектировать, сообщать и в некоторых случаях вести лог состояния жесткого диска.
Вы можете установить smartmontools с помощью следующих команд:

В системах на базе Debian/Ubuntu

$ sudo apt-get install smartmontools

В системах на базе RHEL/CentOS

$ sudo yum install smartmontools

Для контроля интегрированной в диск системы S.M.A.R.T используется утилита smartctl. Подробно ознакомиться с ее возможностями вы можете с помощью следующих команд:

$ man smartctl
$ smartctl -h

Теперь введите команду smartctrl, указав в качестве аргумента название своего диска и флаг -H или --health, чтобы получить результаты тестирования диска.

$ sudo smartctl -H /dev/sda10

проверка жесткого диска

Представленные выше результаты показывают, что с вашим диском все в порядке, и у него в ближайшем времени не должно быть никаких аппаратных сбоев.
Для вывода обзорной информации о состоянии диска используется опция -a или --all, при этом выводится все информация системы SMART, а при использовании опции -x или --xall выводится также информация, не относящаяся к системе SMART.

Об утилите Smartmontools вы можете почитать еще в следующей статье на нашем сайте - Dovodka-Netgear-Stora-do-uma.html