Проверка диска Freebsd fsck

Обновлено: 03.07.2024

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

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

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

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

Чтобы загрузить дроплет в однопользовательский режим, выполните следующую команду:

Это даст указание вашему дроплету перейти в однопользовательский режим при следующей перезагрузке, а не пытаться загрузить всю систему. Когда вы будете готовы, вы можете использовать команду reboot для перезагрузки вашей капли.

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


Когда вы видите линию:

Вы можете нажать Enter, чтобы начать сеанс оболочки.

Альтернативный метод

Если ваш дроплет недоступен через ssh, вы все равно можете загрузить дроплет в однопользовательский режим, используя этот альтернативный метод.

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

Сразу после этого откройте консоль дроплета. Через несколько секунд вы должны увидеть такой экран:


В этом меню выберите пункт 2 и нажмите Enter, чтобы продолжить.

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

Вывод, который вы увидите, должен быть похож на этот:


Первый элемент списка показывает файловую систему ufs, которую мы ищем. Теперь вы можете запустить следующую команду, чтобы выполнить проверку файловой системы на этом диске.

После завершения проверки файловой системы вы можете перезагрузить сервер с помощью команды reboot, чтобы выйти из однопользовательского режима и перезапустить сервер в обычном (многопользовательском) режиме.

Подключитесь к дроплету с помощью SSH-клиента. Если ваш дроплет отвечает на ваше ssh-соединение, а раньше этого не было, то это хороший знак. Если ранее вы столкнулись с определенными проблемами, которые предупредили вас о возможности повреждения, попробуйте выполнить эти операции еще раз, чтобы убедиться, что они выполнены успешно.

Важно проверить каталог /lost+found. Сюда fsck помещает частично восстановленные файлы.

Иногда fsck может восстановить данные файла, но не может найти ссылку на файл в файловой системе. По сути, это файл без имени. Если fsck сталкивается с такой ситуацией, он помещает эти файлы в каталог /lost+found, чтобы вы могли вручную попытаться выяснить, что это за файл.

После запуска fsck проверьте, не было ли что-либо помещено в этот каталог. Поскольку каталог Lost+Found доступен только пользователю root, мы сначала перейдем к учетной записи root с помощью команды sudo su:

Если в этом каталоге есть файлы, проверьте, сможете ли вы их идентифицировать. Часто это файлы, которые вы все равно удалили, но они все еще использовались при сбое системы. Тем не менее, стоит проверить их, чтобы быть уверенным.

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

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

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

Хотите узнать больше? Присоединяйтесь к сообществу DigitalOcean!

Присоединяйтесь к нашему сообществу DigitalOcean, насчитывающему более миллиона разработчиков, бесплатно! Получайте помощь и делитесь знаниями в нашем разделе "Вопросы и ответы", находите руководства и инструменты, которые помогут вам расти как разработчику и масштабировать свой проект или бизнес, а также подписывайтесь на интересующие вас темы.

Этот сайт — попытка поделиться некоторыми базовыми знаниями, которые я накопил за годы работы с Linux, FreeBSD, OpenBSD, Python или Zope и другими. Итак, осмотритесь, и я надеюсь, что вы найдете это содержание полезным.

Отключение фоновой проверки FreeBSD

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

В файловой системе FreeBSD есть полезная функция background fsck, которая позволяет монтировать грязные файловые системы (файловые системы, которые не были размонтированы должным образом/чисто) даже если им нужна fsck, чтобы проверить их. После подключения в фоновом режиме запускается процесс fsck, проверяющий этот раздел.

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

Однако фоновая проверка может быть проблемой в определенных ситуациях. Например, на этой неделе с одним из моих серверов случилось так, что после некоторых сбоев сервер просто нормально перезагрузился, а затем запустил фоновый fsck. Некоторое время все шло нормально, но когда fsck вызывается для запуска на самом большом разделе (600 ГБ, смонтированном в /home, с использованием, вероятно, 45% места), машина снова падает (паника ядра).

Этот сервер представляет собой высоконагруженный почтовый сервер с большим количеством операций записи на диск, поэтому я подумал, что, возможно, может помочь отключение фоновой функции fsck. Было бы еще лучше, если бы я мог заставить машину выполнять автономный fsck самостоятельно, а затем загружаться без ошибок (да, этого фонового fsck предположительно следует избегать).

