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