Linux下多網卡bond 7種模式

七種bond模式說明:

第一種模式:mod=0 猾蒂,即:(balance-rr) Round-robin policy(平衡掄循環(huán)策略)

特點:傳輸數(shù)據(jù)包順序是依次傳輸(即:第1個包走eth0婚夫,下一個包就走eth1….一 直循環(huán)下去案糙,直到最后一個傳輸完畢)靴庆,此模式提供負載平衡和容錯能力;但是我們知道如果一個連接或者會話的數(shù)據(jù)包從不同的接口發(fā)出的話奢讨,中途再經過不同的 鏈路拿诸,在客戶端很有可能會出現(xiàn)數(shù)據(jù)包無序到達的問題,而無序到達的數(shù)據(jù)包需要重新要求被發(fā)送亩码,這樣網絡的吞吐量就會下降

第二種模式:mod=1描沟,即: (active-backup) Active-backup policy(主-備份策略)

特點:只有一個設備處于活動狀態(tài),當一個宕掉另一個馬上由備份轉換為主設備泞遗。mac地址是外部可見得史辙,從外面看來佩伤,bond的MAC地址是唯一的畦戒,以避免switch(交換機)發(fā)生混亂。此模式只提供了容錯能力纵潦;由此可見此算法的優(yōu)點是可以提供高網絡連接的可用性垃环,但是它的資源利用率較低遂庄,只有一個接口處于工作狀態(tài),在有 N 個網絡接口的情況下秸谢,資源利用率為1/N

第三種模式:mod=2估蹄,即:(balance-xor) XOR policy(平衡策略)

特點:基于指定的傳輸HASH策略傳輸數(shù)據(jù)包沫换。缺省的策略是:(源MAC地址 XOR 目標MAC地址) % slave數(shù)量。其他的傳輸策略可以通過xmit_hash_policy選項指定冷尉,此模式提供負載平衡和容錯能力

第四種模式:mod=3系枪,即:broadcast(廣播策略)

特點:在每個slave接口上傳輸每個數(shù)據(jù)包嗤无,此模式提供了容錯能力

第五種模式:mod=4当犯,即:(802.3ad) IEEE 802.3ad Dynamic link aggregation(IEEE 802.3ad 動態(tài)鏈接聚合)

特點:創(chuàng)建一個聚合組嚎卫,它們共享同樣的速率和雙工設定。根據(jù)802.3ad規(guī)范將多個slave工作在同一個激活的聚合體下麻昼。

外出流量的slave選舉是基于傳輸hash策略抚芦,該策略可以通過xmit_hash_policy選項從缺省的XOR策略改變到其他策略叉抡。需要注意的 是,并不是所有的傳輸策略都是802.3ad適應的季春,尤其考慮到在802.3ad標準43.2.4章節(jié)提及的包亂序問題。不同的實現(xiàn)可能會有不同的適應 性撵颊。

必要條件:

條件1:ethtool支持獲取每個slave的速率和雙工設定



條件2:switch(交換機)支持IEEE 802.3ad Dynamic link aggregation



條件3:大多數(shù)switch(交換機)需要經過特定配置才能支持802.3ad模式

第六種模式:mod=5尺碰,即:(balance-tlb) Adaptive transmit load balancing(適配器傳輸負載均衡)

特點:不需要任何特別的switch(交換機)支持的通道bonding亲桥。在每個slave上根據(jù)當前的負載(根據(jù)速度計算)分配外出流量。如果正在接受數(shù)據(jù)的slave出故障了词身,另一個slave接管失敗的slave的MAC地址法严。

該模式的必要條件:ethtool支持獲取每個slave的速率

第七種模式:mod=6深啤,即:(balance-alb) Adaptive load balancing(適配器適應性負載均衡)

特點:該模式包含了balance-tlb模式溯街,同時加上針對IPV4流量的接收負載均衡(receive load balance, rlb),而且不需要任何switch(交換機)的支持堤尾。接收負載均衡是通過ARP協(xié)商實現(xiàn)的。bonding驅動截獲本機發(fā)送的ARP應答剩蟀,并把源硬件地址改寫為bond中某個slave的唯一硬件地址育特,從而使得不同的對端使用不同的硬件地址進行通信。

來自服務器端的接收流量也會被均衡棉浸。當本機發(fā)送ARP請求時迷郑,bonding驅動把對端的IP信息從ARP包中復制并保存下來焚碌。當ARP應答從對端到達 時十电,bonding驅動把它的硬件地址提取出來鹃骂,并發(fā)起一個ARP應答給bond中的某個slave畏线。使用ARP協(xié)商進行負載均衡的一個問題是:每次廣播 ARP請求時都會使用bond的硬件地址象踊,因此對端學習到這個硬件地址后,接收流量將會全部流向當前的slave。這個問題可以通過給所有的對端發(fā)送更新 (ARP應答)來解決魂务,應答中包含他們獨一無二的硬件地址鬓照,從而導致流量重新分布孤紧。當新的slave加入到bond中時号显,或者某個未激活的slave重新 激活時蔑歌,接收流量也要重新分布次屠。接收的負載被順序地分布(round robin)在bond中最高速的slave上

