web-dev-qa-db-ja.com

CentOS 6 Xenゲストは、「yumupdate」の後に起動に失敗します。カーネル?

Yumの更新後にXenゲストが起動しないという問題が発生しているようです。

DomU構成:

#kernel     = '/boot/solus-vmlinuz'
#ramdisk    = '/boot/solus-initrd.img'
bootloader = '/usr/bin/pygrub'
extra      = ''
memory     = 128
hostname   = 'test.mydomain.com'
cpu_weight = 256
name       = 'vm111'
vif        = ['ip=192.168.0.34, vifname=vifvm111.0, mac=00:16:3e:05:8a:8a, rate=1280KB/s']
vnc        = 0
vcpus      = 1
vncviewer  = 0
serial     = 'pty'
disk       = ['phy:/dev/vg0/vm111_img,xvda1,w', 'phy:/dev/vg0/vm111_swap,xvda2,w']
#root       = '/dev/xvda1 ro'

ゲストOSであるCentOS6.4 x86_64は、カーネル2.6.32-358.0.1.el6.x86_64で正常に起動します。

しかし後;

#yum update

Dependencies Resolved

================================================================================
 Package Arch Version Repository
                                                                           Size
================================================================================
Installing:
 kernel x86_64 2.6.32-358.2.1.el6 updates 26 M
Updating:
 initscripts x86_64 9.03.38-1.el6.centos.1 updates 937 k
 kernel-firmware noarch 2.6.32-358.2.1.el6 updates 11 M
 krb5-libs x86_64 1.10.3-10.el6_4.1 updates 760 k
 selinux-policy noarch 3.7.19-195.el6_4.3 updates 1.8 M
 selinux-policy-targeted noarch 3.7.19-195.el6_4.3 updates 2.8 M
 tzdata noarch 2013b-1.el6 updates 457 k

Transaction Summary
================================================================================
Install 1 Package(s)
Upgrade 6 Package(s)

Total download size: 44 M
#Is this ok [y/N]:y

# cat /boot/grub/grub.conf
default=0
timeout=5
title CentOS (2.6.32-358.2.1.el6.x86_64)
  root (hd0,0)
  kernel /boot/vmlinuz-2.6.32-358.2.1.el6.x86_64 console=hvc0 xencons=tty0 root=/dev/xvda1 ro crashkernel=auto
  initrd /boot/initramfs-2.6.32-358.2.1.el6.x86_64.img
title vmlinuz-2.6.32-358.0.1.el6.x86_64
  root (hd0,0)
  kernel /boot/vmlinuz-2.6.32-358.0.1.el6.x86_64 console=hvc0 xencons=tty0 root=/dev/xvda1 ro
  initrd /boot/initramfs-2.6.32-358.0.1.el6.x86_64.img

Xenゲストは再起動に失敗します。以下は、ブートプロセスの(部分的な)シリアルコンソール出力です。

dracut: dracut-004-303.el6
udev: starting version 147
dracut: Starting plymouth daemon
dracut Warning: No root device "block:/dev/xvda1" found

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-358.2.1.el6.x86_64 0000001
Call Trace:
 [<ffffffff8150d248>] ? panic+0xa7/0x16f
 [<ffffffff81073ae2>] ? do_exit+0x862/0x870
 [<ffffffff81182965>] ? fput+0x25/0x30
 [<ffffffff81073b48>] ? do_group_exit+0x58/0xd0
 [<ffffffff81073bd7>] ? sys_exit_group+0x17/0x20
 [<ffffffff8100b072>] ? system_call_fastpath+0x16/0x1b

これは更新されたカーネルの問題ですか、それともDomUが正しく構成されていませんか?

4
Elijah Paul

domUがルートデバイスを見つけられない場合は、この方法で試してください

mkinitrd -f -v --preload xenblk /boot/initramfswithxenblk.img $(uname -r)

ゲスト構成ファイル内

kernel = path of your kernel
ramdisk = /boot/initramfswithxenblk.img
1
c4f4t0r

おそらく、カーネルのアップグレード中にdepmodが欠落していることが原因である可能性があります。古いカーネルで起動し、これを試してください。

yum upgrade module-init-tools
depmod -ae -F /boot/System.map-2.6.32-358.2.1.el6 2.6.32-358.2.1.el6
dracut --force '' 2.6.32-358.2.1.el6
0
user122772

/etc/modprobe.confの内容を確認してください。次のものが必要です。

alias scsi_hostadapter xenblk
alias eth0 xennet 
0
mark