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

Kernel Panic на CentOS - экземпляр Google Compute Engine

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

dracut: Mounted root filesystem /dev/sda1
dracut: Loading SELinux policy
type=1404 audit(1479929075.614:2): enforcing=1 old_enforcing=0 auid=4294967295 ses=4294967295
dracut: SELinux: Could not open policy file <= /etc/selinux/targeted/policy/policy.24: No such file or directory
 /sbin/load_policy: Can't load policy and enforcing mode requested: No such file or directory
dracut Warning: Initial SELinux policy load failed.
dracut FATAL: Initial SELinux policy load failed. Machine in enforcing mode. To disable selinux, add selinux=0 t
o the kernel command line.
dracut Warning: 
dracut Warning: Boot has failed. To debug this issue add "rdshell" to the kernel command line.
dracut Warning: Signal caught!
dracut Warning: Boot has failed. To debug this issue add "rdshell" to the kernel command line.
Kernel panic - not syncing: Attempted to kill init!
Pid: 1, comm: init Not tainted 2.6.32-642.11.1.el6.x86_64 #1
Call Trace:
     [<ffffffff815482b1>] ? panic+0xa7/0x179
     [<ffffffff8112aea0>] ? perf_event_exit_task+0xc0/0x340
     [<ffffffff81081f97>] ? do_exit+0x867/0x870
     [<ffffffff8119b735>] ? fput+0x25/0x30
     [<ffffffff81081ff8>] ? do_group_exit+0x58/0xd0
     [<ffffffff81082087>] ? sys_exit_group+0x17/0x20
     [<ffffffff8100b0d2>] ? system_call_fastpath+0x16/0x1b

Версия CentOS - 6.7, и это произошло после обновления yum. Я просто пытаюсь войти в меню GRUB, чтобы добавить «selinux = 0» для загрузки в разрешающий режим, но кажется, что это невозможно через последовательную консоль. Буду признателен за любую помощь.

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

  1. Создайте снимок загрузочного диска машины.
  2. Создайте диск, источником которого является моментальный снимок, созданный на первом шаге. Назовем это спасательный диск.
  3. Запустите новый экземпляр Linux. Возможно, это микро-экземпляр, и вы сможете удалить его позже. Назови это спасательный экземпляр.
  4. Прикрепите спасательный диск к спасательный экземпляр.
  5. Из спасательный экземпляр установить спасательный диск и изменить <mount point>/etc/grub.conf следующим образом:
    root (hd0,0)
    kernel /boot/vmlinuz-2.6.32-642.11.1.el6.x86_64 ro root=UUID=23f78139-a1ac-4a7a-b608-05687cecfa37 selinux = 0
  1. Отключить спасательный диск из спасательный экземпляр и удалите этот экземпляр, если хотите.
  2. Запустить новый экземпляр, источником которого является спасательный диск. Вы можете сделать это на диске.

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

То же, что и другой ответ, чтобы получить доступ и отредактировать диск и сделать его загрузочным, но чтобы фактически решить проблему,

# yum install selinux-policy-targeted   # may have to use reinstall
# semodule -B
# vi/nano /boot/grub/grub.conf          # remove selinux=0
# reboot

Из системных журналов:

*** Warning -- SELinux targeted policy relabel is required.
*** Relabeling could take a very long time, depending on file
*** system size and speed of hard drives.

https://access.redhat.com/solutions/91863