1. 首页
  2. 技术知识

XenServer模拟千兆网卡并绑定多张网卡

目录

    XenServer 模拟千兆网卡XenServer 中绑定多张网卡设置虚拟机自启动

      1 获取 Pool 的 UUID2 设置 Pool 的自启动3 获取需要设置为自启动的虚拟机的 UUID(以名称为“W2K08”的虚拟机为例)4 设置虚拟机的自启动

    本地补丁上传执行使用本地 ISO 作为 Storage Repository (SR)

XenServer 模拟千兆网卡

这两天用 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.orig2. 在 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 $newstring3. 将新的 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 中绑定多张网卡

个人感觉 XenServer 6.2 中的 xeconsole 人性化做的还行,但功能的丰富程度尚可提高,因为里面的网络管理居然没提供网上绑定功能。

找了些资料发现,XenServer 在 bash 中绑定网卡的做法如下:

1 root@xxx # <strong>xe pif-</strong><strong>list</strong>        <strong># 列出物理网卡

</strong> 2 uuid(RO)               : <strong>UUID0

</strong> 3 device(RO)             : eth0

4 currently-attached(RO) : true

5 VLAN(RO)               : -1

6 network-uuid(RO)       : N_UUID0

7

8 uuid(RO)               : <strong>UUID1

</strong> 9 device(RO)             : eth1

10 currently-attached(RO) : true

11 VLAN(RO)               : -1

12 network-uuid(RO)       : N_UUID1

13 root@xxx # <strong>xe network-create name-lable=”bond0+1″</strong>   <strong># 创建名为 bond0+1 的网卡

</strong>14 uuuuuuuu-uuuu-uuuu-uuuu-uuuuuuuuuuuu                <strong># 新建网卡的 </strong>UUID_bond

15 root@xxx # <strong>xe bond-create network-uuid=UUID_bond pif-uuids=UUID0,UUID1 [mode=<balance-slb|active-backup>]

</strong>16 root@xxx # <strong>xe network-list</strong>                          <strong># 列出网卡,查看绑定是否生效</strong>上述的 mode=balance-slb|active-backup 是 XenServer 支持的两各绑定模式。这两个模式是关于负载均衡和失效保护的。balance-slb 为负载均衡模式(Server Load Balance),即两块网卡都工作,active-backup 是失效保护模式的冗余功能,即绑定的两块网卡一主一备份。默认是 balance-slb 模式。

实际上网上绑定可以有 7 种模式,以后有机会可以去了解。

设置虚拟机自启动

在XenServer的较早前版本(6.0以前)中,启动XenServer时,可以选择自动启动在其中安装的虚拟机。这个功能在XenServer 6.0中被Citrix取消了,原因是会干扰到XenServer的HA(高可用性)和Failover(故障转移)功能的兼容性。但是,如果只运行一个XenServer,这个功能还是非常好的。

在XenServer 6.0中,自动启动虚拟机仍然是可以办到的。这需要在“Pool Level”上开启自启X能,并且,在需要自启动的虚拟机上使用命令行进行设置。

1 获取 Pool 的 UUID

root@server# xe pool-list

uuid ( RO)        : <strong>POOL</strong><strong>-</strong><strong>UUID</strong>

name-label ( RW)  : TestPool

name-description ( RW):

master ( RO)      : 74fc086b-8c89-4918-b69e-369fcb19847d

default-SR ( RW)  : bebb142a-d986-acac-d4f4-636de937d28b


2 设置 Pool 的自启动

root@server# xe pool-param-set uuid=<strong>POOL-UUID</strong> other-config:auto_poweron=true


3 获取需要设置为自启动的虚拟机的 UUID(以名称为“W2K08”的虚拟机为例)

root@server# xe vm-list name-label=”W2K08″

uuid ( RO)        : <strong>VM</strong><strong>-</strong><strong>UUID</strong>

name-label ( RW)  : W2K08

power-state ( RO) : running如果要得到简介的结果(即只希望输出UUD),可以使用如下命令:

root@server# xe vm-list name-label=”W2K08″ params=uuid –minimal


4 设置虚拟机的自启动

root@server# xe vm-param-set uuid=<strong>VM-UUID</strong> other-config:auto_poweron=true2022-05-30 APPend:

本地补丁上传执行

# xe patch-upload …

# xe patch-list

# xe patch-apply uuid=… host-uuid=…


使用本地 ISO 作为 Storage Repository (SR)

# xe sr-create type=iso name-label=”local isos” device-config:location=/folder-to-isos device-config:legacy_mode=true content-type=iso  # mount iso locally first以上就是XenServer模拟千兆网卡并绑定多张网卡的详细内容,更多关于XenServer模拟千兆网卡绑定的资料请关注共生网络其它相关文章!

原创文章,作者:starterknow,如若转载,请注明出处:https://www.starterknow.com/105903.html

联系我们