Медленная загрузка, как программировать fsck для запуска, как работа cron?

Иногда мой веб-сервер выходит из строя, и для загрузки может потребоваться несколько часов. Мне сказали, что fsck может быть виновником, потому что его можно запустить только во время загрузки, он запускается только через X дней и Y, и если сервер будет работать много времени, при следующей перезагрузке он наверняка будет медленный.

Итак, что я могу сделать, чтобы исправить это? Я нашел о tune2fs . Но мне нужно будет координировать это с помощью перезагрузки cronjob? Скажем, я делаю tune2fs -i 1w /dev/sda1 . Я боюсь, что если я установил cron для запуска после этой даты (что я могу получить с -l ), в следующие даты они будут не синхронизированы, не так ли?

Еще одна вещь, которая не ясна: после крушения, fsck запускается в любом случае независимо от того, что? Должно ли это? Будет ли он все еще медленным, даже если он будет работать менее недели назад?

  • Как fsck может быть так быстро?
  • Как я могу выполнить сканирование на поверхности диска и исправить / перераспределить поврежденные сектора в Linux из командной строки?
  • Почему e2fsck терпит неудачу во время загрузки, но не позже?
  • Что означает «установка fs с ошибками» в dmesg и что делать после этого?
  • Короткое чтение при попытке открыть раздел
  • Кажется, что fsck показывает другой результат между многопользовательским режимом и однопользовательским режимом
  • Что означает `clean, x / y` в выводе fsck?
  • Значительная разница в скорости между fsck с использованием ext3 и ext4 на Squeeze Debian
  • One Solution collect form web for “Медленная загрузка, как программировать fsck для запуска, как работа cron?”

    tl; dr: взгляните на свои системные журналы или используйте что-то вроде bootlogd , это должно показать вам, где происходит замедление. Моя ставка будет заключаться в том, что это не fsck .


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

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

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

    Вы не можете отключить свою корневую файловую систему во время работы системы, так как она будет использоваться, поэтому вы не можете запустить fsck на ней, поэтому нет возможности правильно запустить задание cron для этого. Можно было бы принудительно fsck при перезагрузке в определенные даты, а затем перезагрузиться, но я действительно не вижу смысла. Я не совсем понимаю, что вы подразумеваете под «не синхронизацией».

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

    Linux и Unix - лучшая ОС в мире.