как сделать LVM доступным для загрузки? kernel panic – dracut не может найти логические тома после обновления ядра в CentOS 6.6

У меня есть centoOS 6.6 vmware vm, что я запустил yum update на котором обновлено ядро

после перезагрузки я начал получать следующее:

 dracut Warning: No root device "block:/dev/vg_myhost/lv_root" found dracut Warning: LVM /dev/vg_myhost/lv_root not found dracut Warning: LVM /dev/vg_myhost/lv_swap not found Kernel panic - not syncing: Attempted to kill init! Pid: 1, comm: init Not tainted 2.6.32-504.16.2.el6.x86_64 #1 panic do_exit fput do_group_exit sys_exit_group system_call_fastpath 

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

в оболочке я запустил lvm lvdisplay , и он нашел тома, но они были отмечены как LV Status NOT available

 dracut:/#lvm lvdisplay --- Logical volume --- LV Path /dev/vg_myhost/lv_root LV Name lv_root VG Name vg_myhost ... LV Status NOT available ... 

Тогда я смог сделать их активными.

 dracut:/# lvm vgchange -ay 2 logical volume(s) in volume group "vg_myhost" now active dracut:/# exit ...boots normally... 

После создания этих доступных и выходящих оболочек dracut, ОС загрузилась просто отлично.

но после перезагрузки я попал в ту же проблему.

обратите внимание, что все работает отлично, если я загружаюсь со старым ядром

новые аргументы ядра

 kernel /vmlinuz-2.6.32-504.16.2.el6.x86_64 ro root=/dev/vg_myhost/lv_root rd_NO_LUKS LANG=en_US.UTF-8 rd_LVM_LV=vg_myhost/lv_root rd_NO_MD SYSFONT=latarcyrheb-sun16 crashkernel=128M rd_LVM_LV=vg_myhost/lv_swap KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rdshell 

старые аргументы ядра:

 kernel /vmlinuz-2.6.32-504.8.1.el6.x86_64 ro root=/dev/vg_myhost/lv_root rd_NO_LUKS LANG=en_US.UTF-8 rd_LVM_LV=vg_myhost/lv_root rd_NO_MD SYSFONT=latarcyrheb-sun16 crashkernel=128M rd_LVM_LV=vg_myhost/lv_swap KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quiet 

мой вопрос: как я могу сделать эти тома увиденными новым ядром во время загрузки?

У меня такая же проблема на машине RHEL 7. Но он использует GRUB2.

Когда я rd_LVM_LV= те rd_LVM_LV= в ядрах args. Нажмите e перед загрузкой, удалите rd_LVM_LV= в аргументах ядра, введите CTRL + x, после чего я смогу успешно загрузиться.

Шаги по окончательному решению на RHEL 7:

  1. Открыть /etc/default/grub удалить те rd_LVM_LV= в "GRUB_CMDLINE_LINUX"
  2. Запустите grub2-mkconifg чтобы создать новый /boot/grub2/grub.cfg