CentoOS 6.6 vmware仮想マシンを実行し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の状態を確認できません。
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
私の質問:起動時に新しいカーネルがこれらのボリュームを表示できるようにするにはどうすればよいですか?
答え1
RHEL 7システムでも同じ問題があります。しかし、GRUB2を使用します。
rd_LVM_LV=
カーネルパラメータからそれを削除するとき。カーネルパラメータからエントリをe削除するには、起動前にキーを押して+ Iを入力すると、正常に起動します。rd_LVM_LV=
CTRLx
RHEL 7で問題を永久に解決する手順:
- 「GRUB_CMDLINE_LINUX」の
/etc/default/grub
内容を開いて削除します。rd_LVM_LV=
- 次を実行して
grub2-mkconifg
新しいエントリを作成します。/boot/grub2/grub.cfg