Как узнать, нужно ли запускать e2fsck для исправления поврежденных блоков?
Мы хотим проверить файловую систему на дисках как /deb/sdc
... /dev/sdg
на каждой машине Red Hat Linux.
Цель состоит в том, чтобы найти, какие диски требуют e2fsck
(как e2fsck -y /dev/sdb
так далее.)
Согласно справочной странице
-n
Откройте файловую систему только для чтения и примите ответ "нет" на все вопросы. Позволяетe2fsck
использоваться не в интерактивном режиме. Эта опция не может быть указана одновременно с-p
или же-y
опции.
Когда мы запускаем команду (пример)
e2fsck -n /dev/sdXX
мы получаем
e2fsck 1.42.9 (28-Dec-2013) Warning! /dev/sdc is mounted. Warning: skipping journal recovery because doing a read-only filesystem check. /dev/sdc: clean, 94/1310720 files, 156685/5242880 blocks
Так что нам нужно захватить из e2fsck -n
вывод, который требует от нас запустить e2fsck
(без -n
)?
процесс e2fsck
init 1
umount /dev/sdXX
e2fsck -y /dev/sdXX # (or e2fsck -C /dev/sdXX for full details)
init 3
1 ответ
Загрузочные скрипты RHEL fsck
на каждой загрузке. Для этого перезагрузка выполняет ту же процедуру, что и ваша процедура для перехода в однопользовательский режим.
Вы знаете, что журнал файловой системы не чист, если загрузка зависает, потому что fsck
ждет ввода. Он скажет вам не чистить и подскажет для любого ремонта сделано.
Вы можете принудительно проверить с touch /forcefsck
и перезагрузите компьютер.
Изменить: Вы должны размонтировать, чтобы правильно fsck, в соответствии с ниже из e2fsck
справочная страница. Вам также нужно пропустить опцию -n "no", если вы хотите восстановить файловые системы.
Обратите внимание, что в общем случае запускать e2fsck на смонтированных файловых системах небезопасно. Единственное исключение - если указана опция -n, а опции -c, -l или -L не указаны. Однако, даже если это безопасно, результаты, напечатанные e2fsck, недействительны, если файловая система смонтирована. Если e2fsck спрашивает, стоит ли проверять смонтированную файловую систему, единственный правильный ответ - "нет".
Для этого не нужно перезагружаться, это просто удобно. Если время простоя для ваших служб является проблемой для вас, принесите копию данных в онлайн-хранилище в другой системе хранения во время ремонта этой. Также известный как поставить свой план непрерывности бизнеса на месте.
Чтобы увидеть настоящий нечистый fsck в тестовой системе:
- Сделайте резервную копию любых данных, которые вас интересуют.
- Запустите рабочую нагрузку записи, такую как тест памяти, с
fio
- Сбой системы сильно. В Linux попробуйте
echo 'c' > /proc/sysrq-trigger