Linux bonding驅動一共提供了7種模式,它們分別是:balance-rr?、active-backup、balance-xor、broadcast、802.3ad、balance-tlb、balance-alb。???
balance-rr or 0:輪詢模式,提供負載平衡和容錯。該模式下兩個網口都工作
active-backup or 1:主備倒換模式,提供冗余功能,該模式下只有一個網口工作,另一個做備份。
balance-xor or 2:基于HASH算法的負載均衡模式,網卡的分流按照xmit_hash_policy的TCP協議層設置來進行HASH計算分流,使各種不同處理來源的訪問都盡量在同一個網卡上進行處理。
broadcast or 3:廣播模式,所有被綁定的網卡都將得到相同的數據,一般用于十分特殊的網絡需求。
802.3ad or 4:802.3ad模式,要求交換機也支持802.3ad模式,理論上服務器及交換機都支持此模式時,網卡帶寬最高可以翻倍(如從1Gbps翻到2Gbps)。
balance-tlb or 5:適配器輸出負載均衡模式,輸出的數據會通過所有被綁定的網卡輸出,接收數據時則只選定其中一塊網卡。如果正在用于接收數據的網卡發生故障,則由其他網卡接管,要求所用的網卡及網卡驅動可通過ethtool命令得到speed信息。
balance-alb or 6:適配器輸入/輸出負載均衡模式,在"模式5"的基礎上,在接收數據的同時實現負載均衡,除要求ethtool命令可得到speed信息外,還要求支持對網卡MAC地址的動態修改功能。
其中active-backup、balance-tlb和balance-alb模式不需要對交換機做任何的配置。
802.3ad模式需要交換機有對應的配置為802.3ad聚合的端口,具體的配置方法因交換機類型而異,比如,Cisco 3550系列交換機要求對應的端口首先必須被分組在一個單獨的etherchannel實例,然后這個etherchannel設置為"lacp"模式已啟用802.3ad(取代標準EtherChannel)。
balance-rr、balance-xor和broadcast模式通常需要交換機對應的端口被分組在一起,不同的交換機對分組有著不同的命名,可能會被叫做“etherchannel”(比如上文的Cisco示例),或者叫做“trunk group”,或者其他類似的命令。對于這些模式,每個交換機也會有它自己的針對到bond的傳輸策略的配置選項。典型的選擇包括對每個MAC地址或者?IP地址進行XOR操作,兩端的傳輸策略不一定完全一致。對這三種模式,bonding模式會針對一個EtherChannel組選擇一種傳輸策略;所有這三種模式都會和另一個EtherChannel組進行互操作。
mode的值共有0-6 七種模式,常用的為0,1,6三種。mode=0:平衡負載模式,有自動備援,但需要”Switch”支援及設定。
mode=1:自動備援模式,其中一條線若斷線,其他線路將會自動備援。
mode=6:平衡負載模式,有自動備援,不需要”Switch”支援及設定。
配置例子信息:
[root@wap network-scripts]# more ifcfg-bond0
TYPE=Bond
BONDING_MASTER=yes
BOOTPROTO=static
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
NAME=bond0
DEVICE=bond0
ONBOOT=yes
IPADDR=192.100.100.178
NETMASK=255.255.255.0
GATEWAY=192.100.100.1
BONDING_OPTS="mode=0 miimon=100" ##應修改為mode 6 ,不依賴交換機
##BONDING_OPTS="mode=6 miimon=100" [root@wap network-scripts]# more ifcfg-em2
DEVICE=em2
HWADDR=F8:BC:12:48:8B:BD
TYPE=Ethernet
UUID=344d668d-1a2d-424f-9e9b-699e259e94d1
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=none
MASTER=bond0
SLAVE=yes[root@wwap network-scripts]# more ifcfg-em3
DEVICE=em3
HWADDR=F8:BC:12:48:8B:BE
TYPE=Ethernet
UUID=cabae77c-a50d-47d5-be42-f113ee361f84
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=none
MASTER=bond0
SLAVE=yes重啟網絡服務即可
[root@wap network-scripts]#service network restart
[root@wap network-scripts]# ifconfig
bond0 Link encap:Ethernet HWaddr F8:BC:12:48:8B:BD inet addr:192.100.100.178 Bcast:192.100.100.255 Mask:255.255.255.0inet6 addr: fe80::fabc:12ff:fe48:8bbd/64 Scope:LinkUP BROADCAST RUNNING MASTER MULTICAST MTU:1500 Metric:1RX packets:1179700 errors:0 dropped:0 overruns:0 frame:0TX packets:195915 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:0 RX bytes:1661568472 (1.5 GiB) TX bytes:14695260 (14.0 MiB)em2 Link encap:Ethernet HWaddr F8:BC:12:48:8B:BD UP BROADCAST RUNNING SLAVE MULTICAST MTU:1500 Metric:1RX packets:597660 errors:0 dropped:0 overruns:0 frame:0TX packets:97959 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:1000 RX bytes:842373157 (803.3 MiB) TX bytes:7355398 (7.0 MiB)Interrupt:38 em3 Link encap:Ethernet HWaddr F8:BC:12:48:8B:BD UP BROADCAST RUNNING SLAVE MULTICAST MTU:1500 Metric:1RX packets:582040 errors:0 dropped:0 overruns:0 frame:0TX packets:97956 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:1000 RX bytes:819195315 (781.2 MiB) TX bytes:7339862 (6.9 MiB)Interrupt:34
?