Bond(也被称为链路聚合、端口绑定或接口绑定)是一种网络技术,用于将多个物理网络接口(如以太网接口)组合成一个逻辑接口,从而达到增加带宽、负载均衡和冗余备份的目的。
下面例举几个常见的Bond模式:
该模式使用主备策略(热备),在所有做Bond1的物理网卡中,同一时刻只有一张网卡被激活,当且仅当活动网卡失效时才会激活其他的网卡。该模式下做Bond的两张或多张网卡的MAC地址和Bond虚拟网卡的MAC地址相同,而bond的MAC地址是Bond创建启动后活动网卡(Active Slave)的MAC地址。该模式要求主备网卡能快速地切换,即当主网卡出现故障后能迅速地切换至备用网卡。切换过程中,上层的应用几乎不受影响,因为Bond的驱动程序会临时接管上层应用的数据包,存放至数据缓冲区,等待备用网卡启动后再发送出去。但是如果切换时间过长,则会引起缓冲区的溢出,导致丢包。
该模式下,Bond会根据指定的传输HASH策略来分配数据包给不同的网卡,实现负载均衡和容错。该模式需要交换机支持聚合口的配置。默认选择网卡的序号=(源MAC地址 XOR 目标MAC地址) % Slave网卡(从网卡)的数量。其他的传输策略可以通过xmit_hash_policy配置项指定。
该模式下,Bond会支持802.3ad协议,和交换机的聚合LACP方式配合,实现负载均衡和容错。该模式要求所有的网卡和交换机在聚合操作时,要在同样的速率和双工模式下工作,需要交换机支持802.3ad协议。