XenServer的网卡绑定使用linux提供的绑定机制,而XenServer支持Linux的Source Level Bond(SLB)以及Active-Passive Nic Bond(A/P)两种绑定模式。
关于Linux支持的7中Bond模式,这里简单介绍下,网上找了找资料:
bond mode | bond mode name | bond description | remarks |
---|---|---|---|
0 | balance-rr (round-robin policy) | 轮询策略 | 依次轮流传输数据库,知道完毕,提供负载均衡和冗余功能 |
1 | active-backup (active-backup policy) | 主/备策略 | 只有一个网卡活动,当活动网卡宕掉以后,另外一块设备马上接管,MAC地址对交换机只有一个端口可见,避免了混乱,该模式提供冗余功能 |
2 | balance-xor (XOR policy) | 布尔异或策略 | 基于MAC地址与目的地址的异或来决定流量走哪块网卡,同一目的MAC会走相同的网卡,该模式提供负载均衡和冗余 |
3 | broadcast (Broadcast policy) | 广播策略 | 发送所有流量到所有网口,该模式提供冗余功能 |
4 | 802.3ad (IEEE 802.3ad Dynamic link aggregation) | 动态链接聚合策略 | 需要ethtool support和交换机对802.3ad的支持,建立相同速率和双工设置的聚合组 |
5 | balance-tlb (adaptive transmit load balancing) | 适配器传输负载平衡策略 | 发送流量基于网卡当前负载决定,主要基于相对速率的计算,入栈流量由当前网卡接收,如果失败,则另外一块网卡接管,提供冗余功能 |
6 | balance-alb (Adaptive load balancing) | 适配器负载平衡策略 | 在模式balance-tlb的基础上,对接收的负载进行计算并实现负载均衡 |
我们可以看到linux提供了多种绑定模式的支持,而XenServer的bond也是基于Linux的绑定功能,但是官方指出,只支持mode 6(Active/Active)与Mode 1(Active/Passive)两种模式,使用其他模式,可能不受官方技术支持,但是实际测试发现,XenServer的绑定也支持其他几种模式。(实测了mode=3)
通过设置pif的参数bond-mode来实现修改bonding的模式:
1 2 3 4 | #设置绑定模式为主/备模式 xe pif–param–set uuid=<bond pif uuid> other–config:bond–mode=active–backup #or xe pif–param–set uuid=<bond pif uuid> other–config:bond–mode=1 |
设置bond-mode=6则为XenServer默认的A/A负载均衡模式,也可以设置成其他模式。
注:修改完绑定模式以后,需要重启XenServer生效。