網卡bond(綁定),也稱作網卡捆綁。就是將兩個或者更多的物理網卡 綁定成一個虛擬網卡。網卡是通過把多張網卡綁定為一個邏輯網卡,實現本地 網卡的冗余,帶寬擴容和負載均衡,在應用部署中是一種常用的技術。多網卡綁定實際上需要提供一個額外的軟件的bond驅動程序實現。通過 驅動程序可以將多塊網卡屏蔽。對TCP/IP協議層只存在一個Bond網卡,在 Bond程序中實現網絡流量的負載均衡,即將一個網絡請求重定位到不同的網 卡上,來提高總體網絡的可用性。
網卡綁定的目的:
1.提高網卡的吞吐量。
2.增強網絡的高可用,同時也能實現負載均衡。
bond模式:
(1)Mode=0(balance-rr) 表示負載分擔round-robin,平衡輪詢策略,具有負載平衡和容錯功能 bond的網卡MAC為當前活動的網卡的MAC地址,需要交換機設置聚合模式,將多個網卡綁定為一條 鏈路。
(2)Mode=1(active-backup) 表示主備模式,具有容錯功能,只有一塊網卡是active,另外一塊是 備的standby,這時如果交換機配的是捆綁,將不能正常工作,因為交換機往兩塊網卡發包,有一半包 是丟棄的。 (3)Mode=2(balance-xor) 表示XOR Hash負載分擔(異或平衡策略),具有負載平衡和容錯功能 每個slave接口傳輸每個數據包和交換機的聚合強制不協商方式配合。(需要xmit_hash_policy)。
(4)Mode=3(broadcast) 表示所有包從所有interface發出,廣播策略,具有容錯能力,這個不均 衡,只有冗余機制...和交換機的聚合強制不協商方式配合。
(5)Mode=4(802.3ad) 表示支持802.3ad協議(IEEE802.3ad 動態鏈接聚合) 和交換機的聚合 LACP方式配合(需要xmit_hash_policy)。
(6)Mode=5(balance-tlb) 適配器傳輸負載均衡,並行發送,無法並行接收,解決了數據發送的瓶 頸。 是根據每個slave的負載情況選擇slave進行發送,接收時使用當前輪到的slave。
(7)Mode=6(balance-alb) 在5的tlb基礎上增加了rlb。適配器負載均衡模式並行發送,並行接收 數據包
常用的有三種
mode=0:平衡負載模式,有自動備援,但需要”Switch”支援及設定。
mode=1:自動備援模式,其中一條線若斷線,其他線路將會自動備援。
mode=6:平衡負載模式,有自動備援,不必”Switch”支援及設定。
網卡配置bond(綁定)
1、eth1,eth2,eth3都配置綁定為bond0:
#cat ifcfg-eth1
TYPE=Ethernet
BOOTPROTO=none
DEVICE=eth1
ONBOOT=yes
MASTER=bond0
SLAVE=yes
2、載入bond模塊: #modprobe bonding
3、查看bond0,並橋接到br1
#cat ifcfg-bond0
DEVICE=bond0
TYPE=Bond
NAME=bond0
BONDING_MASTER=yes
BOOTPROTO=static
USERCTL=no
ONBOOT=yes
#IPADDR=192.168.10.10
#PREFIX=24
#GATEWAY=192.168.10.19
BONDING_OPTS="mode=6 miimon=100"
BRIDGE=br1
4、配置新的網橋br0的配置文件:
#vim ifcfg-br1
TYPE=Bridge
DEVICE=br1
ONBOOT=yes
#IPADDR=192.168.10.1
#IPADDR1=192.168.20.1
#IPADDR2=192.168.30.1
#IPADDR3=192.168.40.1
#IPADDR4=192.168.50.1
#PREFIX3=24 PREFIX4=24
#GATEWAY=172.16.0.1
#DNS1=172.16.254.251
#DNS2=223.5.5.5
5、重啟系統:reboot