CentOS 7 似乎无法与 XenServer 6.2 的半虚拟化驱动程序配合使用
我已经使用 xs-tools 包安装了一个 PVHVM 客户机,但驱动程序在启动时无法连接。
我在 DomU 上的 dmesg 上收到此消息:
[ 0.000000] Xen Platform: blacklisted by host
我预计何时会收到这些邮件:
[ 0.000000] Netfront and the Xen platform PCI driver have been compiled for this kernel: unplug emulated NICs.
[ 0.000000] Blkfront and the Xen platform PCI driver have been compiled for this kernel: unplug emulated disks.
并在Dom0中得到了相应的消息:
Jul 11 15:39:03 xenserver1 fe: qemu-dm-53[2380]: UNPLUG: protocol version set to 1 (drivers not blacklisted)
Jul 11 15:39:03 xenserver1 fe: qemu-dm-53[2380]: UNPLUG: protocol 1 active
Jul 11 15:39:03 xenserver1 fe: qemu-dm-53[2380]: UNPLUG: product_id: 3 build_number: 1
Jul 11 15:39:03 xenserver1 fe: qemu-dm-53[2380]: UNPLUG: drivers blacklisted
Jul 11 15:39:04 xenserver1 fe: qemu-dm-53[2380]: vga s->lfb_addr = f1000000 s->lfb_end = f1800000
由于这个问题,我无法使用模拟的 Realtek 快速以太网驱动程序,我想知道是否有可能解决这个问题,甚至是真正的解决方案。
XenServer 6.2 如今确实已经过时了,我担心存在一些内部不兼容问题,导致使用 XenServer 6.2 的 CentOS 7 无法发挥其优势。
答案1
尝试在完全半虚拟化模式下安装 CentOS 7。您可以使用 kickstart 来自动执行安装;只要 grub 配置文件经过修补,可由 XenServer 6.2 的 pygrub 读取,虚拟机就会启动。XenServer Tools 将在半虚拟机内正确安装。
下一个版本即将发布,当它发布时你可能会有更好的运气。
答案2
我已经在 XenServer 6.2 SP1 中安装了 CentOS 7.0 和 Oracle Linux 7.0 作为 domU,并安装了最新的修补程序。完全没有问题。不过我使用了安装 DVD ISO。
使用 DVD 安装时,请确保选择“其他媒体”。原版内核 3.10 肯定具有 xen 客户机支持 (pvops),并将检测 xen 虚拟机管理程序、拔下模拟 NIC 和使用 PV 驱动程序的磁盘。
错误信息似乎源自arch/x86/xen/平台-pci-unplug.c
switch (protocol) {
case 1:
outw(XEN_IOPORT_LINUX_PRODNUM, XEN_IOPORT_PRODNUM);
outl(XEN_IOPORT_LINUX_DRVVER, XEN_IOPORT_DRVVER);
if (inw(XEN_IOPORT_MAGIC) != XEN_IOPORT_MAGIC_VAL) {
printk(KERN_ERR "Xen Platform: blacklisted by host\n");
return XEN_PLATFORM_ERR_BLACKLIST;
}
break;
default:
printk(KERN_WARNING "Xen Platform PCI: unknown I/O protocol version");
return XEN_PLATFORM_ERR_PROTOCOL;
}
我知道 XenServer 6.1 有针对此问题的修补程序http://support.citrix.com/article/CTX137843但对于带有最新修补程序的 6.2 SP1,它应该不会受到影响。确保将其修补到最新的 XS62ESP1008。
PV 可能无法工作,因为 PV 模板尚不可用。