用Carp實(shí)現(xiàn)故障轉(zhuǎn)移和負(fù)載均衡集群 |
發(fā)布時(shí)間: 2012/6/21 16:02:59 |
這兩天在詳細(xì)的看man carp文檔。發(fā)現(xiàn)原來(lái)carp不僅僅可以實(shí)現(xiàn)故障轉(zhuǎn)移(failover)集群,通過(guò)簡(jiǎn)單配置還是可以先本地局域網(wǎng)的負(fù)載均衡。 carp的負(fù)載均衡使用的是arpbalance功能,從字面意思理解為使用arp的負(fù)載均衡,也就是說(shuō)是屬于osi7層模型的第二層——數(shù)據(jù)鏈路層。所以用arpbalance 只能應(yīng)用于本地局域網(wǎng),無(wú)法實(shí)現(xiàn)更高層次的balance。 其原理大致如下 兩臺(tái)億恩科技服務(wù)器a、b,分別建立兩個(gè)carp虛擬網(wǎng)卡a1、a2、b1、b2,其中a1、b1為一個(gè)carp組(即相同的vhid),其余的兩塊網(wǎng)卡為另一個(gè)carp組。在第一個(gè)carp組中a1為 master,b1為slave。在第二個(gè)carp組中,正好與此相反,a2為slave,b2為master。這兩個(gè)carp組的虛擬ip相同。 于是arpbalance就可以在這兩個(gè)組之間進(jìn)行輪轉(zhuǎn)。當(dāng)使用carp1組的時(shí)候,由于a1為master。所以此時(shí)由a提供服務(wù),當(dāng)使用carp2組的時(shí)候,由于b2為master則此時(shí)由b提 供服務(wù)。 同時(shí)輪轉(zhuǎn)算法是根據(jù)源ip地址進(jìn)行hash算法,保證同一個(gè)源地址由固定的carp組提供服務(wù),可以保證客戶端的session等應(yīng)用。 實(shí)現(xiàn)步驟如下 在億恩科技服務(wù)器a上修改配置文件 ee /etc/rc.conf #配置rc.conf文件,分別建立carp虛擬網(wǎng)卡。增加如下內(nèi)容 cloned_interfaces="carp0 carp1" ifconfig_carp0="vhid 1 advbase 5 pass passwd 192.168.1.100/24" ifconfig_carp1="vhid 2 advbase 5 advskew 100 pass passwd 192.168.1.100/24" ee /etc/sysctl.conf #修改sysctl文件啟用carp的arpbalance和carp搶占功能。增加如下內(nèi)容 net.inet.carp.preempt=1 net.inet.carp.arpbalance=1 在億恩科技服務(wù)器b上修改大致相同,只是carp網(wǎng)卡的有一點(diǎn)變動(dòng) ee /etc/rc.conf #配置rc.conf文件,分別建立carp虛擬網(wǎng)卡。增加如下內(nèi)容 cloned_interfaces="carp0 carp1" ifconfig_carp0="vhid 1 advbase 5 advskew 100 pass passwd 192.168.1.100/24" ifconfig_carp1="vhid 2 advbase 5 pass passwd 192.168.1.100/24" ee /etc/sysctl.conf #修改sysctl文件啟用carp的arpbalance和carp搶占功能。增加如下內(nèi)容 net.inet.carp.preempt=1 net.inet.carp.arpbalance=1 重啟兩臺(tái)億恩科技服務(wù)器即可生效。 本文出自:億恩科技【mszdt.com】 服務(wù)器租用/服務(wù)器托管中國(guó)五強(qiáng)!虛擬主機(jī)域名注冊(cè)頂級(jí)提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM] |