Linux Bonding 模式詳解

Linux Bonding默認使用輪轉策略。
基本類別是主備模式與負載均衡兩種模式:

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硬件地址來替換。

本文轉載自Sina萬王之王Blog:http://blog.sina.com.cn/wugangyu

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章