这两天用 XenServer 安装 VM,其中一台 VM 是用作无盘测试的 Linux Server,不在主流发行版之列,无奈 XenServer 日前对非主流的 Linux 支持不是很给力,默认模拟的两张网上为 Realtek Semiconductor. Co. RTL 8139/8139C,但 VM Linux Server 对这个支持又不好,折腾了半天,VM 中没有 NIC(Network Interface Cards)。
晚上在这里找到了解决方案:http://www.netservers.co.uk/articles/open-source-howtos/citrix_e1000_gigabit
XenServer 不允许用户选择 VM 使用的网上类型,而默认模拟给 VM 用的网上是 RTL 8139 百兆级网上,XenServer 使用 QEMU 模拟客户机的设备,其中有个隐藏的功能是模拟千兆网卡,可以解决非主流 Linux 发行版不能半虚拟化(paravirtualization)的性能瓶颈(bottleneck),当然,也能解决我遇到的问题,原文对此问题的解决方式如下:
1. 在 XenServer 中执行如下命令:
# mv /usr/lib/xen/bin/qemu-dm /usr/lib/xen/bin/qemu-dm.orig
2. 在 XenServer 中编辑新的 /usr/lib/xen/bin/qemu-dm 如下:
1 #!/bin/bash 2 oldstring=$@ 3 newstring=${oldstring//rtl8139/e1000} 4 exec /usr/lib/xen/bin/qemu-dm.orig $newstring
3. 将新的 qemu-dm 设置为可执行并禁止更改:
# chmod 755 /usr/lib/xen/bin/qemu-dm # chattr +i /usr/lib/xen/bin/qemu-dm
注意,chattr 命令使 qemu-dm 不能被更改,这样在升级时可以会失败,解决办法是在升级前执行 chattr -i /usr/lib/xen/bin/qemu-dm
在 XenServer 客户机中模拟千兆网上,布布扣,bubuko.com
原文:http://www.cnblogs.com/exclm/p/3659655.html