Назад | Перейти на главную страницу

Сервер не загружается, паника ядра - не синхронизируется

После перезагрузки сервера CentOS 6.2 мы получаем панику ядра со следующей ошибкой:

Kernel panic - not syncing: Attempted to kill init!
Panic occurred, switching back to text console

При прохождении init = опция selinux = 0 к ядру при загрузке сервер загрузится без проблем. Я попытался найти, что делает init = option, но мне не удалось найти никаких источников, объясняющих это.

Я попытался переделать initramfs через dracut, что не помогло, и при загрузке получил указанную выше ошибку.

Поскольку это кластерный сервер, а основной сервер должен быть идентичным, я скопировал / boot диск с другого сервера, но это тоже не решило проблему. (Другой сервер не имеет такого поведения)

Восстановление / загрузка из резервной копии тоже не вышло.

Не могли бы вы помочь мне разобраться в этой проблеме

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

Спасибо за вашу помощь!

Примечание для себя и всех остальных:

Убедитесь, что вы вводите disabled вместо отключения, когда вы сдаётесь и вместо этого решает отключить selinux!

кот / и т.д. / sysconfig / selinux

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=TAKE_A_CLOSE_LOOK_AT_THIS_VALUE

Опечатка в значении SELINUX вызовет панику ядра.

Параметр init = - это предупреждающее сообщение, это не та команда, которую вам следует использовать.

Параметры инициализации

Процесс init запускается ядром первым и является предком всех остальных процессов. Эти параметры определяют, какая программа запускается и как она выполняется. название

init - Программа для запуска во время инициализации. Синопсис

init = имя файла

Запустите указанный двоичный файл как процесс init вместо программы по умолчанию / sbin / init. название

http://oreilly.com/linux/excerpts/9780596100797/kernel-boot-command-line-parameter-reference.html

Ты используешь init чтобы указать начальную команду, которую должно запустить ядро. Вы часто можете установить это на init=/bin/bash или init=/bin/sh если что-то не загружается правильно.

В option часть уведомления - это путь к файлу, который вы хотите выполнить.

Если система загружается без SELinux, я подозреваю, что что-то случилось с настройками SELinux. Отладка, которая может быть сложной.