×

服務(wù)器集群之keepalived

  • 作者:新網(wǎng)
  • 來(lái)源:新網(wǎng)
  • 瀏覽:100
  • 2018-05-07 18:18:24

Keepalived是一個(gè)基于VRRP協(xié)議來(lái)實(shí)現(xiàn)的WEB服務(wù)高可用方案,可以利用其來(lái)避免單點(diǎn)故障。使用多臺(tái)節(jié)點(diǎn)安裝keepalived。其他的節(jié)點(diǎn)用來(lái)提供真實(shí)的服務(wù),同樣的,他們對(duì)外表現(xiàn)一個(gè)虛擬的IP。主服務(wù)器宕機(jī)的時(shí)候,備份服務(wù)器就會(huì)接管虛擬IP,繼續(xù)提供服務(wù),從而保證了高可用性。

 Keepalived是一個(gè)基于VRRP協(xié)議來(lái)實(shí)現(xiàn)的WEB服務(wù)高可用方案,可以利用其來(lái)避免單點(diǎn)故障。使用多臺(tái)節(jié)點(diǎn)安裝keepalived。其他的節(jié)點(diǎn)用來(lái)提供真實(shí)的服務(wù),同樣的,他們對(duì)外表現(xiàn)一個(gè)虛擬的IP。主服務(wù)器宕機(jī)的時(shí)候,備份服務(wù)器就會(huì)接管虛擬IP,繼續(xù)提供服務(wù),從而保證了高可用性。

<div
timg.jpg
1.keepalived的原理圖如下所示:
 
最左邊是客戶機(jī),它訪問(wèn)我們的虛擬IP。然后我們有master(主控制節(jié)點(diǎn))和backup(備用控制節(jié)點(diǎn))。最右邊的就是我們提供服務(wù)的真機(jī)了。
 
2.搭建keepalived服務(wù)
 
我們使用四個(gè)節(jié)點(diǎn)來(lái)做這個(gè)實(shí)驗(yàn),兩個(gè)充當(dāng)控制節(jié)點(diǎn),另外兩個(gè)提供服務(wù)。然后用真機(jī)的瀏覽器訪問(wèn)虛擬IP。
 
注意事項(xiàng):
 
(1).所有節(jié)點(diǎn)要做好解析。
 
(2).時(shí)間同步
 
(3).yum源設(shè)置好(除了基本的源,高可用等也要添加)
 
如圖是我們的操作控制臺(tái):
 
keepalived的安裝包為:
 
keepalived-1.2.13.tar.gz
 
兩個(gè)控制節(jié)點(diǎn)分別解壓和編譯、安裝keepalived;
 
在編譯keepalived之前我們需要安裝一些相關(guān)的包;
 
編譯keepalived源碼包;
 
然后我們進(jìn)行安裝;
 
上述的步驟在兩個(gè)控制節(jié)點(diǎn)上都要進(jìn)行,最后在配置文件中我們?cè)僭O(shè)定主副節(jié)點(diǎn)。
 
建立軟鏈接,把keepalived的配置文件和服務(wù)啟動(dòng)文件鏈接到指定位置:
 
設(shè)置配置文件:
 
我們?cè)O(shè)置了郵件的發(fā)送地址和ip,MASTER制定為主控制節(jié)點(diǎn),虛擬id兩個(gè)節(jié)點(diǎn)必須相同。delay_loop 指定6秒檢測(cè)服務(wù)狀態(tài)。
 
設(shè)置虛擬ip,這是我們客戶機(jī)訪問(wèn)的IP。
 
這個(gè)是剩余的配置文件內(nèi)容,我們?cè)O(shè)置連接方式為直連方式DR,負(fù)載策略為輪叫方式rr,協(xié)議威TCP。然后我們?cè)O(shè)置了兩個(gè)提供服務(wù)節(jié)點(diǎn)的IP和端口。分別為192.168.2.108和192.168.2.109的80端口。也就是網(wǎng)頁(yè)訪問(wèn)服務(wù)。
 
然后我們?cè)O(shè)置備機(jī)的配置文件,模式設(shè)置為BACKUP,權(quán)重修改為50。這樣才可以優(yōu)先讓主控制節(jié)點(diǎn)接管。
 
然后我們打開keepalived服務(wù),并查看日志,發(fā)現(xiàn)已經(jīng)識(shí)別了192.168.2.110虛擬IP;
 
在兩個(gè)提供真機(jī)的服務(wù)節(jié)點(diǎn)上安裝arptable_jf軟件;
 
設(shè)置arptables的策略;
 
然后我們要在兩個(gè)控制節(jié)點(diǎn)上安裝ipvsadm軟件來(lái)監(jiān)控服務(wù)的狀態(tài);
 
如果無(wú)法安裝的話,查看yum源;
 
在兩個(gè)提供服務(wù)的真機(jī)上安裝httpd,設(shè)置完默認(rèn)發(fā)布內(nèi)容后啟動(dòng)服務(wù);
 
然后我們?cè)谥骺刂乒?jié)點(diǎn)上查看當(dāng)前的監(jiān)控信息;
 
在真機(jī)的瀏覽器上查看192.168.2.110的信息。因?yàn)槭禽喗胁呗裕詴?huì)輪換顯示192.168.2.108和192.168.2.109的默認(rèn)發(fā)布內(nèi)容;
 
3.小結(jié):
 
這樣我們就搭建了keepalived下的高可用集群。這個(gè)的復(fù)雜程度要低于heartbeat,在生產(chǎn)環(huán)境中也是非常常見的。
 

免責(zé)聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn)自行上傳,本網(wǎng)站不擁有所有權(quán),也不承認(rèn)相關(guān)法律責(zé)任。如果您發(fā)現(xiàn)本社區(qū)中有涉嫌抄襲的內(nèi)容,請(qǐng)發(fā)送郵件至:operations@xinnet.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),本站將立刻刪除涉嫌侵權(quán)內(nèi)容。

免費(fèi)咨詢獲取折扣

Loading