“网卡绑定”是指将多个物理的网络接口(网口)组合成一个软件定义的网络接口设备。由于这个绑定的网络接口设备整合了多个网络接口的能力,所以它能够提供比单一网络接口更高的传输速度和更大的带宽,另外由于在网卡绑定中的所有接口都失效了,整个绑定接口才失效,这样就相对单一网络接口具备了容错能力。但是有一个限制,就是要求同一个网卡绑定内的所有物理网络接口应是同一种型号的,以便这些网络接口能够支持相同的配置和模式。
绑定接口中的数据包分发算法取决于配置使用的绑定模式。
oVirt默认采用Mode4,支持的绑定模式有:
Mode 0(轮询)
网络数据包在绑定接口内的所有物理接口上顺序循环发送,一个数据包先从绑定接口内的第一个可用的网络接口发送,然后下一个数据包从绑定接口内的第二个可用的网络接口发送,直到使用绑定内最后一个可用的网络接口发送,然后再回到第一个可用的网络接口。所有链路处于负载均衡状态,轮询方式往每条链路发送报文,基于per packet方式发送。例如服务上ping 一个相同地址:1.1.1.1 双网卡的两个网卡都有流量发出,负载到两条链路上,是基于per packet方式 ,进行轮询发送。这种模式的特点增加了带宽,同时支持容错能力,当有链路出问题,会把流量切换到正常的链路上。
Mode 0 同时提供了容错和负载均衡的能力;交换机端需要配置聚合口。
Mode 1(主备)
绑定接口内的一个物理接口处于活动状态,其它的物理接口处于备用状态,当处于活动状态的网络接口出现故障失效时,处于备用状态的一个网络接口将接管这个故障接口,变成活动状态,Mode 1 模式的绑定接口的mac地址只在一个端口上可见,以防止主备切换造成mac混乱。所有流量都在活动的主链路上处理,备用状态的从链路不会有任何流量。
Mode 1仅提供了容错的能力。
Mode2(异或平衡)
根据源和目标mac地址的异或(XOR)操作结果来确定选择绑定接口内的哪个网络接口传输数据包,这种方式能够确保相同目标mac地址的数据包能够通过同一个网络接口传输。目的地通过MAC地址决定。该模式通过计算目的mac地址,将链路匹配到某一个接口上,所以到达同一台主机的所有链路都在一个接口上。如果所有流量是通过单个路由器,则适合于具有多个网关的场景。
Mode 2 模式同时提供了容错和负载均衡的能力;交换机端需要配置聚合口。
Mode3(广播)
以广播的方式将数据包在所有网络接口上传输。这种模式的特点是一个报文会复制两份往bond下的两个接口分别发送出去,当有对端交换机失效,我们感觉不到任何downtime,但此法过于浪费资源,不过这种模式有很好的容错机制。此模式适用于金融行业,因为他们需要高可靠性的网络,不允许出现任何问题。
Mode 3 提供了容错的能力。
Mode4(IEEE 802.3ad)
根据IEEE 802.3ad规范创建链路聚合,要求加入链路聚合的物理接口必须均为全双工模式、速率相同、类型相同(同为电口或同为光口),Mode 4会将绑定的网络接口聚合成一个高速的网络接口使用,数据包的传输按照一定的算法和规则进行传输,聚合后会增加带宽。
Mode 4 提供了容错和负载均衡的能力;交换机端需要配置聚合口,需要支持802.3ad。
Mode5(自适应传输负载平衡)
实现绑定接口内所有网络接口的上行带宽的负载均衡,即从服务器端出去的流量的负载均衡。该模式的接口可以有不同的速率,而且不需要特别的交换机配置。不利的一面在于,该模式下所有进入的(incoming)流量会到达同一个接口,该模式要求slave接口的网络设备驱动有某种ethtool支持,而且ARP监控不可用。
Mode 5 提供了容错和一定的负载均衡的能力;不需要交换机配置。
Mode6(自适应负载平衡)
实现绑定接口内所有网络接口的上行(outgoing)和下行(incoming)带宽的负载均衡,利用ARP协商接收到的数据包的负载均衡。
Mode 6 提供了容错和负载均衡的能力;不需要交换机配置。
注意
根据oVirt官方说明,虚机网络支持Mode1、2、3、4,因为能和bridge一起用,不支持Mode0、5、6,因为不能和bridge一起用;
实际情况是虚机网络能够支持Mode5、6,但不能使用vlan;
mode0、2 模式下配置使用vlan时,交换机先配置聚合再将聚合口设为trunk。mode1所连接的交换机口配置为trunk即可。
oVirt网络绑定的配置在“计算”->“主机”->“网络接口”->“设置主机网络”中。
PS:转载文章请注明来源:oVirt中文社区(www.cnovirt.com)
扫码?加好友拉你进oVirt技术交流群!