Для клиентов

Логин:
Пароль:

Загруженность

11.12.2024 - 21.12.2024

Календарь

Ссылки по теме

Kernel panic после обновления ядра Centos Linux

Заметки на полях

В очередной раз наткнулся на одном из не очень важных серверов, что после штатного обновления ядра Centos сервер не загружается с новым ядром. Уже был такой случай раньше, но не обратил на него внимания. А при повторении понял, что ошибка системная. Стал разбираться в чем причина. Вот что выяснил:

Во-первых, проблема заключается в том, что почему-то при установке не создается файл initramfs-*.img (в моем случае это был файл initramfs-2.6.32-754.3.5.el6.i686.img, но в прошлый раз также не создался файл и с прошлой версией). Для создания этого файла принудительно можно запустить команду:

dracut -f /boot/initramfs-2.6.32-754.3.5.el6.i686.img 2.6.32-754.3.5.el6.i686

или, чтобы пересоздать все initramfs можно дать команду:

dracut -f 

Другой альтернативой, которая также сработала у меня, это переустановить пакет с ядром:

yum reinstall kernel.i686 0:2.6.32-754.3.5.el6

После этого, когда я думал, что все позади, выяснилось, что по какой-то неведомой причине, установщик настоятельно неправильно прописывает параметры ядра в файле /boot/grub/grub.conf. Ссылку на корень установщик прописывал через /dev/mapper/vg_server-lv_root который на момент загрузке не был активным.

Помогло прописывание прямой ссылки на корневой раздел в виде:/dev/vg_server/lv_root

Итого получилось:

title CentOS (2.6.32-754.3.5.el6.i686)
        root (hd0,0)
        kernel /vmlinuz-2.6.32-754.3.5.el6.i686 ro root=/dev/vg_server/lv_root rd_LVM_LV=vg_server/lv_root rd_LVM_LV=vg_server/lv_swap rd_NO_LUKS LANG=en_US.UTF-8 rd_NO crashkernel=auto SYSFONT=latarcyrheb-sun16 KEYTABLE=us rdshell
        initrd /initramfs-2.6.32-754.3.5.el6.i686.img

Надеюсь это вам поможет избежать ядерный панических атак после обновления Centos.

UPD: После очередного обновления ядра Centos решило еще и устройства переназвать. У меня /dev/sdb стал /dev/sdd и потом монтирование в fstab-е не проходило автоматически. Видимо это сделано чтобы все наконец-то перешли на называние устройств через mapper-ы или через UUID. Кстати, чтобы узнать UUID устройства можно воспользоваться командой:

# dumpe2fs /dev/sdb1 | grep UUID

И получить ответ, типа:

dumpe2fs 1.41.12 (17-May-2010)
Filesystem UUID:          d6598b7c-3237-4ec1-bcce-a601d138cbe2

Затем в /etc/fstab прописать:

UUID=d6598b7c-3237-4ec1-bcce-a601d138cbe2       /mnt/mydisk              ext4    defaults        1 2

 

 

ФИО*:
email*:
Отзыв*:
Код*