После перезагрузки сервера 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. Отладка, которая может быть сложной.