Для этого я добавил эти две строки в /etc/rc.conf:

Первый устанавливает да в качестве ответа по умолчанию на все вопросы, которые fsck может задать во время проверки, а второй отключает фоновую функцию fsck.

Затем я перезагрузил сервер, и перезагрузка заняла довольно много времени, но файловые системы были чистыми, и машина больше не зависала.

(Надеюсь, это поможет любому из вас).

Была похожая проблема: фоновая fsck отключала сервер, что приводило к зацикливанию перезагрузки.

Удалось добавить две строки между перезагрузкой и перезагрузкой, а fsck проверяет/исправляет диски на переднем плане до завершения процесса загрузки.

Эта статья посвящена проверке файловой системы и проверке диска и их запуску.

Содержание

Linux, FreeBSD и другие системы на базе UNIX

Проверка файловой системы

Проверка файловой системы (fsck) запускается автоматически во время загрузки (когда операционная система обнаруживает, что файловая система находится в несогласованном состоянии) или периодически (для предотвращения усугубления небольших необнаруженных несоответствий).

Есть несколько способов проверить файловую систему. Вы можете либо запустить его, чтобы исправить все автоматически, либо запустить его, чтобы проверить, есть ли какие-либо проблемы с файловой системой. fsck всегда следует запускать в несмонтированной файловой системе и не следует запускать в файловой системе, которая работает правильно. Мы рекомендуем не отменять и не прерывать fsck.

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

Скажите «да» любому ремонту:

Проверьте, нуждается ли файловая система в восстановлении, запустив:

Неверный суперблок

Вы также можете установить новый суперблок.

  1. Проверьте, какой суперблок используется, выполнив:
    fsck –v /dev/sda1
  2. Проверьте, какие суперблоки доступны, выполнив:
    mke2fs -n /dev/sda1
  3. Выберите новый суперблок и выполните следующую команду:
    fsck -b /dev/sda1
  4. Перезагрузите сервер.

Окна

Проверить диск

Проверяет файловую систему и метаданные файловой системы тома на наличие логических и физических ошибок.При использовании без параметров chkdsk отображает только состояние тома и не исправляет никаких ошибок. При использовании с параметрами /f, /r, /x или /b он соответствующим образом исправляет ошибки на томе.

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

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

Обнаруживает поврежденные сектора и восстанавливает читаемую информацию. Диск должен быть заблокирован. /r включает функциональность /f с дополнительным анализом ошибок физического диска.

При необходимости принудительно отключает том. Все открытые дескрипторы диска становятся недействительными. /x также включает в себя функции /f.

Только для NTFS: очищает список поврежденных кластеров на томе и повторно сканирует все выделенные и свободные кластеры на наличие ошибок. /b включает функциональность /r. Используйте этот параметр после создания образа тома на новом жестком диске.

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

Используйте fsck для поиска и исправления ошибок диска и поврежденных секторов

как найти и исправить ошибки диска и поврежденные сектора с использованием Fsck

Поиск

«Проверка целостности файловой системы» — это полная форма «fsck». Это утилита, которая проверяет файловую систему на наличие ошибок (в Unix и Unix-подобных операционных системах, таких как Linux, macOS и FreeBSD) и попытки восстановить их, если это возможно. Он использует комбинацию встроенных инструментов для проверки диска и создает отчет о своих результатах.

В некоторых системах fsck запускается автоматически после некорректного завершения работы или после определенного количества перезагрузок.

Когда использовать fsck в Linux

Используйте fsck для проверки файловой системы,

  • Если система не загружается.
  • Если файлы в системе повреждены (часто вы можете увидеть ошибку ввода/вывода).
  • Если подключенный диск (включая флэш-накопители/SD-карты) не работает должным образом.

Удаляет ли fsck файлы

fsck не затрагивает файлы. По сути, это клиентская программа, которая выполняет все виды проверок файловой системы (т. е. проверяет целостность системы журналирования). Помимо проверки инодов и блоков, fsck также проверяет наличие некорректных

Параметры и аргументы fsck