當某個鏈路被重新接上帅矗,或者一個新的slave加入到bond中浑此,接收流量在所有當前激活的slave中全部重新分配凛俱,通過使用指定的MAC地址給每個 client發(fā)起ARP應答朱监。下面介紹的updelay參數(shù)必須被設置為某個大于等于switch(交換機)轉發(fā)延時的值赫编,從而保證發(fā)往對端的ARP應答 不會被switch(交換機)阻截擂送。

必要條件:

條件1:ethtool支持獲取每個slave的速率嘹吨;

條件2:底層驅動支持設置某個設備的硬件地址,從而使得總是有個slave(curr_active_slave)使用bond的硬件地址萍聊,同時保證每個bond 中的slave都有一個唯一的硬件地址。如果curr_active_slave出故障牛隅,它的硬件地址將會被新選出來的 curr_active_slave接管

其實mod=6與mod=0的區(qū)別:mod=6媒佣,先把eth0流量占滿欢嘿,再占eth1炼蹦,….ethX掐隐;而mod=0的話匿刮,會發(fā)現(xiàn)2個口的流量都很穩(wěn)定熟丸,基本一樣的帶寬。而mod=6纱兑,會發(fā)現(xiàn)第一個口流量很高总珠,第2個口只占了小部分流量

Linux網口綁定

通過網口綁定(bond)技術,可以很容易實現(xiàn)網口冗余局服,負載均衡淫奔,從而達到高可用高可靠的目的鸭丛。

前提約定:

2個物理網口分別是:eth0,eth1

綁定后的虛擬口是:bond0

服務器IP是:192.168.0.100

第一步鳞溉,配置設定文件:

/etc/sysconfig/network-scripts/ifcfg-bond0



DEVICE=bond0



BOOTPROTO=none



ONBOOT=yes



IPADDR=192.168.0.100



NETMASK=255.255.255.0



NETWORK=192.168.0.0



BROADCAST=192.168.0.255

BROADCAST廣播地址

/etc/sysconfig/network-scripts/ifcfg-eth0



DEVICE=eth0



BOOTPROTO=none



MASTER=bond0



SLAVE=yes



/etc/sysconfig/network-scripts/ifcfg-eth1



DEVICE=eth1



BOOTPROTO=none



MASTER=bond0



SLAVE=yes

第二步熟菲,修改modprobe相關設定文件允蚣,并加載bonding模塊:

1.在這里嚷兔,我們直接創(chuàng)建一個加載bonding的專屬設定文件/etc/modprobe.d/bonding.conf

[root@test ~]# vi /etc/modprobe.d/bonding.conf

追加

alias bond0 bonding



options bonding mode=0 miimon=200

2.加載模塊(重啟系統(tǒng)后就不用手動再加載了)

[root@test ~]# modprobe bonding

3.確認模塊是否加載成功:

[root@test ~]# lsmod | grep bonding



bonding 100065 0

第三步谴垫,重啟一下網絡翩剪,然后確認一下狀況:

[root@test ~]# /etc/init.d/network restart



[root@test ~]# cat /proc/net/bonding/bond0



Ethernet Channel Bonding Driver: v3.5.0 (November 4, 2008)



Bonding Mode: fault-tolerance (active-backup)



Primary Slave: None



Currently Active Slave: eth0



……



 [root@test ~]# ifconfig | grep HWaddr



bond0 Link encap:Ethernet HWaddr 00:16:36:1B:BB:74



eth0 Link encap:Ethernet HWaddr 00:16:36:1B:BB:74



eth1 Link encap:Ethernet HWaddr 00:16:36:1B:BB:74

從上面的確認信息中秫逝,我們可以看到3個重要信息:

1.現(xiàn)在的bonding模式是active-backup

2.現(xiàn)在Active狀態(tài)的網口是eth0

3.bond0,eth1的物理地址和處于active狀態(tài)下的eth0的物理地址相同违帆,這樣是為了避免上位交換機發(fā)生混亂刷后。

任意拔掉一根網線尝胆,然后再訪問你的服務器含衔,看網絡是否還是通的贪染。

第四步哟绊,系統(tǒng)啟動自動綁定匿情、增加默認網關:

[root@test ~]# vi /etc/rc.d/rc.local

追加

ifenslave bond0 eth0 eth1



route add default gw 192.168.0.1

如可上網就不用增加路由炬称,0.1地址按環(huán)境修改.


