網卡bond

參考以下連接:https://blog.csdn.net/ogog123/article/details/77991067vim

所謂bond,就是把多個物理網卡綁定成一個邏輯上的網卡,使用同一個IP工做,在增長帶寬的同時也能夠提升冗餘性,通常使用較多的就是來提升冗餘,分別和不一樣交換機相連,提升可靠性,但有時服務器帶寬不夠了也能夠用做增長帶寬。服務器

1.網卡bond的模式負載均衡

網卡綁定mode共有七種(0~6) bond0、bond一、bond二、bond三、bond四、bond五、bond6。 經常使用的有三種:.net

mode=0:平衡負載模式,有自動備援,但須要」Switch」支援及設定。rest

mode=1:自動備援模式,其中一條線若斷線,其餘線路將會自動備援。blog

mode=6:平衡負載模式,有自動備援,沒必要」Switch」支援及設定。ip

bond模式:hash

  1. Mode=0(balance-rr) 表示負載分擔round-robin,和交換機的聚合強制不協商的方式配合。
  2. Mode=1(active-backup) 表示主備模式,只有一塊網卡是active,另一塊是備的standby,這時若是交換機配的是捆綁,將不能正常工做,由於交換機往兩塊網卡發包,有一半包是丟棄的。
  3. Mode=2(balance-xor) 表示XOR Hash負載分擔,和交換機的聚合強制不協商方式配合。(須要xmit_hash_policy)
  4. Mode=3(broadcast) 表示全部包從全部interface發出,這個不均衡,只有冗餘機制...和交換機的聚合強制不協商方式配合。
  5. Mode=4(802.3ad) 表示支持802.3ad協議,和交換機的聚合LACP方式配合(須要xmit_hash_policy)
  6. Mode=5(balance-tlb) 是根據每一個slave的負載狀況選擇slave進行發送,接收時使用當前輪到的slave
  7. Mode=6(balance-alb) 在5的tlb基礎上增長了rlb。

5和6不須要交換機端的設置,網卡能自動聚合。4須要支持802.3ad。0,2和3理論上須要靜態聚合方式
但實測中0能夠經過mac地址欺騙的方式在交換機不設置的狀況下不太均衡地進行接收。it

如何配置:io

[root@rhel6 network-scripts]# ls ifcfg-*
ifcfg-eth0  ifcfg-lo
[root@rhel6 network-scripts]# cp ifcfg-eth0 ifcfg-bond0
[root@rhel6 network-scripts]# cp ifcfg-eth0 ifcfg-eth1
[root@rhel6 network-scripts]# cp ifcfg-eth0 ifcfg-eth2
[root@rhel6 network-scripts]# vim ifcfg-bond0 
[root@rhel6 network-scripts]# cat ifcfg-bond0 
DEVICE=bond0
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=static
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
NAME="System bond0"
IPADDR=192.168.122.40
NETMASK=255.255.255.0
BONDING_OPTS="mode=0" #負載均衡模式,當BONDING_OPTS="mode=1 primary=eth1"主從模式,eth1爲主
[root@rhel6 network-scripts]# vim ifcfg-eth1
[root@rhel6 network-scripts]# vim ifcfg-eth2
[root@rhel6 network-scripts]# cat ifcfg-eth1
DEVICE=eth1
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=none
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
NAME="System eth1"


MASTER=bond0
SLAVE=yes
[root@rhel6 network-scripts]# cat ifcfg-eth2
DEVICE=eth2
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=none
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
NAME="System eth2"
MASTER=bond0
SLAVE=yes


[root@rhel6 network-scripts]# service network-functions restart
[root@rhel6 network-scripts]# yum -y install iptraf
[root@rhel6 network-scripts]# iptraf

[root@foundation15 ~]# ping 192.168.122.40

相關文章
相關標籤/搜索