< tr>
Опция Действие
-a Попытаться исправить ошибки автоматически. Используйте с осторожностью.
-f Заставить fsck проверять файловую систему, даже если она считает ее чистой.
-A Проверить все диски, перечисленные в /etc/fstab.
-C Показать индикатор выполнения (только для файловых систем ext2 и ext3).
-M Пропустить смонтированные файловые системы.
-N Тестовый запуск. Описывает, что произойдет без выполнения самой проверки.
-P Используйте с параметром -A для параллельного запуска нескольких проверок.
-R При использовании параметра -A не проверять корневую файловую систему.
-t< /td> Проверять только определенный тип файловой системы.
-T Пропускать заголовок при запуске.
-y Интерактивный режим восстановления.

Как запустить fsck для исправления ошибок файловой системы Linux

Чтобы запустить fsck, вам нужно убедиться, что раздел, который вы собираетесь проверять, не смонтирован. Самый простой и безопасный способ размонтировать диск — использовать Rescue Mode. Вам необходимо войти в режим восстановления либо через однопользовательский режим, либо путем загрузки и загрузки спасательного ISO-образа на облачном сервере.

Что такое режим спасения

Режим восстановления позволяет загрузить небольшую среду Red Hat Enterprise Linux полностью с компакт-диска или с помощью другого метода загрузки вместо жесткого диска системы. Как следует из названия, режим спасения предназначен для того, чтобы спасти вас от чего-то. Загрузив систему с установочного загрузочного компакт-диска

Если вы используете fsck, самый простой и безопасный способ размонтировать диск — использовать режим восстановления. Также fsck следует запускать только от имени пользователя с правами root.

Как просмотреть подключенные диски и их расположение.

Команда ‘df’ помогает просмотреть список смонтированных в данный момент дисков. Если вы находитесь в режиме восстановления, диск, который вы хотите проверить, не должен быть указан в выходных данных.

дф-ч

Запустите fdisk для просмотра расположения на диске:

fdisk -l

Затем скопируйте расположение целевого диска для использования с командой fsck.

Как размонтировать раздел вручную

Используйте команду umount, чтобы размонтировать расположение на диске, скопированное на последнем шаге. Например, возьмем его как /dev/sda

размонтировать /dev/sda

Если диск объявлен в /etc/fstab, также измените точку монтирования на none.

Как проверить наличие ошибок на диске

Запустите fsck на целевом диске, используя нужные параметры. Например, проверьте все файловые системы (-A) на /dev/sda:

fsck -A /dev/sda

После запуска fsck возвращает код выхода. Описание кодов следующее:

Код Код Значение
0 Ошибок нет< /td>
1 Ошибки файловой системы исправлены
2 Система должна быть перезагружена
4 Ошибки файловой системы остались неисправленными
8 Ошибка работы
16 Ошибка использования или синтаксиса
32 Проверка отменена по запросу пользователя
128 Ошибка общей библиотеки

Исправить ошибки файловой системы Linux

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

fsck -y /dev/sda

Чтобы запустить одно и то же во всех файловых системах (без рута):

fsck -AR -y

Выполнение проверки файловой системы

Чтобы запустить fsck, введите следующую команду, заменив /dev/sda расположением диска, который вы хотите проверить и восстановить:

e2fsck -f /dev/sda

Если проблем не обнаружено, fsck отобразит выполненные тесты

e2fsck -f /dev/sda
e2fsck 1.42.13 (13 сентября 2019 г.)
Этап 1: Проверка инодов, блоков и размеров
Этап 2: Проверка структуры каталогов < br />Этап 3: Проверка подключения к каталогу
Этап 4: Проверка счетчиков ссылок
Этап 5: Проверка сводной информации о группе
/dev/sda: 109771/1568000 файлов (0,5% несмежных) , 675014/6422528 блоков

Если fsck обнаружит проблему с файловой системой, она предложит вам устранить проблемы по мере их обнаружения во время каждого теста:

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

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

перезагрузить

ЧАСТО ЗАДАВАЕМЫЕ ВОПРОСЫ

Что такое поврежденный сектор?

Плохие сектора – это нечитаемые кластеры данных на жестком диске. Плохие сектора могут нанести определенный ущерб вашим жестким дискам. Плохие сектора распространены и в основном поддаются ремонту.

Как создаются сбойные сектора жесткого диска?

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

Можно ли исправить сектор Hard Bad?

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

Каковы недостатки использования Fsck?

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

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