Плохие сектора и блоки - это те области жесткого диска, с которых невозможно считывать или на которые невозможно записывать данные из-за физических повреждений или по другим причинам. По мере увеличения количества плохих секторов на диске его производительность со временем ухудшается. Если их не проверять, они могут даже привести к полному отказу диска. Поэтому важно время от времени проверять плохие сектора на жестком диске, отмечать их как непригодные для использования и по возможности начинать поиск нового диска. Это важное требование для многих системных администраторов. В этой статье мы узнаем, как проверить плохие сектора на HDD в Ubuntu с помощью определенных инструментов сканирования дисков.
Как проверить плохие сектора на жестком диске в Ubuntu
Вот несколько способов проверки жесткого диска на наличие плохих секторов и блоков.
Использование программы badblocks
Вы можете использовать программу badblocks для легкого сканирования диска на наличие поврежденных секторов и блоков. Ее можно использовать как с жестким диском, так и с внешним дисководом.
Сначала воспользуемся командой fdisk, чтобы получить список всех доступных разделов диска.
1 | sudo fdisk -l |
Вы увидите список всех дисковых разделов вместе с путем монтирования. Например, если вы хотите проверить плохие сектора/блоки на разделе /dev/sda1, выполните следующую команду.
1 | sudo badblocks -v /dev/sda1 > badsectors.txt |
В приведенной выше команде мы используем опцию -v для отображения хода операции сканирования. Мы также указали сохранить результат операции сканирования в файле badsectors.txt.
После завершения сканирования просмотрите файл badsectors.txt. Если в выходном файле обнаружены плохие сектора, размонтируйте раздел и пометьте плохие сектора как непригодные для использования.
Для этого необходимо использовать команду e2fsck (для файловых систем ext2/ext3/ext4) или fsck с файлом badsectors.txt и файлом устройства, как показано в команде ниже.
Специально для файловых систем ext2/ext3/ext4
1 | sudo e2fsck -l badsectors.txt /dev/sda1 |
ИЛИ
Для других файловых систем
1 | sudo fsck -l badsectors.txt /dev/sda1 |
Мы используем опцию -l, чтобы указать этим командам добавить плохие сектора и блоки из файла badsectors.txt. Эти команды автоматически размонтируют указанный раздел, прочитают список плохих секторов и блоков из файла badsectors.txt и пометят их как непригодные для использования.
Использование Smartmontools
Вы также можете использовать smartmontools для поиска поврежденных блоков и секторов на современных дисках, таких как жесткие диски ATA/SATA и SCSI/SAS и твердотельные накопители.
Вот команда для установки smartmontools в вашу систему.
В системах на базе Debian/Ubuntu
1 | sudo apt-get install smartmontools |
В системах на базе RHEL/CentOS
1 | sudo yum install smartmontools |
После установки используйте опцию -H или -health для отображения состояния определенного диска.
1 | sudo smartctl -H /dev/sda1 |
Если диск здоров, вы увидите следующее сообщение.
Вы также можете использовать опцию -a или -all для отображения всей информации о диске.
Вы можете просмотреть все доступные опции для smartmontools, используя его man-страницы.
1 | man smartctl |
1 | smartctl -h |
Заключение
В этой статье мы узнали, как проверить поврежденные сектора или блоки на жестком диске в Ubuntu. На самом деле, очень важно регулярно проверять диски на наличие таких плохих секторов и блоков, чтобы обнаружить проблемы на ранней стадии. Вы можете запускать эти команды как cronjobs или сценарии оболочки, чтобы автоматически выполнять проверки на регулярной основе и информировать вас о проблемах.