Centos проверка диска на ошибки

Предполагал ли Линус Тoрвальдс, создавая свое детище, что Linux будет использоваться во встроенных системах, причем не только в дешевых домашних роутерах, но и в таких серьезных телеком решениях как АТС AVAYA?

Недавно пришлось восстанавливать работоспособность АТС AVAYA одного крупного Заказчика. Это шлюз Avaya G650 (шасси) с сервером Avaya S8400 (процессор). Где в качестве системного диска используется носитель CompactFlash объемом 2 ГБ. Который условно можно считать SSD диском с IDE интерфейсом.
И каково же было мое удивление, когда подключив CF накопитель через карт-ридер я увидел знакомую структуру Linux файловой системы. Что, конечно, упрощало процедуру проверки работоспособности CF накопителя.

Как проверить файловую систему Linux диск на наличие ошибок

В операционной системе MicroSoft DOS (о да, я помню версию 5.0, которая помещалась на одной дискете!) была команда проверки дисков CHKDSK. И нечто подобное есть и в Linux.
Чтобы проверить диск Linux на наличие ошибок файловой системы необходимо выяснить имена файловых систем для проверки:

Для тестируемого накопителя CF — это /dev/sdd1 и /dev/sdd6
Далее необходимо размонтировать тестируемые файловые системы:

Далее запускаем программу проверки и восстановления для каждой файловой системы:

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

Результаты работы утилиты проверки файловой системы Lunux FSCK

В моем случае на одном из разделов были ошибки, которые утилита исправила. После чего CF накопитель был возвращен на свое место и работоспособность АТС Avaya была восстановлена.

baltun

Fsck также пропускает несуществующие устройства, которые имеют особый тип файловой системы автоматически.

-C [fd] — Показать завершения / индикаторы выполнения для этих проверок файловых систем (в настоящее время только для ext2 и ext3), которые поддерживают их. Fsck будет управлять проверкой файловой системы так, что только один из них будет отображать индикатор выполнения. С графическим интерфейсом пользователя можно указать дескриптор файла fd, в этом случае информация о ходе выполнения будет отправлена в дескриптор файла.

-M — Не проверять смонтированные файловые системы и вернуть код завершения 0, для смонтированных файловых систем.

-N — Ничего не делать, просто показывает, что должно быть сделано.

-P — Когда опция -A устанавливается, то fsck проверяет корневую файловую систему параллельно с другими файловыми системами. Это не очень безопасно, чтобы делать так, т.к если корневая файловая система находится под e2fsck, то исполняемый файл может быть поврежден!
Эта опция в основном предназначены для тех администраторов, которые не хотят перераспределить корневую файловую систему, чтобы быть маленькой и компактной (на самом деле правильное решение).

-R — При проверке всех файловых систем с флагом -A, пропускать корневую файловую систему. (Это полезно в случае когда корневая файловая система уже смонтирована для чтения и записи.)

-T — Не показывать название при запуске.

-V — Подробный вывод, в том числе всех команд конкретной файловой системы , которые выполняются.

Специальные параметры для файловой системы.

Параметры, которые не понимают FSCK передаются в файловой системе конкретной проверкой. Эти опции не должны принимать аргументы, т.к нет никакого способа для Fsck, чтобы иметь возможность должным образом угадать, какие параметры имеют аргументы, а какие нет.
Параметры и аргументы, которые следуют – рассматриваются как файловая система конкретных вариантов, которые будут переданы в файловой системе конкретной проверки.
Пожалуйста, обратите внимание, что Fsck не предназначен для передачи сколь угодно сложных вариантов файловой системы, конкретных проверок. Если вы делаете что-то сложное, пожалуйста, просто выполните конкретную проверку напрямую для файловой системы.
Хотя не гарантируется, что следующие параметры поддерживаются большинством файловых систем:

-a — Автоматическое восстановление файловой системы без каких-либо вопросов (используйте эту опцию с осторожностью). Обратите внимание, что e2fsck поддерживает -a только для обратной совместимости. Эта опция отображается на e2fsck-х с опцией -p, которая является безопасной в использовании, в отличие от опции -a.

-n — Для некоторых файловых систем конкретных проверок, опция -n вызовет fs-specific FSCK и тем самым данная опция говорит о отказе от попыток исправить все проблемы, но просто сообщать о таких проблемах в стандартный вывод.

-r — Интерактивный ремонт файловой системы (спросит подтверждение).

Примечание: Как правило, плохая идея использовать эту опцию, если несколько FSCK в настоящее время работают параллельно. Также обратите внимание, что это поведение для E2fsck по умолчанию; он поддерживает эту опцию только для причин обратной совместимости.

