小巧的ifenslave負載均衡工具
ifenslave不知道有沒有朋友了解呢?它是一款linux下的負載均衡工具,那么現在我們就來簡單說一下這個ifenslave負載均衡工具吧。根據我們前面的網卡負載平衡設置,這個工具中的改動原理也很簡單,有些類似。這款工具是一種粘合和分離式的軟件,可以將數據包有效的分配,通常結合交換機和路由使用。
工作原理很簡單,我舉個例子,不一定成功,但能說明原理:建一個組,把eth0和eth1加進去
#ifenslave bond0 eth0
#ifenslave bond0 eth1
#ifconfig bond0 [ip] [submark]
這個時候會新建一個bond0虛擬設備,使用我設置的IP地址,這個時候eth0和eth1工作模式變成了混雜模式,什么數據都收。但數據過來之后由 ifenslave的底層驅動來作負載均衡,決定哪些數據規組里面的哪個成員(eth0,eth1)處理。
大家在注意這個解決方案的配置文件,其中有一句:
options bond0 miimon=100 mode=1
使用這個ifenslave負載均衡工具達到平衡的目的,應該是0,1是熱備狀態。
miimon是毫秒數,每100毫秒觸發檢測線路穩定性的事件。
mode= 是ifenslave的工作狀態。
一共有7種方式:
=0: (balance-rr) Round-robin policy: (平衡掄循環策略):傳輸數據包順序是依次傳輸,直到最后一個傳輸完畢, 此模式提供負載平衡和容錯能力。
=1: (active-backup) Active-backup policy:(主-備份策略):只有一個設備處于活動狀態。 一個宕掉另一個馬上由備份轉換為主設備。mac地址是外部可見得。 此模式提供了容錯能力。
=2:(balance-xor) XOR policy:(廣播策略):將所有數據包傳輸給所有接口。 此模式提供了容錯能力。
=3:(balance-xor) XOR policy:(平衡策略): 傳輸根據原地址布爾值選擇傳輸設備。 此模式提供負載平衡和容錯能力。
=4:(802.3ad) IEEE 802.3ad Dynamic link aggregation.IEEE 802.3ad 動態鏈接聚合:創建共享相同的速度和雙工設置的聚合組。
=5:(balance-tlb) Adaptive transmit load balancing(適配器傳輸負載均衡):沒有特殊策略,第一個設備傳不通就用另一個設備接管第一個設備正在處理的mac地址,幫助上一個傳。
=6:(balance-alb) Adaptive load balancing:(適配器傳輸負載均衡):大致意思是包括mode5,bonding驅動程序截獲 ARP 在本地系統發送出的請求,用其中之一的硬件地址覆蓋從屬設備的原地址。就像是在服務器上不同的人使用不同的硬件地址一樣。
這款負載均衡工具的7種工作方式。