Как узнать, нужно ли запускать 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 в тестовой системе:

  1. Сделайте резервную копию любых данных, которые вас интересуют.
  2. Запустите рабочую нагрузку записи, такую ​​как тест памяти, с fio
  3. Сбой системы сильно. В Linux попробуйтеecho 'c' > /proc/sysrq-trigger
Другие вопросы по тегам