Есть ли правильный способ перезагрузить сервер, чтобы избежать FSCK и просто избежать получения FSCK в целом? Я использовал команду reboot для перезагрузки серверов.
Fsck после перезагрузки происходит по одной из трех причин: когда система нечисто завершает работу (например, сбой), когда файловая система не проверялась на N монтирований или когда файловая система не проверялась в течение M дней. Для файловой системы ext2 / 3/4 вы можете увидеть текущие счетчики и установить значение N и M с помощью tune2fs
команда.
В reboot
Команда может перезагрузить систему без завершения работы системных служб или полного размонтирования файловых систем. Это предполагаемый для нормального выключения системы, но, видимо, это происходит не всегда.
Чтобы избежать этой проблемы, используйте shutdown
с соответствующими параметрами, чтобы перезагрузить систему.
Пример:
shutdown -r now
Пока система завершает работу чисто, она обычно не пытается fsck
диски при следующем перезапуске (если не превышено количество монтирований / времени файловой системы, но это уже другая история).
Первый fsck - ваш друг! Если вы разбили систему, вы ХОТИТЕ, чтобы она запускалась автоматически, и это действие никогда не должно отключаться в этом случае.
Теперь, во время обычных перезагрузок, когда все синхронизируется нормально, периодический вызов fsck может раздражать и не очень своевременно. Обычно в этом случае я запрещаю этот тип периодического вызова fsck, используя tune2fs (как пользователь root):
tune2fs -i 0 -c 0 /dev/sda1 ;; change /dev/sda1 with whatever your raw disk is
Эту операцию можно выполнить в любой момент во время работы системы, даже при монтируемом диске.
После этого вы можете перезагрузить сервер и избежать операции fsck (если сервер не упал).