🐹 CentOS 7: Проверка накопителя HDD на битые секторы. Утилиты badblocks, safecopy.

Содержание:

1. Постановка задачи.
2. Что такое битые блоки и почему они появляются.
3. Badblocks.
4. Safecopy.
5. Оригиналы источников информации.


1. Постановка задачи.

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

Любой накопитель состоит из множества маленьких блоков (секторов), которые хранят информацию в виде нулей или единиц (битов). Если, по какой-то причине, операционная система не может записать бит информации в определенный сектор, то можно считать его «битым».

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

2. Что такое битые блоки и почему они появляются.

Блок (сектор) – это маленькая ячейка диска, на которой в виде битов (0 и 1) хранится информация. Когда системе не удается записать очередной бит в ячейку, говорят о битом секторе.

Причин возникновения таких блоков может быть несколько:

  • брак при производстве;
  • отключение питания в процессе записи информации;
  • физический износ диска.

Изначально практически на всех носителях имеются нарушения. Со временем их количество может увеличиваться, что говорит о скором выходе устройства из строя.

В CentOS 7 тестировать диск на ошибки возможно несколькими способами.

3. Badblocks.

Badblocks – дисковая утилита, имеющаяся в CentOS 7 по умолчанию. Программа позволяет тестировать как жесткий диск, так и внешние накопители.

Внимание! Все приведенные в статье терминальные команды начинаются с параметра sudo, так как для выполнения требуются права суперпользователя.

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

# sudo fdisk -l

Теперь можно приступать к непосредственному тестированию на битые сектора.

Внимание! Процедура проверки диска будет очень-очень долгой. Рекомендуется воспользоваться утилитой screen для запуска этого процесса в фоновом режиме.

Как установить и настроить утилиту screen описано в этой статье: «CentOS 7: Установка, настройка и эксплуатация утилиты screen».

Работа Badblocks организовывается следующим образом:

# badblocks -v /dev/sdb > badsector.txt

В записи используются следующие команды и операнды:

  • -v – выводит подробный отчет о проведенной проверке;
  • /dev/sdb – проверяемый раздел;
  • > – команда записи результатов в файл;
  • badsector.txt – запись результатов в текстовый файл или ваш путь.

Начало выполнения ознаменуется резким всплеском «чтения с диска» и возросшей нагрузкой на CPU.

По окончании процедуры проверки выйдет сообщение:

А активность работы с диском «на чтение» упадет:

Если при проверке диска нашлись битые блоки, нужно запустить утилиту fsck, либо e2fsck, в зависимости от используемой файловой системы. Они ограничат запись информации в нерабочие сектора.

  • e2fsck — если мы будем исправлять раздел с файловыми системами ext2, ext3, ext4.
  • fsck — если мы будем исправлять файловую систему, отличную от ext.

В случае файловых систем ext2, ext3 или ext4 выполняется следующая команда:

# sudo e2fsck -l badsector.txt /dev/sdb

В противном случае:

# sudo fsck -l badsector.txt /dev/sdb

Параметр -l указывает программе, что битые блоки перечислены в файле badsector.txt, и исключать нужно именно их.

4. Safecopy.

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

Приложение Safecopy копирует данные с поврежденного устройства на рабочее. Источником могут быть как жесткие диски, так и съемные носители. Этот инструмент игнорирует ошибки ввода/вывода, чтения, битые блоки, продолжая беспрерывно работать. Скорость выполнения максимально возможная, которую обеспечивает компьютер.

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

Подключим репозиторий NUX.

# rpm -Uvh http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-5.el7.nux.noarch.rpm

и ключ

# rpm --import http://li.nux.ro/download/nux/RPM-GPG-KEY-nux.ro

Для установки Safecopy на CentOS 7 в терминал вводится строка:

# yum -y install safecopy

Сканирование запускается командой:

# safecopy /dev/sdb /home/files/

Здесь первый путь обозначает поврежденный диск, второй – директорию, куда сохранятся файлы.

Программа способна создать образ файловой системы нестабильно работающего запоминающего устройства.

5. Оригиналы источников информации.

  1. iwsm.ru «Linux: проверка диска».
  2. losst.ru «Проверка накопителя на битые секторы в Linux».
  3. losst.ru «Проверка жесткого диска в Linux».

Читайте также: