CentOS配置bond

Bonding的模式一共有7種:
#defineBOND_MODE_ROUNDROBIN       0   (balance-rr模式)網卡的負載均衡模式
#defineBOND_MODE_ACTIVEBACKUP     1   (active-backup模式)網卡的容錯模式
#defineBOND_MODE_XOR              2   (balance-xor模式)須要交換機支持
#defineBOND_MODE_BROADCAST        3    (broadcast模式)
#defineBOND_MODE_8023AD           4   (IEEE 802.3ad動態鏈路聚合模式)須要交換機支持
#defineBOND_MODE_TLB              5   自適應傳輸負載均衡模式
#defineBOND_MODE_ALB              6   網卡虛擬化方式
 bonding模塊的全部工做模式能夠分爲兩類:多主型工做模式和主備型工做模式,balance-rr 和broadcast屬於多主型工做模式而active-backup屬於主備型工做模式。(balance-xor、自適應傳輸負載均衡模式(balance-tlb)和自適應負載均衡模式(balance-alb)也屬於多主型工做模式,IEEE 802.3ad動態鏈路聚合模式(802.3ad)屬於主備型工做模式。
 
詳細介紹這7種模式:

一、balance-rr (mode=0)

輪轉(Round-robin)策略:從頭至尾順序的在每個slave接口上面發送數據包。本模式提供負載均衡和容錯的能力。
 

二、active-backup(mode=1)

活動-備份(主備)策略:在綁定中,只有一個slave被激活。當且僅當活動的slave接口失敗時纔會激活其餘slave。爲了不交換機發生混亂此時綁定的MAC地址只有一個外部端口上可見。在bongding的2.6.2及其之後的版本中,主備模式下發生一次故障遷移時,bonding將在新激活的slave上會送一個或者多個gratuitous ARP。bonding的主salve接口上以及配置在接口上的全部VLAN接口都會發送gratuitous ARP,只要這些接口上配置了至少一個IP地址。VLAN接口上發送的的gratuitous ARP將會附上適當的VLAN id。本模式提供容錯能力,primary option,documented below會影響本模式的行爲。
 

三、balance-xor(mode=2)

XOR策略:基於所選擇的傳送hash策略。
  本模式提供負載均衡和容錯的能力。
 

四、broadcast(mode=3)

廣播策略:在全部的slave接口上傳送全部的報文。本模式提供容錯能力。
 

五、802.3ad(mode=4)

IEEE 802.3ad 動態鏈路聚合。建立共享相同的速率和雙工模式的聚合組。能根據802.3ad規範利用全部的slave來創建聚合鏈路。Salve的出站選擇取決於傳輸的hash策略,默認策略是簡單的XOR策略,而hash策略則能夠通xmit_hash_policy選項加以改變。須要注意的是:不是全部的傳輸策略都與802.3ad兼容,尤爲是802.3ad標準的43.2.4章節中關於 packet mis-ordering要求的地方。不一樣個體的實現每每出現很大的不兼容。
先決條件:
  1. 每一個slave的基本驅動支持Ehtool獲取速率和雙工狀態。
  2.交換機支持IEEE 802.3ad動態鏈路聚合。大多數的交換機都須要使用某種配置方式來啓用802.3ad模式。
 

六、balance-tlb(mode=5)

自適應傳輸負載均衡:信道綁定不須要特殊的交換機支持。出口流量的分佈取決於當前每一個slave的負載(計算相對速度)。進口流量從當前的slave的接收。若是接收salve出錯,其餘的slave接管失敗的slave的MAC地址繼續接收。
  先決條件:
  每一個slave的基本驅動支持Ehtool獲取速率狀態。
 

七、balance-alb(mode=6)

自適應負載均衡:包括balance-tlb(模式5)以及用於IPV4流量的接收負載均衡,而且不須要特殊的交換機支持。接收負載均衡經過ARP協商實現。bonding的驅動攔截本機發出的ARP Replies(ARP迴應報文),而且用bond的某一個slave的硬件地址改寫ARP報文的源地址,使得本服務器對不一樣的設備使用不一樣的硬件地址。本服務器創建的鏈接的接收流量也是負載均衡的。當本機發送ARP Request時,bonding驅動經過ARP報文複製並保存節點的IP信息。當從其餘節點接收到ARP Reply,bonding驅動獲取節點的硬件地址而且會迴應一個包含綁定好的slave的硬件地址的ARP Reply給發送的節點。用ARP協商的負載均衡的有一個問題是每次用bond的硬件地址廣播ARP報文,那麼其餘節點發送的數據所有集中在一個slave上,處理ARP更新給其餘全部節點的時候,每一個節點會從新學習硬件地址,致使流量從新分配。當新加入一個slave或者一個非激活的slave從新激活的時候也會致使接收流量從新分配。接收流量負載是串行(輪轉)的分配在bond的一組速率最高的slave上。
  當一個鏈路重連或者一個新的slave加入的時候,bond會從新初始化ARP Replies給全部的客戶端。updelay參數的值必須等於或者大於交換機的forwarding delay,以避免ARP Replies被交換機阻塞。
  先決條件:
  1.每一個slave的基本驅動支持Ehtool獲取速率狀態。
  2. 基本驅動支持當設備打開時從新設置硬件地址。也要求每個slave具備惟一的硬件地址。若是curr_active_slave失敗,它的硬件地址被新選上的curr_active_slave硬件地址來替換。
 
在CentOS上配置Bond0和Bond1:
 
首先要看linux是否支持bonding,RHEL4已經默認支持了.(大部分發行版都支持)
# modinfo bonding
 
filename:       /lib/modules/2.6.18-8.el5/kernel/drivers/net/bonding/bonding.ko
author:         Thomas Davis,  tadavis@lbl.gov  and many others
de.ion:    Ethernet Channel Bonding Driver, v3.0.3
version:        3.0.3
license:        GPL
srcversion:     2547D22885C2FDF28EF7D98
若是有相似上面的信息輸出,說明已經支持了.
 
一、配置Bond 0 負載均衡
特色:
1. 雙網塊同時工做,實現負載均衡,某一網卡不正常時,不會引起網絡中斷.
2. 恢復不能正常工做的網卡時,會引起網絡中斷幾秒,而後雙網卡同時工做.
 
     1.編輯虛擬網絡接口配置文件,指定網卡IP 
    cp /etc/sysconfig/network-scripts/ifcfg-lo ifcfg-bond0
vi  ifcfg-bond0
 
DEVICE=bond0
IPADDR=10.10.10.1
NETMASK=255.255.255.0
NETWORK=10.10.10.0
BROADCAST=10.10.10.255
ONBOOT=yes
BOOTPROTO=none
USERCTL=no
GATEWAY=192.168.0.1
 
2.在bond0上添加網關,是確保默認路由無端障
[root@Linux ~]# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
10.0.0.0        *               255.255.255.0   U     0      0        0 bond0
10.0.0.0        *               255.255.255.0   U     0      0        0 eth0
10.0.0.0        *               255.255.255.0   U     0      0        0 eth1
169.254.0.0     *               255.255.0.0     U     0      0        0 bond0
default         10.0.0.1        0.0.0.0         UG    0      0        0 bond0
 
vi  ifcfg-eth0
 
DEVICE=eth0
BOOTPROTO=none
ONBOOT=yes
USERCTL=no
MASTER=bond0
SLAVE=yes
 
vi  ifcfg-eth1
 
DEVICE=eth1
BOOTPROTO=none
ONBOOT=yes
USERCTL=no
MASTER=bond0
SLAVE=yes
 
3 # vi /etc/modprobe.conf
 
編輯/etc/modprobe.conf 文件,加入以下一行內容,以使系統在啓動時加載bonding模塊,對外虛擬網絡接口設備爲 bond0 
 
加入下列兩行 
alias bond0 bonding 
options bond0 miimon=100 mode=0 
 
說明:
miimon是用來進行鏈路監測的。 好比:miimon=100,那麼系統每100ms監測一次鏈路鏈接狀態,若是有一條線路不通就轉入另外一條線路;
 
mode的值表示工做模式,他共有0,1,2,3四種模式,經常使用的爲0,1兩種。
   mode=0表示load balancing (round-robin)爲負載均衡方式,兩塊網卡都工做。
   mode=1表示fault-tolerance (active-backup)提供冗餘功能,工做方式是主備的工做方式,也就是說默認狀況下只有一塊網卡工做,另外一塊作備份. 
 
4 # vi /etc/rc.d/rc.local 
 
加入如下內容 
# 僅在熱備模式下,eht0 eth1網卡的工做順序.
 
ifenslave bond0 eth0 eth1 
 
到這時已經配置完畢從新啓動機器.
重啓會看見如下信息就表示配置成功了
................ 
Bringing up interface bond0 OK 
Bringing up interface eth0 OK 
Bringing up interface eth1 OK
 
二、配置Bond 1 熱備模式
特色:
1. 正在工做的網卡不正常後,切換到備用網卡,此時會中間幾秒鐘
2. 恢復不正常的網卡時,不會引起網絡中斷.
 
其餘步驟一致,只在第3步驟,將mode設置成1便可.
alias bond0 bonding 
options bond0 miimon=100 mode=1
相關文章
相關標籤/搜索