Проверка исправности работы диска в Ubuntu

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

Отключаем server

Далее нам необходимо отключить ненужные сервера, которые так же запускаются при старте системы. Например сервер печати, сервер samba, сервер ssh и многие другие. Для этого нам понадобится Synaptic, если он у вас не установлен, то установить его можно командой:

Debian / Ubuntu

sudo apt install synaptic

Fedora / Centos

sudo dnf install synaptic

Отключаем server

Arch / Manjaro

sudo pacman -S synaptic

После чего в поиске набираем слово “server” и отключаем все ненужное, при этом внимательно смотрим что это за сервер. В случае если вы не знаете за что отвечает данная служба, лучше либо ее не трогать, либо воспользоватся поиском в интернете:

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

Определение диска для проверки

Для того чтобы понять какой диск проверять нам достаточно ввести команду в консоли которая выдаст нам список всех имеющихся дисков в системе.

fdisk -l = вывод части команды = Диск /dev/sda: 232.9 GiB, 250059350016 байт, 488397168 секторов Единицы: секторов по 1 * 512 = 512 байт Размер сектора (логический/физический): 512 байт / 512 байт Размер I/O (минимальный/оптимальный): 512 байт / 512 байт Тип метки диска: dos Идентификатор диска: 0x42ef42ef Устр-во Загрузочный начало Конец Секторы Размер Идентификатор Тип /dev/sda1 * 2048 184322047 184320000 7 HPFS/NTFS/exFAT /dev/sda2 184322048 488394751 304072704 145G 7 HPFS/NTFS/exFAT

Мы видим в выводе диск который нам надо проверить. Диск имеет 2 раздела с данными.

Как проверить диск на битые секторы в Linux

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

Читайте также:  Какой дистрибутив Linux выбрать в 2021 году

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

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

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

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

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

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

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

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

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

sudo fdisk -l

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

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

sudo badblocks -v /dev/sda1 >

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

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

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

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

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

sudo e2fsck -l /dev/sda1

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

sudo fsck -l /dev/sda1

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

Теперь давайте рассмотрим более современный и надежный способ проверить диск на битые секторы linux. Современные накопители ATA/SATA ,SCSI/SAS,SSD имеют встроенную систему самоконтроля S.M.A.R.

T (Self-Monitoring, Analysis and Reporting Technology, Технология самоконтроля, анализа и отчетности), которая производит мониторинг параметров накопителя и поможет определить ухудшение параметров работы накопителя на ранних стадиях.

Для работы со S.M.A.R.T в Linux есть утилита smartmontools.

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

sudo apt install smartmontools

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

sudo yum install smartmontools

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

man smartctl

или

smartctl -h

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

sudo smartctl -H /dev/sda1

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

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

Логи ошибок в Ubuntu

Рассмотрим теперь вопрос с расположением лога ошибок в Ubuntu. Как такового отдельного error log в традиционных linux системах нет. И Убунта тут не исключение. Ошибки придется искать по системным и программным логам выборкой ключевых слов. Обычно используют следующие фразы:

  • error или err
  • critical или crit
  • debug
  • warn
Логи ошибок в Ubuntu

Например, посмотрим в логе загрузки dmesg все сообщения уровня предупреждений (warn).

sudo dmesg -l warn

А теперь проверим ошибки в системном логе.

sudo cat /var/log/syslog | grep error

Логи ошибок в Ubuntu

Видим некоторые ошибки в службе systemd-resolved.

Читайте также:  Как проверить температуру процессора в Linux

Монтирование ISO-образа

Легко смонтировать ISO-образ, чтобы вы могли получить доступ к его содержимому как части файловой системы.

Это будет работать с любым образом ISO. В этом примере мы используем Tiny Core Linux ISO, потому что он удобно небольшой и быстрый для загрузки. (Небольшой дистрибутив Linux с графическим интерфейсом, размером 18 МБ! Вероятно, у вас больше файлов .mp3.)

В той же директории, что и образ ISO, введите эту команду. Подставьте имя файла ISO, который вы монтируете.

sudo mount -t iso9660 -o loop / mnt

Поскольку нам нужно использовать sudo вам нужно будет ввести свой пароль.

Опция -t (type) сообщает mount какой тип файловой системы мы монтируем. Это файл ISO, поэтому мы предоставляем iso9660 типа iso9660 .

Флаг -o (опции) используется для передачи дополнительных параметров для mount . Наш параметр это loop .

Мы используем loop для принудительного mount чтобы использовать файл устройства loop для подключения к нашему ISO-образу. Файл устройства цикла позволяет монтировать файл (например, образ ISO) и обрабатывать его так, как если бы он был устройством хранения.

Файлы устройств — это специальные файлы, используемые в качестве интерфейса, поэтому подключенные устройства выглядят так, как если бы они были обычным файлом файловой системы. Это часть всего, что в Linux является философией файлового дизайна.

Существует много разных типов файлов устройств. Мы видели это раньше, когда отметили, что единственная файловая система ext4 на этом тестовом компьютере была смонтирована на / и называлась sda .

Чтобы быть более точным, эта файловая система ext4 находится на устройстве хранения, подключенном к файловой системе через файл устройства /dev/sda и файловую систему на этом устройстве хранения, смонтированную в / .

Конечно, мы должны указать имя ISO-образа и сообщить mount , где мы хотим mount файловую систему. Мы выбрали /mnt .

ISO-образ смонтирован. Напоминание о том, что ISO-образы всегда монтируются в режиме только для чтения, появляется в окне терминала.