вступление
У меня проблема с несколькими серверами (CentOS 6.4) в производственной среде, проблема заключается в том, что серверы время от времени выходят из строя, и нам нужно перезагрузить эти серверы, чтобы снова их использовать.
Эта проблема
Проблема в том, что иногда после перезагрузки серверы выполняют принудительную проверку файловой системы, а когда это не удается, кому-то нужно физически перейти на сервер и выполнить FSCK вручную.
Вопрос
Есть ли способ действительно загрузить систему, если эти принудительные проверки не позволяют получить доступ к серверам через SSH? Или есть другое решение, чтобы иметь как регулярную проверку файловой системы, так и доступ SSH к серверу.
Заранее спасибо!
Во-первых, используйте подключение к удаленной консоли, не зависящее от ОС. Для Dell это iDRAC, для HP - iLO, для IBM - RSA2 и т. Д. Это стандартная практика, потому что у вас может быть много других ошибок загрузки, помимо fsck.
Во-вторых, см. автоматический вопрос fsck. Но если вы делаете эту «автоматизацию», убедитесь, что вы проверили свои резервные копии. После этого ваш fsck пройдет, и вы сможете подключиться через ssh.
Я бы сосредоточился на поиске причины исходной проблемы. Либо повреждение файловой системы является еще одним признаком того, что машины перестают отвечать на запросы, либо вы выполняете небезопасную перезагрузку (цикл питания), либо и то, и другое.
Вы не говорите, как устроены ваши файловые системы и какие из них повреждаются. Если у вас очень маленькая корневая файловая система, где почти все остальное находится в виде отдельных монтируемых файлов (/sbin
, /etc
, и некоторые другие вещи, как правило, должны оставаться в корневой файловой системе) и вещи fsck
собирает файлы в некорневых файловых системах, тогда, если вы знакомы со сценариями оболочки, вы можете настроить процесс загрузки так, чтобы
/
заставить его заблокировать/
проверено и готовоТаким образом, вы можете использовать ssh, чтобы исправить другие файловые системы и начать чистую перезагрузку, чтобы вернуть все в порядок.
Есть варианты для установки fsck
для автоматического исправления проблем (большинство из них обычно несерьезно, если они вызваны небезопасной перезагрузкой, особенно с журналируемыми файловыми системами), но это обычно не рекомендуется в производственных средах, поскольку может скрыть растущую проблему. В Debian / Ubuntu / аналогично ищите FSCKFIX
вариант в /etc/default/rcS
, результаты регистрируются /var/log/fsck/checkfs
если /var
была файловая система, которая была успешно смонтирована для чтения и записи - нечто подобное будет существовать и в CentOS.
если ты действительно Хочешь пролететь мимо твоих штанов, поставь pasnum
для всего в /etc/fsck
(последний столбец) на 0, и ничего не проверяется. Это, конечно, очень не рекомендуется ... Если вы согласитесь с этим подходом, я предлагаю вам установить минимальные службы для автоматического запуска при загрузке, SSH сразу после перезагрузки, запустите fsck
вручную над всем, пока монтируется только для чтения, перемонтируйте все в режиме чтения + записи, затем запустите свои службы (таким образом, у вас есть доступ к машине, но ваши пользовательские службы не запускаются, пока вы не убедитесь, что файловые системы на машине чистые) .
Но на самом деле поиск первопричины должен быть вашим приоритетом здесь, ИМО, и удаленные параметры KVM - лучшая идея, чем рисковать загрузкой в ОС с потенциально поврежденными файловыми системами.
Возможна установка падение SSH-сервер в INITRD по адресу минимум на Debian. То же самое должно быть возможно и на Centos, но у меня нет конкретных инструкций, на которые я мог бы указать вам.
В любом случае вам лучше получить какую-то настройку внешнего управления.