留心:前面只是2個網口綁定成一個bond0的情況据德,如果我們要設置多個bond口,比如物理網口eth0和eth1組成bond0朽缴,eth2和eth3組成bond1密强,

那么網口設置文件的設置方法和上面第1步講的方法相同系冗,只是/etc/modprobe.d/bonding.conf的設定就不能像下面這樣簡單的疊加了:

alias bond0 bonding



options bonding mode=1 miimon=200



alias bond1 bonding



options bonding mode=1 miimon=200

正確的設置方法有2種:

第一種,你可以看到,這種方式的話奔害,多個bond口的模式就只能設成相同的了:

alias bond0 bonding



alias bond1 bonding



options bonding max_bonds=2 miimon=200 mode=1

第二種拄养,這種方式瘪匿,不同的bond口的mode可以設成不一樣:

alias bond0 bonding



options bond0 miimon=100 mode=1



install bond1 /sbin/modprobe bonding -o bond1 miimon=200 mode=0

仔細看看上面這2種設置方法核偿,現(xiàn)在如果是要設置3個漾岳,4個左腔,甚至更多的bond口捅儒,你應該也會了吧鞭莽!

后記:簡單的介紹一下上面在加載bonding模塊的時候澎怒,options里的一些參數(shù)的含義:

miimon 監(jiān)視網絡鏈接的頻度丹拯,單位是毫秒,我們設置的是200毫秒咬像。

max_bonds 配置的bond口個數(shù)

mode bond模式县昂,主要有以下幾種倒彰,在一般的實際應用中,0和1用的比較多创淡,

如果你要深入了解這些模式各自的特點就需要靠讀者你自己去查資料并做實踐了琳彩。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市辉词,隨后出現(xiàn)的幾起案子瑞躺,更是在濱河造成了極大的恐慌,老刑警劉巖捞镰,帶你破解...
    沈念sama閱讀 211,194評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件凸丸,死亡現(xiàn)場離奇詭異屎慢,居然都是意外死亡腻惠,警方通過查閱死者的電腦和手機集灌,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,058評論 2 385
  • 文/潘曉璐 我一進店門寂恬,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人牙咏,你說我怎么就攤上這事摔握《〖模” “怎么了?”我有些...
    開封第一講書人閱讀 156,780評論 0 346
  • 文/不壞的土叔 我叫張陵盛正,是天一觀的道長屑埋。 經常有香客問我,道長续崖,這世上最難降的妖魔是什么团搞? 我笑而不...
    開封第一講書人閱讀 56,388評論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮著蟹,結果婚禮上梢莽,老公的妹妹穿的比我還像新娘。我一直安慰自己昏名,他們只是感情好,可當我...
    茶點故事閱讀 65,430評論 5 384
  • 文/花漫 我一把揭開白布洪鸭。 她就那樣靜靜地躺著仑扑,像睡著了一般蜓竹。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,764評論 1 290
  • 那天誊辉,我揣著相機與錄音远豺,去河邊找鬼。 笑死裁蚁,一個胖子當著我的面吹牛室谚,可吹牛的內容都是我干的憎瘸。 我是一名探鬼主播痊项,決...
    沈念sama閱讀 38,907評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼漱逸,長吁一口氣:“原來是場噩夢啊……” “哼袋坑!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 37,679評論 0 266
  • 序言:老撾萬榮一對情侶失蹤燥翅,失蹤者是張志新(化名)和其女友劉穎拄氯,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體典唇,經...
    沈念sama閱讀 44,122評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,459評論 2 325
  • 正文 我和宋清朗相戀三年绸栅,在試婚紗的時候發(fā)現(xiàn)自己被綠了辰企。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片十减。...
    茶點故事閱讀 38,605評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖并炮,靈堂內的尸體忽然破棺而出伍俘,到底是詐尸還是另有隱情妨退,我是刑警寧澤萍丐,帶...
    沈念sama閱讀 34,270評論 4 329
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響纳猪,放射性物質發(fā)生泄漏鼠锈。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,867評論 3 312
  • 文/蒙蒙 一铭乾、第九天 我趴在偏房一處隱蔽的房頂上張望泉沾。 院中可真熱鬧俊马,春花似錦、人聲如沸索守。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,734評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽疚俱。三九已至婶溯,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,961評論 1 265
  • 我被黑心中介騙來泰國打工旁瘫, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留宁仔,地道東北人权埠。 一個月前我還...
    沈念sama閱讀 46,297評論 2 360
  • 正文 我出身青樓事哭,卻偏偏與公主長得像,于是被迫代替她去往敵國和親蓄坏。 傳聞我的和親對象是個殘疾皇子渔彰,可洞房花燭夜當晚...
    茶點故事閱讀 43,472評論 2 348

推薦閱讀更多精彩內容