Любой компьютер — сложное устройство, которые состоит из множества компонентов и никто не застрахован от сбоев любого из них. В этой статье мы рассмотрим как своевременно распознать одну из серьезных проблем с устройствами хранения информации, будь то жесткий диск или flash-накопитель, как выполняется проверка диска на битые секторы linux.

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

Сектор может стать битым по разным причинам:

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

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

Давайте рассмотрим, при помощи каких утилит в Linux мы можем проверить диск на битые секторы linux.

Проверка накопителя на битые секторы средствами badblocks.

Badblocks — стандартная утилита Linuх для проверки на битые секторы. Она устанавливается по-умолчанию практически в любой дистрибутив и с ее помощью можно проверить как жесткий диск, так и внешний накопитель.

Для начала давайте посмотрим, какие накопители подключены к нашей системе и какие на них имеются разделы. Для этого нам нужна еще одна стандартная утилита Linux — fdisk.

Естественно, что выполнять команды нужно с правами суперпользователя:

Параметром -l мы говорим утилите fdisk, что нам нужно показать список разделов и выйти.

Теперь, когда мы знаем, какие разделы у нас есть, мы можем проверить их на битые секторы. Для этого мы будем использовать утилиту badblocks следующим образом:

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

Для проверки мы указываем следующие параметры:

  • -v — подробный вывод информации о результатах проверки.
  • /dev/sda1 — раздел, который мы хотим проверить на битые секторы.
  • > badsectors.txt — выводим результат выполнения команды в файл badsectors.txt.

Если же в результате были найдены битые секторы, то нам надо дать указание операционной системе не записывать в них информацию в будущем. Для этого нам понадобятся утилиты Linux для работы с файловыми системами:

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

Вводим следующие команды:

sudo e2fsck -l badsectors.txt /dev/sda1

Или, если у нас файловая система не ext:

sudo fsck -l badsectors.txt /dev/sda1

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

Проверка накопителя на битые секторы в Linux в smartmontools

Теперь давайте рассмотрим более современный и надежный способ проверить диск на битые секторы linux. Современные накопители ATA/SATA ,SCSI/SAS,SSD имеют встроенную систему самоконтроля S.M.A.R.T (Self-Monitoring, Analysis and Reporting Technology, Технология самоконтроля, анализа и отчетности), которая производит мониторинг параметров накопителя и поможет определить ухудшение параметров работы накопителя на ранних стадиях. Для работы со S.M.A.R.T в Linux есть утилита smartmontools.

Давайте сначала ее установим. Если ваш дистрибутив основан на DebianUbuntu, то вводите:

sudo apt install smartmontools

Если же у Вас дистрибутив на основе RHELCentOS, то вводите:

sudo yum install smartmontools

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

Давайте перейдем к работе с утилитой. Вводим следующую команду с параметром -H,чтобы утилита показала нам информацию о состоянии накопителя:

sudo smartctl -H /dev/sda1

Как видим, проверка диска на битые секторы linux завершена и утилита говорит нам, что с накопителем все в порядке!

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

Выводы

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

Нет похожих записей

Оцените статью:

Об авторе

9 комментариев

Для любителей гуя есть gsmartcontrol

Какие нахрен битые сектора. в каком веке живете? Или вы про Self тест?

А в каком веке перестали сыпаться ХДД?

Если ты настолько туп что не понимаешь что такое бэд блоки, то какого хрена ты вообще тут пишешь

Ты будешь очень удивлен, когда узнаешь, что битые сектора еще на стадии производства жестких дисков появляются. Причина этого: несовершенство технологии производство, как бы не парадоксально это звучало. По этой же причине с одной матрицы, на которой выращивают процессора получают как сверхвысокопроизводительные процессора с высокой стоимостью, так и самые дешевые целерончики. Так вот, те битые сектора, которые определяют еще на производстве помечают и заносят в специальный список. который хранится, в зависимости от производителя харда или в специальном разделе, или во флешпамяти или там и там. Наличие заводских бэдов подтверждает график чтения диска. Его можно увидеть прогнав новый диск (из заводской упаковки) какой нибудь утилитой типа Виктории или МХДД. Провалы в графике чтения, который представляет собой логарифмическую кривую это и есть подтверждение наличия заводских сбойных секторов: то есть на этих областях головка харда переходит по указанному адресу. То есть там алгоритм такой: головка доходит до нужного адреса на диске: считывает с него инфу, и если видит что-то подобное: этот блок сбойный, если вы хотите что-то записать, то вместо него работает вооон тот блок, расположенный воооон там.
э

Уважаемый автор, что-то я не понял про "просто" fsck. У него параметром "-l" не подставляется файл от "badblocks" с перечнем битых секторов, а выполняется совсем другая операция.
Может подскажете что теперь делать в этом случае? Т. е. например у меня флэшка битая и файловая система там не ext, и в наличии только консоль.


[an error occurred while processing the directive]
Карта сайта