我有一台 dom0 机器,CentOS 5.4
它使用 Xen 作为我的虚拟机管理程序,并运行所有最新更新。我之所以使用 Xen,部分原因是这台机器是在 KVM 被纳入 RHEL 之前设置的,部分原因是 KVM 的网络桥接配置并不像 Xen 的那么简单。dom0 机器是无头的,我通过virsh
命令行进行所有 VM 管理。我有两个 hvm domU:
- 运行 CentOS 5.4 的 Web 服务器
- 运行 Gentoo 的邮件服务器
两个虚拟机均由 dom0 上的 LV 支持,但不使用 domU 中的 LVM。两者的 libvirt 配置几乎完全相同(名称、UUID、NIC MAC、VNC 端口等预期内容有所不同)。
自应用最新的内核更新后,Web 服务器 domU(以下简称 WSdomU)无法启动(kernel-xen-2.6.18-164.15.1.el5.x86_64
并且kernel-2.6.18-164.15.1.el5.x86_64
我说的“未启动”是指它似乎正在运行,但它不使用 CPU 周期,没有打开图形控制台,也没有在网络上响应。WSdomU 列为无状态而不是正常的跑步或者受阻在xentop
。邮件服务器domU启动正常并且正常运行。
以下是我到目前为止采取的未能解决问题的步骤:
- 重新启动 dom0,看看一切是否正常
- 尝试从 dom0 连接到 WSdomU 的图形 (VNC) 控制台
- 检查
xen dmesg
dom0 - 检查
xend
日志(粗略查看没有发现任何明显问题;如果能提供需要查找的内容的具体建议将不胜感激) - 关闭邮件服务器 domU 并尝试启动 WSdomU
- 用于
kpartx
访问 domU 的分区- 尝试切换 grub 以使用以前的内核
- 检查支持 LV 上的 SELinux 标签(它们是相同的)
- 将 SELinux 设置为
permissive
并尝试启动 WSdomU - 尝试
virsh edit
调整 WSdomU 配置 virsh undefine
,重启,virsh define
WSdomU 配置fdisk
在 LV 上使用以确保它具有正确的分区布局dd
将 WSdomU LV 转换为 .img 文件,将其复制到我的 Fedora 桌面并在 KVM 下运行它(运行良好)dd
将 .img 文件复制到新的 LV 并创建新的 libvirt 配置 xml(启动失败)
用于尝试重新配置的示例配置:
<domain type='xen'>
<name>Webserver</name>
<os>
<type>hvm</type>
<loader>/usr/lib/xen/boot/hvmloader</loader>
<boot dev='hd'/>
</os>
<memory>262144</memory>
<vcpu>1</vcpu>
<on_poweroff>destroy</on_poweroff>
<on_reboot>restart</on_reboot>
<on_crash>restart</on_crash>
<features>
<acpi/>
<apic/>
<pae/>
</features>
<devices>
<emulator>/usr/lib64/xen/bin/qemu-dm</emulator>
<interface type='bridge'>
<source bridge='xenbr0'/>
<script path='vif-bridge'/>
</interface>
<disk type='block'>
<source dev='/dev/mapper/SystemsVG-Webserver'/>
<target dev='hda'/>
</disk>
<graphics type='vnc' />
</devices>
</domain>
下一步我应该采取什么步骤来调试这个问题?
我将在评论中编辑所要求的任何其他配置。
答案1
在 Centos-Virt 列表的帮助下,我偶然发现了一种可以正常启动 domU 的配置。
<domain type='xen'>
<name>Webserver</name>
<memory>262144</memory>
<currentMemory>262144</currentMemory>
<vcpu>1</vcpu>
<os>
<type>hvm</type>
<loader>/usr/lib/xen/boot/hvmloader</loader>
<boot dev='hd'/>
</os>
<features>
<pae/>
</features>
<clock offset='utc'/>
<on_poweroff>destroy</on_poweroff>
<on_reboot>restart</on_reboot>
<on_crash>restart</on_crash>
<devices>
<emulator>/usr/lib64/xen/bin/qemu-dm</emulator>
<disk type='block' device='disk'>
<driver name='phy'/>
<source dev='/dev/SystemsVG/Webserver'/>
<target dev='hda' bus='ide'/>
</disk>
<interface type='bridge'>
<mac address='00:16:3e:29:65:46'/>
<source bridge='xenbr0'/>
<script path='vif-bridge'/>
</interface>
<input type='mouse' bus='ps2'/>
<graphics type='vnc' autoport='yes'/>
</devices>
</domain>
推测 Xen Hypervisor 中的一些变化可能会导致acpi
或apic
标记问题。