keepalived結(jié)合nginx實現(xiàn)nginx高可用的方法-創(chuàng)新互聯(lián)

1.簡介

創(chuàng)新互聯(lián)-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價比射洪網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式射洪網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋射洪地區(qū)。費用合理售后完善,十多年實體公司更值得信賴。

Keepalived 是一個基于VRRP協(xié)議來實現(xiàn)的LVS服務(wù)高可用方案,可以利用其來避免單點故障。一個LVS服務(wù)會有2臺服務(wù)器運行Keepalived,一臺為主服務(wù)器(MASTER),一臺為備份服務(wù)器(BACKUP),但是對外表現(xiàn)為一個虛擬IP,主服務(wù)器會發(fā)送特定的消息給備份服務(wù)器,當(dāng)備份服務(wù)器收不到這個消息的時候,即主服務(wù)器宕機的時候, 備份服務(wù)器就會接管虛擬IP,繼續(xù)提供服務(wù),從而保證了高可用性。Keepalived是VRRP的完美實現(xiàn),因此在介紹keepalived之前,先介紹一下VRRP的原理。

1.VRRP 協(xié)議簡介

在現(xiàn)實的網(wǎng)絡(luò)環(huán)境中,兩臺需要通信的主機大多數(shù)情況下并沒有直接的物理連接。對于這樣的情況,它們之間路由怎樣選擇?主機如何選定到達(dá)目的主機的下一跳路由,這個問題通常的解決方法有二種:

  1. 在主機上使用動態(tài)路由協(xié)議(RIP、OSPF等)
  2. 在主機上配置靜態(tài)路由

很明顯,在主機上配置動態(tài)路由是非常不切實際的,因為管理、維護成本以及是否支持等諸多問題。配置靜態(tài)路由就變得十分流行,但路由器(或者說默認(rèn)網(wǎng)關(guān)default gateway)卻經(jīng)常成為單點故障。VRRP的目的就是為了解決靜態(tài)路由單點故障問題,VRRP通過一競選(election)協(xié)議來動態(tài)的將路由任務(wù)交給LAN中虛擬路由器中的某臺VRRP路由器。

2.VRRP 工作機制

在一個VRRP虛擬路由器中,有多臺物理的VRRP路由器,但是這多臺的物理的機器并不能同時工作,而是由一臺稱為MASTER的負(fù)責(zé)路由工作,其它的都是BACKUP,MASTER并非一成不變,VRRP讓每個VRRP路由器參與競選,最終獲勝的就是MASTER。MASTER擁有一些特權(quán),比如,擁有虛擬路由器的IP地址,我們的主機就是用這個IP地址作為靜態(tài)路由的。擁有特權(quán)的MASTER要負(fù)責(zé)轉(zhuǎn)發(fā)發(fā)送給網(wǎng)關(guān)地址的包和響應(yīng)ARP請求。

VRRP通過競選協(xié)議來實現(xiàn)虛擬路由器的功能,所有的協(xié)議報文都是通過IP多播(multicast)包(多播地址224.0.0.18)形式發(fā)送的。虛擬路由器由VRID(范圍0-255)和一組IP地址組成,對外表現(xiàn)為一個周知的MAC地址。所以,在一個虛擬路由 器中,不管誰是MASTER,對外都是相同的MAC和IP(稱之為VIP)??蛻舳酥鳈C并不需要因為MASTER的改變而修改自己的路由配置,對客戶端來說,這種主從的切換是透明的。

在一個虛擬路由器中,只有作為MASTER的VRRP路由器會一直發(fā)送VRRP通告信息(VRRPAdvertisement message),BACKUP不會搶占MASTER,除非它的優(yōu)先級(priority)更高。當(dāng)MASTER不可用時(BACKUP收不到通告信息), 多臺BACKUP中優(yōu)先級最高的這臺會被搶占為MASTER。這種搶占是非常快速的(<1s),以保證服務(wù)的連續(xù)性。由于安全性考慮,VRRP包使用了加密協(xié)議進(jìn)行加密。

3.VRRP 工作流程

(1).初始化:

路由器啟動時,如果路由器的優(yōu)先級是255(最高優(yōu)先級,路由器擁有路由器地址),要發(fā)送VRRP通告信息,并發(fā)送廣播ARP信息通告路由器IP地址對應(yīng)的MAC地址為路由虛擬MAC,設(shè)置通告信息定時器準(zhǔn)備定時發(fā)送VRRP通告信息,轉(zhuǎn)為MASTER狀態(tài);否則進(jìn)入BACKUP狀態(tài),設(shè)置定時器檢查定時檢查是否收到MASTER的通告信息。

