- ИТ База знаний
- Полезно
- Навигация
- Серверные решения
- Телефония
- Корпоративные сети
- Руководство по команде fsck для проверки и восстановления файловой системы
- Когда использовать fsck в Linux
- Базовый синтаксис fsck
- Как проверить и восстановить файловую систему
- Просмотр подключенных дисков и разделов
- Размонтировать диск
- Запустить fsck для проверки ошибок
- Смонтировать диск
- Сделать пробный запуск с fsck
- Автоматическое исправление обнаруженных ошибок с помощью fsck
- Пропускать восстановление, но выводить ошибки fsck на выходе
- Заставить fsck выполнить проверку файловой системы
- Запустить fsck сразу для всех файловых систем
- Пропустить проверку fsck в определенной файловой системе
- Пропустить Fsck в подключенных файловых системах
- Запустить fsck в корневом разделе Linux
- Что делать, если fsck прерывается?
- Обзор параметров команды Linux fsck
- Проверка диска на ошибки в Linux
- Проверка диска на колоченные секторы в linux с помощью badblocks
- Исправление ошибок файловой системы fsck
- Проверка диска на битые секторы в linux с поддержкою smartmontools
ИТ База знаний
Курс по Asterisk
Полезно
— Узнать IP — адрес компьютера в интернете
— Онлайн генератор устойчивых паролей
— Онлайн калькулятор подсетей
— Калькулятор инсталляции IP — АТС Asterisk
— Руководство администратора FreePBX на русском языке
— Руководство администратора Cisco UCM/CME на русском языке
— Руководство администратора по Linux/Unix
Навигация
Серверные решения
Телефония
FreePBX и Asterisk
Настройка программных телефонов
Корпоративные сети
Протоколы и стандарты
Руководство по команде fsck для проверки и восстановления файловой системы
Утилита для файловой системы
Утилита Linux fsck (File System Consistency Check — проверка согласованности файловой системы) проверяет файловые системы на наличие ошибок или нерешенных проблем. Инструмент используется для исправления потенциальных ошибок и создания отчетов.
Мини — курс по виртуализации
Знакомство с VMware vSphere 7 и технологией виртуализации в авторском мини — курсе от Михаила Якобсена
Эта утилита по умолчанию входит в состав дистрибутивов Linux. Для использования fsck не требуется никаких специальных шагов или процедуры установки. После загрузки терминала вы готовы использовать функции инструмента.
Следуйте этому руководству, чтобы узнать, как использовать fsck для проверки и восстановления файловой системы на Linux-машине. В руководстве будут перечислены примеры того, как использовать инструмент и для каких вариантов использования.
Когда использовать fsck в Linux
Инструмент fsck можно использовать в различных ситуациях:
- Используйте fsck для запуска проверки файловой системы в качестве профилактического обслуживания или при возникновении проблемы с вашей системой.
- Одна из распространенных проблем, которые может диагностировать fsck, — это когда система не загружается.
- Другой — когда вы получаете ошибку ввода/вывода, когда файлы в вашей системе становятся поврежденными.
- Вы также можете использовать утилиту fsck для проверки состояния внешних накопителей, таких как SD-карты или USB-накопители.
Базовый синтаксис fsck
Базовый синтаксис утилиты fsck следует этому шаблону:
В приведенном выше примере файловой системой может быть устройство, раздел, точка монтирования и так далее. Вы также можете использовать параметры, относящиеся к файловой системе, в конце команды.
Как проверить и восстановить файловую систему
Перед проверкой и восстановлением файловой системы необходимо выполнить несколько шагов. Вам нужно найти устройство и размонтировать его.
Просмотр подключенных дисков и разделов
Чтобы просмотреть все подключенные устройства в вашей системе и проверить расположение диска, используйте один из доступных инструментов в Linux.
Один из способов найти диск, который вы хотите просканировать, — это перечислить диски файловой системы с помощью команды df :
Инструмент показывает использование данных в вашей системе и файловых системах. Обратите внимание на диск, который вы хотите проверить, с помощью команды fsck .
Например, для просмотра разделов вашего первого диска используйте следующую команду:
sda — это то, как Linux относится к вашему первому SCSI-диску. Если у вас два, вторым будет sdb и так далее.
В нашем примере мы получили один результат, поскольку на этой виртуальной машине был только один раздел. Вы получите больше результатов, если у вас будет больше разделов.
Имя диска здесь /dev/sda , а затем количество разделов отображается в столбце Number. В нашем случае это один: sda1.
Размонтировать диск
Прежде чем вы сможете запустить проверку диска с помощью fsck , вам необходимо отключить диск или раздел. Если вы попытаетесь запустить fsck на смонтированном диске или разделе, вы получите предупреждение:
Обязательно выполните команду размонтирования:
Замените /dev/sdb устройством, которое вы хотите размонтировать.
Обратите внимание, что вы не можете размонтировать корневые файловые системы. Следовательно, теперь fsck нельзя использовать на работающей машине. Подробнее об этом в конце руководства.
Запустить fsck для проверки ошибок
Теперь, когда вы отключили диск, вы можете запустить fsck . Чтобы проверить второй диск, введите:
В приведенном выше примере показан результат для чистого диска. Если на вашем диске имеется несколько проблем, для каждой из них появляется запрос, в котором вы должны подтвердить действие.
Код выхода, который возвращает утилита fsck , представляет собой сумму этих состояний:
Смонтировать диск
Когда вы закончите проверку и ремонт устройства, смонтируйте диск, чтобы вы могли использовать его снова.
В нашем случае мы перемонтируем SDB-диск:
Сделать пробный запуск с fsck
Перед выполнением проверки в реальном времени вы можете выполнить тестовый запуск с помощью fsck . Передайте параметр -N команде fsck , чтобы выполнить тест:
На выходе печатается, что могло бы произойти, но не выполняется никаких действий.
Автоматическое исправление обнаруженных ошибок с помощью fsck
Чтобы попытаться устранить потенциальные проблемы без каких-либо запросов, передайте параметр -y команде fsck .
Таким образом, вы говорите «да, попытайтесь исправить все обнаруженные ошибки» без необходимости каждый раз получать запрос.
Если ошибок не обнаружено, результат будет таким же, как и без опции -y.
Пропускать восстановление, но выводить ошибки fsck на выходе
Используйте параметр -n , если вы хотите проверить потенциальные ошибки в файловой системе, не исправляя их.
У нас есть второй диск sdb с некоторыми ошибками журнала. Флаг -n печатает ошибку, не исправляя ее:
Заставить fsck выполнить проверку файловой системы
Когда вы выполняете fsck на чистом устройстве, инструмент пропускает проверку файловой системы. Если вы хотите принудительно проверить файловую систему, используйте параметр -f .Например:
При сканировании будут выполнены все пять проверок для поиска повреждений, даже если будет обнаружено, что проблем нет.
Запустить fsck сразу для всех файловых систем
Если вы хотите выполнить проверку всех файловых систем с помощью fsck за один раз, передайте флаг -A . Эта опция будет проходить через файл etc/fstab за один проход.
Поскольку корневые файловые системы нельзя размонтировать на работающей машине, добавьте параметр -R , чтобы пропустить их:
Чтобы избежать запросов, добавьте параметр -y , о котором мы говорили.
Пропустить проверку fsck в определенной файловой системе
Если вы хотите, чтобы fsck пропустил проверку файловой системы, вам нужно добавить -t и no перед файловой системой.
Например, чтобы пропустить файловую систему ext3 , выполните эту команду:
Мы добавили -y , чтобы пропускать запросы.
Пропустить Fsck в подключенных файловых системах
Чтобы убедиться, что вы не пытаетесь запустить fsck на смонтированной файловой системе, добавьте параметр -M . Этот флаг указывает инструменту fsck пропускать любые смонтированные файловые системы.
Чтобы показать вам разницу, мы запустим fsck на sdb , пока он смонтирован, а затем, когда мы его размонтируем.
Пока sdb смонтирован, инструмент выходит без проверки. Затем мы размонтируем sdb и снова запускаем ту же команду. На этот раз fsck проверяет диск и сообщает, что он чистый или с ошибками.
Примечание. Чтобы удалить первую строку заголовка инструмента fsck «fsck from util-linux 2.31.1» , используйте параметр -T .
Запустить fsck в корневом разделе Linux
Как мы уже упоминали, fsck не может проверить корневые разделы на работающей машине, поскольку они смонтированы и используются. Однако даже корневые разделы Linux можно проверить, если вы загрузитесь в режиме восстановления и запустите проверку fsck :
1. Для этого включите или перезагрузите компьютер через графический интерфейс или с помощью терминала:
2. Нажмите и удерживайте клавишу Shift во время загрузки. Появится меню GNU GRUB.
3. Выберите Advanced options for Ubuntu (Дополнительные параметры для Ubuntu).
4. Затем выберите запись с (recovery mode — режим восстановления) в конце. Подождите, пока система загрузится в меню восстановления.
5. Выберите fsck в меню.
6. Подтвердите, выбрав Yes в ответ на запрос.
7. По завершении выберите resume в меню восстановления, чтобы загрузить машину.
Что делать, если fsck прерывается?
Вам не следует прерывать работу инструмента fsck , пока он работает. Однако, если процесс будет прерван, fsck завершит текущую проверку, а затем остановится.
Если утилита обнаружила ошибку во время проверки, она не будет пытаться что-либо исправить, если ее прервать. Вы можете повторно запустить проверку в следующий раз и дождаться ее завершения.
Обзор параметров команды Linux fsck
Подводя итоги, ниже приведен список параметров, которые вы можете использовать с утилитой fsck Linux.
- -а — Попробует автоматически исправить ошибки файловой системы. Подсказок не будет, поэтому используйте его с осторожностью.
- -А — Проверяет все файловые системы, перечисленные в /etc/fstab.
- -C — Показать прогресс для файловых систем ext2 и ext3.
- -f — Заставляет fsck проверить файловую систему. Инструмент проверяет, даже если файловая система кажется чистой.
- -l — Заблокирует устройство, чтобы другие программы не могли использовать раздел во время сканирования и восстановления.
- -M — Не проверяет смонтированные файловые системы. Инструмент возвращает код выхода 0, когда файловая система смонтирована.
- -N — Делает пробный запуск. В выводе печатается, что fsck будет делать без выполнения каких-либо действий. Также печатаются предупреждения или сообщения об ошибках.
- -П — Используется для параллельного сканирования нескольких файловых систем. Это может вызвать проблемы, в зависимости от ваших настроек. Используйте с осторожностью.
- -Р — Сообщает инструменту fsck, чтобы он не проверял корневые файловые системы при использовании параметра -A.
- -р — Распечатать статистику устройства.
- -t — Укажите типы файловых систем для проверки с помощью fsck. Обратитесь к странице руководства для получения подробной информации.
- -T — Скрыть заголовок при запуске инструмента.
- -у — Попытается автоматически исправить ошибки файловой системы во время проверки.
- -V — Подробный вывод.
Онлайн курс по Linux
Мы собрали концентрат самых востребованных знаний, которые позволят тебе начать карьеру администратора Linux, расширить текущие знания и сделать уверенный шаг к DevOps
Источник
Проверка диска на ошибки в Linux
Когда, при загрузке, операционная система сообщает о наличии ошибок в файловой системе на одном из разделов, то заслуживает незамедлительно сделать в linux проверку диска на ошибки. Любой уважающий себя user не должен забывать, что периодическая проверка жестких дисков на битые сектора и проверка атриторен на ошибки является примером здравого смысла. Для проверки разделов жесткого диска советуем использовать утилиту FSCK (file system consistency check), поскольку утилита FSCK предустановленна на основной массе операционных систем семейства Linux.
Примером хорошего тона и здравого резона является периодическая проверка диска на битые сектора (бэд-сектора, badblocks) и обычная испытание диска на ошибки записи и т.п. Разберёмся что такое битые сектора. Бэд-сектор, Повреждённый сектор — сбойный (не читающийся) или не внушающий доверие сектор диска; кластер, содержащий сбойные сектора, или кластер помеченный таковым в текстурах файловой системы операционной системой. Следовательно, если в битом секторе были этые, то их ещё возможно восстановить, пока битых секторов не стало слишком много для конкретного файла. Собрать список битых секторов можно с помощью команды badblocks.
Проверка диска на колоченные секторы в linux с помощью badblocks
Badblocks — стандартная утилита Linuх для проверки (Тестирование Инвентаризация Допинг-контроль Проверка подлинности Служебная проверка Проверка орфографии Проверка на дорогах Камеральная налоговая проверка Выездная налоговая проверка Проверка) на колоченные секторы. Она устанавливается по-умолчанию практически в любой дистрибутив и с ее помощью можно проверить как твердый диск, так и внешний накопитель. Для начала давайте посмотрим, какие накопители подключены к ушей системе и какие на них имеются разделы. Для этого нам нужна еще одна стандартная утилита Linux — fdisk.
Собрать список битых секторов можно с помощью команды badblocks.
Делается это так:
sudo badblocks -v /dev/hda1 >
Где /dev/hda1 — это разоблачил диска, что вы хотите проверить.
Желательно делать проверку в однопользовательском режиме, когда это не внешний диск. Тогда его просто стоит отмонтировать. После этого мы можем швырнуть утилиту fsck, явно указав ей список битых секторов для того, чтобы она их подметить как «битые» и попыталась восстановить с них данные. Делается это так:
sudo fsck -t ext4 -l
Где ext4 — это тип файловой системы нашего разоблачила диска, а /dev/hda1 — сам раздел диска.
Естественно, что выполнять команды нужно с правами суперпользователя.
Метеопараметром -l мы говорим утилите fdisk, что нам нужно показать список разделов и выйти. Теперь, когда мы знаем, какие разделы у нас есть, мы можем проверить их на битые секторы. Для этого мы станем использовать утилиту badblocks следующим образом:
sudo badblocks -v /dev/sda1 > badsectors.txt
Если же в итоге были найдены битые секторы, то нам надо дать указание операционной системе не вписывать в них информацию в будущем. Для этого нам понадобятся утилиты Linux для работы с файловыми системами:
e2fsck. Когда мы будем исправлять раздел с файловыми система Linux ( ext2,ext3,ext4).
fsck. Если мы станем исправлять файловую систему, отличную от ext.
Исправление ошибок файловой системы fsck
В моей а не твоей статье «Проверка файловой системы на ошибки с помощью fsck на Linux» я расскажу как возможно проверить файловую систему на вашей ОС в Linux. Некоторым системам необходим пароль root дабы запустить fsck или других аналогичных утилит, когда не могут загрузить полностью ОС. В данном случае стоит выполнить проверку диска загрузившись в single-user mode , либо – загрузившись с иного диска. Fsck расшифровывается как «файловая система Проверка целостности» (file system consistency check).
На основной массе систем, Fsck запускается во время загрузки, если определенные условия. Код выхода ворачивается, когда несколько файловых систем которая проверяется побитовое ИЛИ (OR) для каждой файловой системы, какая проверяется. В действительности, Fsck — это просто фронт-энд для различных проверочных утилит для файловых систем (fsck.fstype), какие доступны на Linux. Файловая система (множество элементов, находящихся в отношениях и связях друг с другом, которое образует определённую целостность, единство) для конкретных проверок ищет сначала в /sbin, а потом в /etc/fs и /etc/, и, наконец в директориях, перечисленных в переменной PATH (среда переменного кружения).
Запуск и исполнение FSCK на смонтированной файловой системе может привести к повреждению данных, поэтому применяйте данный материал на свой страх и риск.
Автор не несет ответственности за любой вред, который вы можете причинить. Fsck расшифровывается как «File System ChecK», то есть «испытание файловой системы» и используется для проверки и исправления файловых систем в Linux. В качестве верифицируемой ФС может быть задан раздел (например, /dev/sda1 или /dev/sda8), точка монтирования (/, /home, /usr), или же точна тома или UUID (например, UUID=8868abf6-88c5-4a83-98b8-bfc24057f7bd или LABEL=root).
Как обычно fsck пытается параллельно проверять файловые системы на нескольких разделах для уменьшения времени, нужного для проверки всех файловых систем. Arch Linux при загрузке автоматически будет бросать fsck для проверки систем, если выполняется одно из требований (например, 180 суток работы системы без проверки разделов или 30 монтирований оных). Обычно нет необходимости переопределять проем между проверками.
Для того, чтобы проверить диск в Linux на наличие опечаток файловой системы нам необходимо сначала выяснить имена файловых систем командой:
Дальше нам необходимо размонтировать файловую систему, которую мы будем проверять командой:
И сейчас запускаем утилиту проверки файловой системы и исправления ошибок на ней командой
В том варианте, когда не представляется возможным размонтировать файловую систему, к примеру, когда нужно испробовать корневую файловую систему (/). Перезагрузиться в однопользовательском режиме (команда reboot, и при загрузке необходимо передать ядру параметр single). Перемонтировать корневую файловую систему в режиме «лишь чтение» командой.
mount -о remount rо -t ext3 /
Здесь параметр -о команды mount указывает на присутствие дополнительных опций. Опция remount rо означает перемонтировать в режиме «только чтение». Метеопараметр -t указывает тип файловой системы – ext3, а последний параметр – указывает что это корневая файловая система (/).
И сейчас проверить файловую систему
fsck -y -f -c /dev/hda1
Проверка диска на битые секторы в 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. Давайте перейдем к работе с утилитой. Включим следующую команду с параметром -H,чтобы утилита показала нам информацию о состоянии накопителя:
sudo smartctl -H /dev/sda1
Как видим, проверка диска («круглое блюдо») — круг (низкий цилиндр) или предмет в виде круга) на битые секторы linux завершена и утилита говорит нам, что с накопителем все в распорядке! Дополнительно, можно указать следующие параметры -a или —all, чтобы получить еще больше информации о накопителе, или -x и —xall, дабы просмотреть информацию в том числе и об остальных параметрах накопителя.
Источник