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ù),從而保證了高可用性。
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源碼包:
這個(gè)是我們的 編譯結(jié)果:
然后我們進(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)接管。
然后我們打開(kāi)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源,設(shè)置成如下所示:
在兩個(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)境中也是非常常見(jiàn)的。
-
Linux
+關(guān)注
關(guān)注
87文章
11292瀏覽量
209322 -
服務(wù)器集群
+關(guān)注
關(guān)注
0文章
3瀏覽量
1498
原文標(biāo)題:linux高級(jí)技巧:服務(wù)器集群之keepalived
文章出處:【微信號(hào):magedu-Linux,微信公眾號(hào):馬哥Linux運(yùn)維】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論