(2).Master

  1. 設(shè)置定時通告定時器;
  2. 用VRRP虛擬MAC地址響應(yīng)路由器IP地址的ARP請求;
  3. 轉(zhuǎn)發(fā)目的MAC是VRRP虛擬MAC的數(shù)據(jù)包;
  4. 如果是虛擬路由器IP的擁有者,將接受目的地址是虛擬路由器IP的數(shù)據(jù)包,否則丟棄;
  5. 當(dāng)收到shutdown的事件時刪除定時通告定時器,發(fā)送優(yōu)先權(quán)級為0的通告包,轉(zhuǎn)初始化狀態(tài);
  6. 如果定時通告定時器超時時,發(fā)送VRRP通告信息;
  7. 收到VRRP通告信息時,如果優(yōu)先權(quán)為0,發(fā)送VRRP通告信息;否則判斷數(shù)據(jù)的優(yōu)先級是否高于本機,或相等而且實際IP地址大于本地實際IP,設(shè)置定時通告定時器,復(fù)位主機超時定時器,轉(zhuǎn)BACKUP狀態(tài);否則的話,丟棄該通告包;

(3).Backup

  1. 設(shè)置主機超時定時器;
  2. 不能響應(yīng)針對虛擬路由器IP的ARP請求信息;
  3. 丟棄所有目的MAC地址是虛擬路由器MAC地址的數(shù)據(jù)包;
  4. 不接受目的是虛擬路由器IP的所有數(shù)據(jù)包;
  5. 當(dāng)收到shutdown的事件時刪除主機超時定時器,轉(zhuǎn)初始化狀態(tài);
  6. 主機超時定時器超時的時候,發(fā)送VRRP通告信息,廣播ARP地址信息,轉(zhuǎn)MASTER狀態(tài);
  7. 收到VRRP通告信息時,如果優(yōu)先權(quán)為0,表示進(jìn)入MASTER選舉;否則判斷數(shù)據(jù)的優(yōu)先級是否高于本機,如果高的話承認(rèn)MASTER有效,復(fù)位主機超時定時器;否則的話,丟棄該通告包;

4.ARP查詢處理

當(dāng)內(nèi)部主機通過ARP查詢虛擬路由器IP地址對應(yīng)的MAC地址時,MASTER路由器回復(fù)的MAC地址為虛擬的VRRP的MAC地址,而不是實際網(wǎng)卡的 MAC地址,這樣在路由器切換時讓內(nèi)網(wǎng)機器覺察不到;而在路由器重新啟動時,不能主動發(fā)送本機網(wǎng)卡的實際MAC地址。如果虛擬路由器開啟的ARP代理 (proxy_arp)功能,代理的ARP回應(yīng)也回應(yīng)VRRP虛擬MAC地址。

2.搭建環(huán)境

1.服務(wù)器1:10.63.0.154  安裝keeplived并設(shè)置priority 優(yōu)先值為100
2.服務(wù)器2:10.63.0.155  安裝keeplived并設(shè)置priority 優(yōu)先值為98
3.設(shè)置兩臺服務(wù)器對應(yīng)的虛擬ip為:10.63.0.158

3.安裝keepalived主節(jié)點

本次安裝keepalived采用yum的模式,在服務(wù)器1上安裝,主要操作步驟如下:

1.安裝ipvsadm,指令:yum install ipvsadm,安裝完成后,可通過指令ipvsadm –v查看版本號。
2.安裝keepalived,指令:yum install keepalived,安裝完成后,可通過指令Keepalived –v查看版本號。
3.創(chuàng)建/usr/local/nginx/nginx_check.sh腳本。腳本內(nèi)容如下:

#!/bin/bash
#判斷nginx服務(wù)是否啟動,如果不存在,調(diào)用nginx啟用命令,并停止2秒,若#啟動失敗,殺掉keepalived
A=`ps -C nginx --no-header |wc -l`
if [ $A -eq 0 ];then 
 /usr/sbin/nginx
 sleep 2
 if [ `ps -C nginx --no-header |wc -l` -eq 0 ];then
  killall keepalived
 fi
fi

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。

網(wǎng)站欄目:keepalived結(jié)合nginx實現(xiàn)nginx高可用的方法-創(chuàng)新互聯(lián)
分享路徑:http://muchs.cn/article6/psoog.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供動態(tài)網(wǎng)站服務(wù)器托管、定制網(wǎng)站App開發(fā)、用戶體驗、面包屑導(dǎo)航

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

綿陽服務(wù)器托管