Проверить состояние жесткого диска centos
Linux отображает подключённые жёсткие диски иначе, чем Windows. В операционной системе от Microsoft мы привыкли к тому, что у нас есть диск C, D, E, и нам не нужно задумываться о реальных именах разделов и жёстких дисков. Все диски размещены в проводнике и очень просто доступны.
В Linux такой возможности нет, как и нет такой абстракции. Диски и разделы именуются как есть, и вы будете иметь дело именно с этими именами. В этой статье мы разберём, как посмотреть список дисков Linux.
Посмотреть список дисков в GUI
Во-первых, если к компьютеру подключено несколько дисков, то вы сможете их увидеть на левой панели файлового менеджера Nautilus или Dolphin. Там будет отображаться список подключенных устройств Linux, их метки и размер:
В Gnome есть программа Disks, которая позволяет настраивать поведение дисков, она же может отображать список подключенных устройств к системе. Вы можете найти её в главном меню:
Утилита отображает всю доступную информацию о дисках и разделах на них, вы можете даже посмотреть информацию о состоянии smart. Список дисков находится на панели слева, а справа разделы на этом диске:
Ещё одна утилита, которую вы можете использовать, чтобы посмотреть список жёстких дисков Linux - это Gparted. Это редактор разделов для Linux, но вы можете посмотреть подключнёные диски и структуру каждого из них. Раскрывающийся список вы найдёте в верхнем правом углу:
А в основной части окна программы отображается список разделов.
7. Варианты тестов.
7.1. Просмотр сколько времени займут различные тесты:
7.2. Запуск короткого теста в фоновом режиме:
7.3. Запуск длинного теста в фоновом режиме:
7.4. Просмотр результатов прохождения тестов:
7.5. Остановка (прерывание) теста:
7.6. Просмотр всей S.M.A.R.T. информации о диске:
7.7. Просмотр всей информации о диске, а не только S.M.A.R.T., включая возможные ошибки:
7.8. Просмотр S.M.A.R.T. атрибутов/показателей и их значений для диска:
Утилита имеет и другие параметры: --all , --xall , чтобы просмотреть информацию в том числе и об остальных параметрах накопителя.
Оцените статью:
Об авторе
13 комментариев
Для любителей гуя есть gsmartcontrol
Какие нахрен битые сектора. в каком веке живете? Или вы про Self тест?
А в каком веке перестали сыпаться ХДД?
Если ты настолько туп что не понимаешь что такое бэд блоки, то какого хрена ты вообще тут пишешь
Ты будешь очень удивлен, когда узнаешь, что битые сектора еще на стадии производства жестких дисков появляются. Причина этого: несовершенство технологии производство, как бы не парадоксально это звучало. По этой же причине с одной матрицы, на которой выращивают процессора получают как сверхвысокопроизводительные процессора с высокой стоимостью, так и самые дешевые целерончики. Так вот, те битые сектора, которые определяют еще на производстве помечают и заносят в специальный список. который хранится, в зависимости от производителя харда или в специальном разделе, или во флешпамяти или там и там. Наличие заводских бэдов подтверждает график чтения диска. Его можно увидеть прогнав новый диск (из заводской упаковки) какой нибудь утилитой типа Виктории или МХДД. Провалы в графике чтения, который представляет собой логарифмическую кривую это и есть подтверждение наличия заводских сбойных секторов: то есть на этих областях головка харда переходит по указанному адресу. То есть там алгоритм такой: головка доходит до нужного адреса на диске: считывает с него инфу, и если видит что-то подобное: этот блок сбойный, если вы хотите что-то записать, то вместо него работает вооон тот блок, расположенный воооон там.
э
Уважаемый автор, что-то я не понял про "просто" fsck. У него параметром "-l" не подставляется файл от "badblocks" с перечнем битых секторов, а выполняется совсем другая операция.
Может подскажете что теперь делать в этом случае? Т. е. например у меня флэшка битая и файловая система там не ext, и в наличии только консоль.
Инструмент позволяет тестировать файловую систему с большей надежностью. В современных жестких дисках имеется встроенный модуль самоконтроля S. M. A. R. T., который анализирует данные накопителя и помогает определить неисправность на первоначальной стадии. Smartmontools предназначен для работы с этим модулем.
Пакет Smartmontools состоит из двух утилит — smartctl и smartd . Вместе они представляют мощную систему мониторинга и предупреждения о возможных поломках HDD в CentOS 7.
2. Установка программы.
Запуск установки производится через терминал:
11. Планирование графика проверки устройств.
Также можно запланировать тесты по своему графику, для этого используйте опцию -s и регулярное выражение типа T/MM/ДД/ДН/ЧЧ , где:
Здесь T — тип/вид теста:
- L — длинный тест;
- S — короткий тест;
- C — тест перемещения (ATA);
- O — оффлайн тест.
Остальные символы определяют дату и время теста:
- ММ — месяц года (две цифры в диапазон 01-12);
- ДД — день месяца. (две цифры в диапазоне 01-31);
- ЧЧ — время в часах (две цифры в диапазоне 00-23);
- ДН — день недели от 1 — понедельника до 7 — воскресенья;
- MM , ДД и ЧЧ — указываются двумя цифрами.
Точка ‘ . ‘ в этих местах означает любой единичный символ.
Выражения типа ‘ (A|B|C) ‘ определяет любое из трех указанных значений A , B или C . Выражение внутри квадратных кавычек такие как 4 определяет диапазон ( от 1 до 5 включительно).
Например, чтобы выполнять полную проверку жесткого диска CentOS 7 каждый рабочий день в час дня добавьте опцию -s в строчку конфигурации вашего устройства:
Если несколько дисков, то добавляем аналогичные строки только меняем имена устройств /dev/sdb на имя другого диска.
Если вы хотите чтобы утилита сканировала и проверяла все устройства, которые есть в системе используйте вместо имени устройства директиву DEVICESCAN :
Проверка диска на битые секторы Linux
Для поиска битых секторов можно использовать утилиту badblocks. Если вам надо проверить корневой или домашний раздел диска, то лучше загрузится в LiveCD, чтобы файловая система не была смонтирована. Все остальные разделы можно сканировать в вашей установленной системе. Вам может понадобиться посмотреть какие разделы есть на диске. Для этого можно воспользоваться командой fdisk:
sudo fdisk -l /dev/sda1
Или если вы предпочитаете использовать графический интерфейс, это можно сделать с помощью утилиты Gparted. Просто выберите нужный диск в выпадающем списке:
В этом примере я хочу проверить раздел /dev/sda2 с файловой системой XFS. Как я уже говорил, для этого используется команда badblocks. Синтаксис у неё довольно простой:
$ sudo badblocks опции /dev/имя_раздела_диска
Давайте рассмотрим опции программы, которые вам могут понадобится:
- -e - позволяет указать количество битых блоков, после достижения которого дальше продолжать тест не надо;
- -f - по умолчанию утилита пропускает тест с помощью чтения/записи если файловая система смонтирована чтобы её не повредить, эта опция позволяет всё таки выполнять эти тесты даже для смонтированных систем;
- -i - позволяет передать список ранее найденных битых секторов, чтобы не проверять их снова;
- -n - использовать безопасный тест чтения и записи, во время этого теста данные не стираются;
- -o - записать обнаруженные битые блоки в указанный файл;
- -p - количество проверок, по умолчанию только одна;
- -s - показывать прогресс сканирования раздела;
- -v - максимально подробный режим;
- -w - позволяет выполнить тест с помощью записи, на каждый блок записывается определённая последовательность байт, что стирает данные, которые хранились там раньше.
Таким образом, для обычной проверки используйте такую команду:
sudo badblocks -v /dev/sda2 -o ~/bad_sectors.txt
Это безопасно и её можно выполнять на файловой системе с данными, она ничего не повредит. В принципе, её даже можно выполнять на смонтированной файловой системе, хотя этого делать не рекомендуется. Если файловая система размонтирована, можно выполнить тест с записью с помощью опции -n:
sudo badblocks -vn /dev/sda2 -o ~/bad_sectors.txt
После завершения проверки, если были обнаружены битые блоки, надо сообщить о них файловой системе, чтобы она не пыталась писать туда данные. Для этого используйте утилиту fsck и опцию -l:
fsck -l ~/bad_sectors.txt /dev/sda1
Если на разделе используется файловая система семейства Ext, например Ext4, то для поиска битых блоков и автоматической регистрации их в файловой системе можно использовать команду e2fsck. Например:
sudo e2fsck -cfpv /dev/sda1
Параметр -с позволяет искать битые блоки и добавлять их в список, -f - проверяет файловую систему, -p - восстанавливает повреждённые данные, а -v выводит всё максимально подробно.
5. Нулевое значение.
Спустя какое-то время тесты будут проходить без ошибок, а счётчик битых секторов Current Pending Sector (и Offline Uncorrectable ) будет показывать ноль.
После исправления всех ошибок стоит запустить глубокое тестирование диска:
Эта операция займёт ощутимое время. Если по её итогам найдутся ещё какие-то ошибки, то шаги выше нужно будет повторить.
Выводы
В этой статье мы разобрали несколько способов посмотреть список примонтированных дисков Linux. Каждый из них может понадобиться в различных ситуациях. Если у вас остались вопросы, спрашивайте в комментариях!
Ладно, шучу, выключил сервер, поправил провода и всё заработало обратно, но битые сектора так просто не чинятся.
Если поднять логи попыток чтения этого диска, то можно обнаружить интересные строки о работе диска.
Выводы
В этой статье мы рассмотрели как выполняется проверка диска на битые секторы Linux, чтобы вовремя предусмотреть возможные сбои и не потерять данные. Но на битых секторах проблемы с диском не заканчиваются. Там есть множество параметров стабильности работы, которые можно отслеживать с помощью таблицы SMART. Читайте об этом в статье Проверка диска в Linux.
12. Синтаксис из smartd.conf.
Для качественного и успешного использования программного обеспечения нужно уметь его правильно настраивать, для этого требуется знать инструкцию, которую заботливо написали для нас разработчики.
Примечание: начиная с серии ядер Linux 2.6, интерфейс /dev/sdX является устаревшим. Вместо этого используйте интерфейс символьного устройства /dev/tweN . Например, /dev/twe0 , /dev/twe1 и так далее.
8. Просмотр файла справки программы.
Для получения дополнительной информации вызывается справка:
Выход из справки — клавиша ‘ q ‘.
3. Badblocks.
Badblocks – дисковая утилита, имеющаяся в CentOS 7 по умолчанию. Программа позволяет тестировать как жесткий диск, так и внешние накопители.
Внимание! Все приведенные в статье терминальные команды начинаются с параметра sudo , так как для выполнения требуются права суперпользователя.
Перед тем, как тестировать диск в CentOS 7 следует проверить, какие накопители подключены к системе, с помощью утилиты fdisk -l . Она также покажет имеющиеся на них разделы.
Теперь можно приступать к непосредственному тестированию на битые сектора.
Внимание! Процедура проверки диска будет очень-очень долгой. Рекомендуется воспользоваться утилитой screen для запуска этого процесса в фоновом режиме.
Работа Badblocks организовывается следующим образом:
В записи используются следующие команды и операнды:
- -v – выводит подробный отчет о проведенной проверке;
- /dev/sdb – проверяемый раздел;
- > – команда записи результатов в файл;
- badsector.txt – запись результатов в текстовый файл или ваш путь.
Начало выполнения ознаменуется резким всплеском «чтения с диска» и возросшей нагрузкой на CPU.
А активность работы с диском «на чтение» упадет:
Если при проверке диска нашлись битые блоки, нужно запустить утилиту fsck, либо e2fsck, в зависимости от используемой файловой системы. Они ограничат запись информации в нерабочие сектора.
- e2fsck — если мы будем исправлять раздел с файловыми системами ext2, ext3, ext4.
- fsck — если мы будем исправлять файловую систему, отличную от ext.
В случае файловых систем ext2, ext3 или ext4 выполняется следующая команда:
В противном случае:
Параметр -l указывает программе, что битые блоки перечислены в файле badsector.txt , и исключать нужно именно их.
4. Проверка статуса устройства.
4.1. Если отключен S.M.A.R.T., то включаем его:
4.2. Для просмотра короткой информации о состоянии жесткого диска, вводится строка:
ОТВЕТ: PASSED означает, что с данным HDD всё хорошо.
Этот тест может быть пройден ( PASSED ) или нет ( FAILED ). В последнем случае сбой неизбежен, начинайте резервное копирование данных с этого диска.
4.3. Если нужно выключить S.M.A.R.T.:
4. Safecopy.
Когда возникает потребность тестировать винчестер в CentOS 7, стоит быть готовым к любому результату.
Приложение Safecopy копирует данные с поврежденного устройства на рабочее. Источником могут быть как жесткие диски, так и съемные носители. Этот инструмент игнорирует ошибки ввода/вывода, чтения, битые блоки, продолжая беспрерывно работать. Скорость выполнения максимально возможная, которую обеспечивает компьютер.
Примечание! Утилита не предназначена для восстановления удаленных файлов. Она достает информацию, хранящуюся в битых секторах.
Подключим репозиторий NUX.
Для установки Safecopy на CentOS 7 в терминал вводится строка:
Сканирование запускается командой:
Здесь первый путь обозначает поврежденный диск, второй – директорию, куда сохранятся файлы.
Программа способна создать образ файловой системы нестабильно работающего запоминающего устройства.
Одно из самых важных устройств компьютера - это жесткий диск, именно на нём хранится операционная система и вся ваша информация. Единица хранения информации на жестком диске - сектор или блок. Это одна ячейка в которую записывается определённое количество информации, обычно это 512 или 1024 байт.
Битые сектора, это повреждённые ячейки, которые больше не работают по каким либо причинам. Но файловая система всё ещё может пытаться записать в них данные. Прочитать данные из таких секторов очень сложно, поэтому вы можете их потерять. Новые диски SSD уже не подвержены этой проблеме, потому что там существует специальный контроллер, следящий за работоспособностью ячеек и перемещающий данные из нерабочих в рабочие. Однако традиционные жесткие диски используются всё ещё очень часто. В этой статье мы рассмотрим как проверить диск на битые секторы Linux.
6. Отображение подробной информации устройства.
Для просмотра подробной информации о состоянии жесткого диска, вводится строка:
Здесь опция -s включает флаг S.M.A.R.T. на указном устройстве. Вы можете его убрать если поддержка S.M.A.R.T. уже включена. Информация о диске разделена на несколько разделов, В разделе READ SMART DATA находится общая информация о здоровье жесткого диска.
Получим длинный ответ консоли о состоянии диска:
Следующая вещь которую можно посмотреть, когда выполняется диагностика HDD в CentOS 7, это таблица S.M.A.R.T. атрибутов.
В S.M.A.R.T. таблице записаны параметры, определенные для конкретного диска разработчиком, а также порог отказа для этих параметров. Таблица заполняется автоматически и обновляется на основе прошивки диска.
3. Информация о дисках в системе.
Сначала узнайте какие жесткие диски подключены к вашей системе:
В выводе будет что-то подобное:
Здесь sdX это имя устройства HDD подключенного к компьютеру.
Теперь тоже самое, но силами утилиты smartctl , которую мы только что поставили:
5. Отображение общей информации устройства.
Для отображения информации о конкретном жестком диске (модель устройства, S/N, версия прошивки, версия ATA, доступность интерфейса SMART) Запустите smartctl с опцией --info и именем жесткого диска. Так же можно проверить, включена ли интеллектуальная функция S.M.A.R.T. для диска или нет.
Например, для /dev/sdb :
Если вышеприведенная команда не работает, вам может потребоваться сообщить smartctl, какой тип интерфейса жесткого диска вы используете:
В данном примере мы сообщили компьютеру, что мы используем SATA устройство.
Хотя вы можете и не обратить внимания на версию SATA или ATA, это один из самых важных факторов при поиске замены устройству. Каждая новая версия ATA совместима с предыдущими. Например, старые устройства ATA-1 и ATA-2 прекрасно будут работать на ATA-6 и ATA-7 интерфейсах, но не наоборот. Когда версии ATA устройства и интерфейса не совпадают, возможности оборудования не будут полностью раскрыты.
В данном случае для замены лучше всего выбрать жесткий диск SATA 3.0.
Включите интеллектуальную возможность для диска S.M.A.R.T., если она отключена:
Если вы получили ответ «SMART Enable Automatic Offline failed: scsi error badly formed scsi parameters» означает, что для активации и использования этой замечательной функции нужно включить соответствующее значение в BIOS‘е про S.M.A.R.T.
Иногда бывает так, что ваш BIOS и жесткий диск не поддерживают данную технологию.
Как посмотреть список дисков в Linux
В Linux все отображается в файловом виде, в том числе и устройства. Все подключённые к операционной системе Linux устройства размещаются в каталоге /dev/ здесь вы найдете микрофоны, камеры, жёсткие диски, флешки, одним словом, все внешние и внутренние устройства.
Жёсткие диски имеют особенные названия. В зависимости от интерфейса, через который подключён жёсткий диск, название может начинаться на:
- sd - устройство, подключённое по SCSI;
- hd - устройство ATA;
- vd - виртуальное устройство;
- mmcblk - обозначаются флешки, подключённые через картридер;
В наше время большинство блочных устройств Linux подключаются через интерфейс SCSI. Сюда входят жёсткие диски, USB-флешки, даже ATA-диски теперь тоже подключаются к SCSI через специальный переходник. Поэтому в большинстве случаев вы будете иметь дело именно с дисками sd.
Третья буква в имени диска означает его порядковый номер в системе. Используется алфавитная система. Например sda - первый диск, sdb - второй диск, sdc - третий и так далее. Дальше следует цифра - это номер раздела на диске - sda1, sda2.
Самый простой способ увидеть все подключённые диски - это посмотреть содержимое каталога /dev/ и отфильтровать устройства sd:
Как видите, в моей системе сейчас есть только один диск и два раздела. Дальше мы можем посмотреть, куда примонтирован каждый из разделов:
Здесь, кроме дисков, будут отображаться различные специальные файловые системы: procfs, sysfs, tmpfs, cgroup и так далее. Однако все эти команды не помогут нам получить доступ к информации о дисках. Поэтому нам понадобится кое-что другое. Посмотреть подключённые диски с выводом информации о размере и свободном пространстве можно с помощью утилиты df:
Здесь отображается уже подробная информация. Но вы можете узнать ещё больше с помощью команды lsblk:
В этом случае список примонтированных дисков Linux включает ещё и информацию о точке монтирования, типе раздела (диск, раздел, привод) и его мажорном и минорном номере, по которым можно понять, что это за устройство. Если вам нужна информация о размере, то лучше использовать fdisk:
Это все утилиты, которыми вы можете воспользоваться, чтобы просмотреть список дисков Linux. Но есть ещё и графические утилиты.
2. Что такое битые блоки и почему они появляются.
Блок (сектор) – это маленькая ячейка диска, на которой в виде битов ( 0 и 1 ) хранится информация. Когда системе не удается записать очередной бит в ячейку, говорят о битом секторе.
Причин возникновения таких блоков может быть несколько:
- брак при производстве;
- отключение питания в процессе записи информации;
- физический износ диска.
Изначально практически на всех носителях имеются нарушения. Со временем их количество может увеличиваться, что говорит о скором выходе устройства из строя.
В CentOS 7 тестировать диск на ошибки возможно несколькими способами.
6. Способ автоматизации.
Можно обойтись без большей части операций выше если данные на диске не представляют ценности (например, это диск из RAID 1). Для этого запускаем полный тест командой выше, дожидаемся его завершения с ошибкой, затем перезаписываем весь диск целиком нулями:
В этой команде можно обратить внимание на два флага: один — для прямо записи на диск, минуя кеш операционной системы, и второй: для показа процесса копирования. Последняя опция есть в GNU coreutils по крайней мере начиная с версии 8.24, а все версии, выпущенные после 2016 года. Если используется более старая версия dd, то можно или просто подождать, либо использовать трюк с pv.
Затем запускаем глубокое тестирование командой как выше, дожидаемся окончания и убеждаемся что тест завершился без ошибок.
Компьютер представляет собой устройство, работа которого основана на взаимодействии множества компонентов. Со временем они могут вызывать сбои в работе. Одной из частых причин неполноценной работы машины становятся битые сектора на диске, поэтому периодически его нужно тестировать.
Любой накопитель состоит из множества маленьких блоков (секторов), которые хранят информацию в виде нулей или единиц (битов). Если, по какой-то причине, операционная система не может записать бит информации в определенный сектор, то можно считать его «битым».
О том, что носитель пора тестировать, стоит задуматься, когда на дисковую систему оказывается большая нагрузка, скорость работы с носителем (запись/чтение) значительно уменьшилась, либо эти процедуры и вовсе вызывают ошибки.
4. Работа со значением счетчика.
Такую же процедуру следует повторить до уменьшения счётчика проблемных секторов до нуля:
- Запускаем быстрое самотестирование тест диска.
- Смотрим координаты проблемного сектора из лога.
- Перезаписываем сектор нулями.
- Сверяемся с атрибутами.
Не составляет особого труда заскриптовать эту операцию.
2. Диагноз по атрибутам.
На Википедии существует подробное описание атрибутов S.M.A.R.T.
Типичные спутники большинства проблем с механическими жесткими дисками — увеличившиеся счётчики Current_Pending_Sector и Offline_Uncorrectable .
Запуск установки Smartmontools производится через терминал:
Из всего отчёта нас интересуют в первую очередь они:
Рассмотрим подробно каждый из счетчиков.
В счётчике Current_Pending_Sector указано число секторов, которые диск не смог прочитать. Это критическая ошибка в том смысле, что данные уже не восстановить, но не фатальная в том смысле, что для этих секторов у диска ещё есть резерв. При следующей записи в эти секторы прошивка диска сделает логическую замену их другими секторами из резерва, который, как обычно подразумевается, находится в другой физической части диски.
- Offline Uncorrectable Sector Count.
В счётчике Offline_Uncorrectable указано число секторов, которые диск не смог восстановить во время операций, предусмотренных предыдущим пунктом.
Семантика этого счётчика отличается от производителя к производителю, потому оптимистично можно предположить что эти сектора всё же можно будет восстановить аналогично секторам, указанным в предыдущем счётчике. В чуть более худшем случае вы сможете удалить данные с диска, затем спокойно выкинуть его. В совсем плохом случае вы ничего не сможете сделать с диском.
Счётчик Reallocated_Event_Count тоже представляет для нас интерес. В этом счётчике указано число секторов, которые были заменены на резервные. Если в этом счётчике есть какое-то ненулевое значение, а в других счётчиках всё по нулям, то это говорит о том, что с диском уже проводились восстановительные операции, подобные описанным в этой статье.
Для каких-то дисков ненулевая величина в этом счётчике может означать неминуемую кончину диска, для других дисков этот счётчик говорит о нормальной работе диска: он может проработать ещё годы. Не все диски меняют значение этого счётчика, потому нулевое значение нужно сверять с логами самотестирования.
9. Настройка автоматической проверки устройств.
Сейчас вы думаете, да smartctl хороший инструмент, но у меня нет возможности запускать его каждый раз вручную, было бы неплохо автоматизировать все это дело, чтобы программа запускалась периодически и сообщала мне о результатах проверки. И это возможно, с помощью smartd .
Поставим в автозапуск утилиту
Проверим успех запуска:
Автоматическая диагностика HDD в CentOS 7 настраивается очень просто.
В начале настройте Postfix 3 для отправки электронной почты с внутреннего системного «почтового ящика».
Сначала отредактируйте файл конфигурации smartd — /etc/smartd.conf .
Создадим резервную копию конфигурационного файла, на всякий случай:
Открываем текстовый редактор и модифицируем файл конфигурации:
Добавьте следующую строку:
Сохраните текстовый файл с настройками.
Сохраните изменения в текстовом редакторе и перезапустите smartd службу:
Вы должны получить на электронную почту письмо о том, что программа была запущена успешно.
Это будет работать только если на компьютере настроен почтовый сервер.
3. Вариант решение проблемы.
Для решения проблемы нам понадобится утилита smartctl. Она входит в пакет Smartmontools, который состоит из двух утилит — smartctl и smartd . Вместе они представляют мощную систему мониторинга и предупреждения о возможных поломках HDD в CentOS 7.
Теперь посмотрим какие устройства хранения данных имеются у нас в системе, но силами утилиты smartctl , которую мы только что поставили:
Везде в инструкция ниже мы будет работать с диском /dev/sde , хоть в примерах такого диска и нет.
Чтобы диск сделал логическую замену сектора, сектор нужно перезаписать нулями. Для чего нужно знать какой именно сектор нужно перезаписывать. В самих атрибутах нет данных о конкретных секторах, вызвавших ошибку. Координаты сектора можно найти в логе самотестирования диска.
Запустим быстрый тест, который быстро покажет проблемный сектор:
При наличии ошибок тест обычно заканчивается раньше обозначенного времени, но это верно не для всех дисков всех производителей.
Для верности подождём и после обозначенного времени смотрим на первую строку в логе тестов:
Проблемный сектор будет в последней колонке отчёта. Номер его указан в физических координатах относительно диска, а чтобы мы могли перезаписать этот сектор нулями, нам нужно знать логические координаты относительно операционной системы.
Физические секторы на диске имеют размеры в 4 Кб, но логический сектор (LBA) имеет размер 512 байт. Значит нам нужно перезаписать нулями физический сектор размером 4 Кб, используя LBA, посчитанный исходя из размера сектора в 512 байт.
Внимание! Дальнейшие инструкции натурально удаляют данные с диска. При ошибке данные вернуть будет нельзя. Данные будут удалены совсем и навсегда. Это не шутка. Проверяйте каждую команду по несколько раз. Если сомневаетесь, ни шагу дальше.
Перезаписывать нужно именно физический сектор целиком. Если попытаться перезаписать восемь секторов по 512 байт, которые вроде как соответствуют одному сектору по 4 Кб, то диск вернёт ошибку:
Если заметить, что физический сектор в восемь раз больше логического (4096/512 = 8), то проблема высчитывания смещения от начала диска сводится к делению LBA-координат проблемного сектора на восемь:
При перезаписи нулями проблемного сектора целиком диск сообщит об успехе, как в этом примере, или об ошибке. Некоторые диски в такой ситуации сообщают об ошибке при записи, ведущей к переназначению сектора, потому при ошибке стоит повторить операцию ещё раз.
Флаг fdatasync в этой команде указывает дождаться физической записи сектора на диск, а если это не удастся, то dd сообщит об ошибке. Это означает, что если команда завершилась с ошибкой и во второй раз, то, или вы ошиблись в расчётах, или диск восстановлению не подлежит.
После успешной перезаписи число проблемных секторов уменьшится:
Уменьшение счётчика Current_Pending_Sector говорит об успехе нашей операции. Если этот или другие счётчики не изменили своих значений, то это, скорее всего, означает что в расчёте координат сектора есть ошибка (был перезаписан нулями не тот сектор).
10. Автоматических проверок состояния дисков и оповещения в случае обнаружения ошибок.
Открываем текстовый редактор и модифицируем файл конфигурации:
Первым делом закомментируем хэшем все открытые опции DEVICESCAN :
Добавьте следующие строки:
Сохраните текстовый файл с настройками.
Теперь подробнее, что тут запрограммировано:
- -o on – включение S.M.A.R.T. Automatic Offline тестов для обновления статуса атрибутов.
- -S on – включение автосохранения атрибутов.
- -a – включает набор опций:
- -H – проверить только здоровье диска, если значение Prefailure атрибута меньше за threshold – увидим, что диск не здоров,
- -f – мониторинг наличия ошибок в атрибутах,
- -t – включение опций -u и -p ,
- -l error -l selftest – проверяется журнал ошибок и пройденных тестов,
- -С 197 – сообщать, если количество Pending Sector не равно нулю,
- -U 198 – сообщать, если количество Offline Uncorrectable секторов не равно нулю.
- Каждую субботу в 6 утра запускать long-тест для диска /dev/sda .
- Каждое воскресенье в 6 утра запускать long-тест для диска /dev/sdb .
Проверка синтаксиса конфигурационного файла:
Либо включением debug-режима:
Выход с debug-режима — Ctrl+\ . Используя Ctrl+C – файл конфигурации будет перечитан в реальном времени.
Сохраните изменения в текстовом редакторе и перезапустите smartd службу:
После того, как получили тестовое письмо от службы smart , удаляем опцию -M test , то есть приводим к виду без этой опции:
Также можно добавить опцию:
Эта опция постоянно напоминает об ошибке (через каждых 2*N дней, то есть 1-го числа, второго, четвертого, восьмого и так далее), по умолчанию (если эта опция отключена) письмо о проблеме придет только один раз! При -M diminishing нужно отключить опцию -M exec /путь_до_скрипта .
Сохраните изменения в текстовом редакторе и перезапустите smartd службу:
Читайте также: