Недавно я видел, как корневая файловая система компьютера в удаленном центре обработки данных перемонтировалась только для чтения в результате проблем с согласованностью.
При перезагрузке эта ошибка была показана:
UNEXPECTED INCONSISTENCY: RUN fsck MANUALLY (i.e., without -a or -p options)
После запуска fsck, как было предложено, и принятия исправлений вручную с помощью Y, ошибки были исправлены, и система теперь в порядке.
Теперь я думаю, что было бы интересно, если бы fsck был настроен на автоматический запуск и восстановление всего, так как в некоторых случаях (например, в этом случае) единственной альтернативой является персональное подключение к удаленному центру данных и подключение консоли к зараженной машине.
Мой вопрос: почему fsck по умолчанию запрашивает ручное вмешательство? Как и когда коррекция, выполняемая такой программой, будет небезопасной? В каких случаях системный администратор может захотеть оставить предлагаемое исправление на некоторое время (для выполнения некоторых других операций) или отменить его полностью?
источник
Ответы:
fsck
определенно наносит больше вреда, чем пользы, если базовое оборудование каким-то образом повреждено; плохой процессор, плохая оперативная память, умирающий жесткий диск, контроллер диска вышел из строя ... в таких случаях больше коррупции неизбежно.Если вы сомневаетесь, хорошей идеей будет просто сделать снимок поврежденного диска с помощью
dd_rescue
какого-либо другого инструмента, а затем посмотреть, сможете ли вы успешно исправить этот образ. Таким образом, у вас все еще есть оригинальные настройки.источник
Вы видели один пример, где
fsck
работал, но я видел более чем достаточно поврежденных файловых систем, где он не работал вообще. Если он будет работать полностью автоматически, у вас не будет шансов сделать что-то вродеdd
дампа диска или чего-то подобного, что во многих случаях было бы отличной идеей, прежде чем пытаться восстановить.Это никогда, никогда идея хорошо , чтобы попробовать что - то подобное , что автоматический вообще.
Да, и современные серверы должны иметь удаленные консоли или, по крайней мере, независимые системы спасения, чтобы восстанавливаться после чего-то подобного, не привязывая стойку KVM к серверу.
источник
fsck -p /
иfsck -p /var
т. Д., Работать нормально и запустить сервер без ручного вмешательства, и рискнуть малым ненулевым процентом вероятности крупной катастрофы для тех разделов, которые я могу просто воссоздать при необходимости ,fsck
прихорашиться, и тогда все будет нормально. Занимает около 2 минут, если что. Простои пока это не произойдет. C) Попросите кого-нибудь переустановить операционную систему. Занимает 30+ минут. Вы выбираете вариант C? Возможно, ключевое отличие у нас в том, что яfsck
работал больше времени, чем вы цитируете в своем ответе. Моим главным пунктом было не проектирование системы (эта дешевая система не использует удаленную консоль), а просто то, что выражение « никогда, никогда » было слишком сильным, чтобы быть точнымПрежде всего, вы должны понимать, что с современными (журнализированными) файловыми системами сбой системы не повредит файловую систему, и во время загрузки не потребуется fsck.
Ext3, Ext4, ZFS, btrfs, xfs и все современные FS на 100% согласованы после сбоя или перезагрузки системы.
Не журнализируемые FS, такие как ext2 или vfat, являются большим NOGO для системных rootfs.
Теперь, если ваша система требует fsck во время загрузки, вы должны спросить себя: что было причиной этого в первую очередь?
Вы должны изучить журналы ядра, чтобы узнать, когда и что произошло. Вы должны также вернуться назад во времени в журналах, чтобы найти с тех пор, когда ошибка все-таки началась. Вы должны проверить свои диски с Smartctl. И т.д. ... Если вам нужен fsck на журнализированном fs, то практически наверняка произойдет сбой вашего оборудования, если предположить, что fs не был поврежден администратором (с инструментами уровня блока, такими как dd) или ошибкой.
Поэтому глупо использовать fsck, чтобы «исправить» проблему, не исследуя и не устраняя причину (путем замены / обновления неисправного оборудования / прошивки / программного обеспечения).
Делать fsck, завершать загрузку и быть счастливым наивно, если не сказать больше. То, что «у меня работа с fsck больше, чем вы цитируете», заставляет меня задуматься, что вы имеете в виду под «работой fsck». Возможно, fsck вернул ваш fs в согласованное состояние, потеряв при этом некоторые файлы и данные ... Вы сравнивали с резервной копией? Многие люди теряют файлы или получают повреждение данных, не замечая ...
источник