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