一、keepalived簡(jiǎn)介:
為佳木斯等地區(qū)用戶提供了全套網(wǎng)頁(yè)設(shè)計(jì)制作服務(wù),及佳木斯網(wǎng)站建設(shè)行業(yè)解決方案。主營(yíng)業(yè)務(wù)為成都網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站、佳木斯網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠(chéng)的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會(huì)得到認(rèn)可,從而選擇與我們長(zhǎng)期合作。這樣,我們也可以走得更遠(yuǎn)!
1、什么是keepalived?
keepalived起初是為lvs設(shè)計(jì)的而保證集群高可用的一個(gè)服務(wù)軟件,用來(lái)檢測(cè)服務(wù)器的狀態(tài)以及l(fā)oadbbalance主機(jī)和backup主機(jī)之間的failover(故障切換)防止單點(diǎn)故障。在集群當(dāng)中如果有一臺(tái)服務(wù)器宕機(jī)或工作出現(xiàn)故障,keepalived將檢測(cè)到并將有故障的服務(wù)器踢出集群,同時(shí)讓其他服務(wù)器來(lái)代替該服務(wù)器的工作,當(dāng)服務(wù)器恢復(fù)正常后keepalived自動(dòng)將該服務(wù)器加入到集群中,完全不需要人工干涉,只需要做好相關(guān)配置,并修復(fù)有故障的服務(wù)器即可。
2、keepalived的工作狀態(tài):
keepalived是以vrrp(virtual router redundancy protocol)協(xié)議,即虛擬路由冗余協(xié)議實(shí)現(xiàn)的。vrrp是實(shí)現(xiàn)路由器高可用的協(xié)議,將多臺(tái)提供相同服務(wù)的路由器組成一個(gè)路由組,組內(nèi)有一個(gè)主路由和多個(gè)備份路由組成。master使用組內(nèi)的VIP(虛擬IP)對(duì)外提供服務(wù),master使用組播地址224.0.0.18向backup發(fā)送vrrp通告。當(dāng)backup收不到master發(fā)送的vrrp通告時(shí),就認(rèn)為master宕機(jī)了。通過(guò)vrrp的優(yōu)先級(jí)在backup中重啟選舉一個(gè)優(yōu)先級(jí)高的當(dāng)做master對(duì)外提供服務(wù)。這樣就保證了路由的高可用。
keepalived是一個(gè)類似于layer3, 4 & 7交換機(jī)制的軟件,即IP/TCP協(xié)議棧的IP、TCP及應(yīng)用層。
layer3工作原理:此時(shí)keepalived工作在IP/TCP協(xié)議棧的中IP層。以服務(wù)器的IP地址作為服務(wù)器工作正常與否的標(biāo)準(zhǔn),master通過(guò)組播定期發(fā)送ICMP數(shù)據(jù)包,如果發(fā)現(xiàn)有返回異常的IP,keepalived將認(rèn)為這臺(tái)服務(wù)器失效,并提出服務(wù)器群
layer4工作原理:此時(shí)keepalived工作在IP/TCP協(xié)議棧的中TCP層。以服務(wù)提供的TCP端口的狀態(tài)來(lái)決定服務(wù)器的工作是否正常,如果檢測(cè)到端口監(jiān)聽(tīng)異常,則keepalived將把這臺(tái)服務(wù)器從服務(wù)器群中踢出。
layer7工作原理:此時(shí)keepalived工作在IP/TCP協(xié)議棧的中應(yīng)用層。相比較來(lái)說(shuō)比layer3、layer4要負(fù)責(zé),網(wǎng)絡(luò)占用帶寬也要大一些,使用也相對(duì)較少。keepalived將根據(jù)用戶自己的設(shè)定配置檢查服務(wù)程序是否正常,如果跟用戶設(shè)定不相符,則將視為服務(wù)器存在異常并將踢出服務(wù)器群。
4、keepalived的模塊
keepalived主要有core、check和vrrp三個(gè)模塊 。core模塊為keepalived的核心,負(fù)責(zé)主進(jìn)程的啟動(dòng)、維護(hù)以及全局配置文件的加載和解析。check負(fù)責(zé)健康檢查,包括常見(jiàn)的各種檢查方式。vrrp模塊是來(lái)實(shí)現(xiàn)VRRP協(xié)議的。
5、keepalived的配置文件
一個(gè)功能比較完整的keepalived 的配置文件,其配置文件keepalived.conf 可以包含三個(gè)文本塊:全局定義塊(global_defs)、VRRP實(shí)例定義塊(vrrp_instance)及虛擬服務(wù)器定義塊(virtual_server)。全局定義塊和虛擬服務(wù)器定義塊是必須的,如果在只有一個(gè)負(fù)載均衡器的場(chǎng)合,就不須VRRP 實(shí)例定義塊。
二、部署keepalived服務(wù)
1、在編譯安裝keepalived之前,首先安裝keepalived所需要依賴的庫(kù)文件:
[root@node1 ~]# yum -y install popt-devel kernel-devel openssl-devel gcc-c++ libnl-devel libnl3-devel libnfnetlink-devel
2、下載keepalived源碼壓縮包。:
下載地址: http://www.keepalived.org/software/keepalived-1.3.5.tar.gz
[root@node1 ~]# wget http://www.keepalived.org/software/keepalived-1.3.5.tar.gz
3、安裝keepalived:
在編譯的時(shí)候使用指定的內(nèi)核庫(kù)并指定安裝目錄為/目錄可以省去很多麻煩的鏈接。這樣就可以在安裝完成之后直接使用keepalived服務(wù)了
[root@node1 ~]# tar zxf keepalived-1.3.5.tar.gz [root@node1 ~]# cd keepalived-1.3.5 [root@node1 keepalived-1.3.5]# ./configure --prefix=/ --with-kernel-dir=/usr/src/kernels/3.10.0-514.21.1.el7.x86_64/include/ [root@node1 keepalived-1.3.5]# make [root@node1 keepalived-1.3.5]# make install
4.安裝完成。
keepalived配置文件位置:/etc/keepalived 下的keepalived.conf 目錄下有samples子目錄為各種模板文件。 執(zhí)行程序位置:/usr/sbin/keepalived 。啟動(dòng)腳本已經(jīng)自動(dòng)添加系統(tǒng)了??梢灾苯邮褂胹ystemctl命令執(zhí)行啟動(dòng)。