CentOS怎么配置bond

下面由centos教程欄目給大家介紹centos怎么配置bond,希望對需要的朋友有所幫助!

CentOS配置bond

一、什么是網卡綁定及簡單原理?

? ? 網卡綁定也稱作”網卡捆綁”,就是使用多塊物理網卡虛擬成為一塊網卡,以提供負載均衡或者冗余,增加帶寬的作用。當一個網卡壞掉時,不會影響業務。這個聚合起來的設備看起來是一個單獨的以太網接口設備,也就是這幾塊網卡具有相同的IP地址而并行鏈接聚合成一個邏輯鏈路工作。這種技術在Cisco等網絡公司中,被稱為Trunking和Etherchannel?技術,在linux的2.4.x的內核中把這種技術稱為bonding。?

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種模式:

1、balance-rr (mode=0)

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

2、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會影響本模式的行為。

3、balance-xor(mode=2)

XOR策略:基于所選擇的傳送hash策略。

? 本模式提供負載均衡和容錯的能力。

4、broadcast(mode=3)

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

5、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模式。? ?

6、balance-tlb(mode=5)

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

7、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

如果有類似上面的信息輸出,說明已經支持了.? ?? ?

1、配置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

2、配置Bond 1 熱備模式? ? ? ? ?

特點: ? ? ? ?

1. 正在工作的網卡不正常后,切換到備用網卡,此時會中間幾秒鐘 ? ? ? ?

2. 恢復不正常的網卡時,不會引發網絡中斷.? ? ??

?? ? ? ? ?其他步驟一致,只在第3步驟,將mode設置成1即可.? ? ? ? ?

alias?bond0?bonding? ???????? options?bond0?miimon=100?mode=1

? 版權聲明
THE END
喜歡就支持一下吧
點贊15 分享