Keepalive+Nginx高可用配置(主從)

Keepalived高可用集群

一、Keepalived介紹

Keepalived軟件主要通過VRRP協議實現高可用功能的。VRRP是Virtual Router Redundancy Protocol(虛擬路由器冗余協議)的縮寫,VRRP出現的目的就是為了解決靜態路由單點故障問題,它能夠保證當個別節點宕機時,整個網絡可以不間斷地運行。keepalived除了能夠管理LVS軟件外,還可以作為其他服務(Nginx,Haproxy、MySQL等)的高可用解決方案軟件。

二、keepalived軟件的三個主要功能

1、管理LVS負載均衡軟件

早起的LVS軟件,需要通過命令行或腳本實現管理,并且沒有針對LVS節點的健康檢查功能。為了解決LVS的這些不方便的問題,keepalived誕生了。因此keepalived跟LVS的感情很深,關系如夫妻一樣,可以緊密的結合。keepalived可以通過讀取自身的配置文件,實現通過更底層的接口直接管理LVS的配置以及控制服務的啟動、停止等功能,這使得LVS的應用更加簡單方便。

2、實現對LVS集群節點的健康檢查功能

Keepalived可以通過在自身的keepalived.conf文件里配置LVS的節點IP和相關參數實現對LVS的直接管理;除此之外,當LVS集群中的某一個甚至幾個節點服務器同時發生故障無法提供服務時,keepalived服務會自動將失效的節點服務器從LVS的正常轉發隊列清楚出去,并將請求調度到別的正常節點服務器上,保證最終用戶的訪問不受影響,故障修復以后,keepalived服務又會自動把它們加入到正常轉發隊列中。

3、作為系統網絡服務的高可用功能(failover)

keepalived可以實現任意兩臺主機之間,例如Master和Backup主機之間的故障轉移和自動切換,這個主機可以是普通的不能停機的業務服務器,也可以是LVS負載均衡、Nginx反向代理這樣的服務器。

原理就是:兩臺主機同時安好keepalived軟件并啟動服務,開始正常工作時,由角色為Master的主機獲得所有資源并對用戶提供服務,角色為Backup的主機作為Master主機的熱備;當角色為Master的主機失效或出現故障時,角色為Backup的主機將自動接管Master主機的所有工作,包括接管VIP資源及相應資源服務;而當角色為Master的主機故障修復后,又會自動接管回它原理處理的工作,角色為Backup的主機則同時釋放Master主機失效時它接管的工作,還原為最初啟動各自的角色。

三、keepalived高可用故障切換轉移原理

在Keppalived服務正常工作時,主Master節點會不斷地向備節點發送(多播的方式)心跳消息,用以告訴備Backup節點自己還活著,當主Master節點發生故障時,就無法發送心跳消息,備節點也就因此無法繼續檢測到來自主Master節點的心跳了,于是調用自身的接管程序,接管主Master節點的IP資源及服務。而當主Master節點恢復時,備Backup節點又會釋放主節點故障時自身接管的IP資源及服務,恢復到原來的備用角色。

VRRP,全稱Virtual Router Redundancy Protocol,虛擬路由冗余協議,VRRP的出現就是為了解決靜態路由的單點故障問題,VRRP是通過一種競選機制來將路由任務交給某臺VRRP路由器的。

在一組虛擬路由器中,只有作為Master的VRRP路由器會一直發送VRRP廣播包(VRRP Advertisement messages),此時Backup不會搶占Master。當Master不可用時,Backup就收不到來自Master的廣播包了,此時多臺Backup中優先級最高的路由器會搶占為Master。這種搶占非??焖俚模员WC服務的連續性,處于安全性考慮,VRRP數據包使用了加密協議進行加密。


總結就是下面四句話:

(1)VRRP,全程,Virtual Router Redundancy Protocol,中文名為虛擬路由冗余協議,VRRP的出現是為了解決靜態路由的單點故障。

(2)VRRP是通過一種競選協議機制來將路由任務交給某臺VRRP路由器的

(3)VRRP是IP多播的方式,實現高可用對之間的通信。

(4)工作時主節點發包,備節點接包,當備節點接受不到主節點發的數據包的時候,就啟動接管程序接管主節點的資源。備節點可以有多個,通過優先級競選,但一般Keepalived系統運維工作中都是一對。

(5)VRRP使用了加密協議加密數據,但keepalived官方目前還是推薦用明文的方式配置認證類型和密碼

四、Keepalived高可用服務搭建準備

(1)硬件環境:四臺虛擬機,兩臺做負載均衡器,兩臺做web服務器。

(2)web服務器前面搭建好了

(3)安裝keepalived軟件:yum install keepalived -y,在兩臺負載均衡器上都裝上。時間同步

(4)啟動:systemctl start keepalived.service

(5)配置主的文件/etc/keepalived/keepalived.conf

(6)全局定義部分可以不配,實際工作中交給更擅長監控報警的zabbix或者nagios來管

主的

Keepalive+Nginx高可用配置(主從)

備份的

Keepalive+Nginx高可用配置(主從)

測試,主的開啟keepalived和禁用

19.jpg

20.jpg

然后將主的keepalived關掉,用curl測試:

18.jpg

主主的區別如下,電腦內存太小,只有4g,跑了4太虛擬機太卡,上傳張圖片幾分鐘,不折騰了。

21.jpg

原創文章,作者:N24_yezi,如若轉載,請注明出處:http://www.www58058.com/65402

(10)
N24_yeziN24_yezi
上一篇 2016-12-30
下一篇 2016-12-31

相關推薦

  • centos6.9的安裝

    先準備一個安裝虛擬機的的軟件VMware Workstation Pro和光盤centos6.9和光盤 然后打開該軟件,點擊創建新的虛擬機   然后會出現一個新建虛擬機向導,選擇典型,點下一步 繼續點下一步   把虛擬機名稱改成所裝的版本 然后新建一個文件夾,點擊瀏覽,接著點擊這個新建的文件夾,這個文件夾就是虛擬機所裝入的位置,…

    2017-07-15
  • Lvm的創建

    一、LVM相關基礎: ????PE:類似與磁盤的block,這個的大小也會影響VG的大小 ????PV:是磁盤分區或邏輯上與磁盤分區具有相同功能的設備(RAID),是LVM的基本存儲模塊,但與基本的物理存儲模塊相比,卻包含有lvm相關的參數 ????VG:類似于非lvm系統中的物理磁盤,包含多個pv ????LV:類似于非lvm系統中的磁盤分區 ? PV相關…

    2016-04-10
  • PHP進階知識總結

    周末梳理了下這段時間看書的一些知識點,進步的過程不僅要實踐,還要安排多看書、思考、總結。 只針對知識點進行了羅列和簡單說明,很多細節還未整理好,待后面再專門詳細寫。   基礎易忽略概念   PHP是一個支持面向對象開發的語言,而不是一個純面向對象的語言 PHP5中保留了對var的支持,但會將var自動轉換為public 類型檢查函數: i…

    Linux干貨 2015-03-10
  • Windows與linux分區的區別:

        對于我們普通人來講,分區就是我們看到的“我的電腦”下面的C盤、D盤、E盤······,每個分區都有自己的區域,無法使用別的分區的空間,這樣可以起到保護分區中文件的作用。其實,這樣很容易理解。可是,對于linux初學者來講,因為使用習慣了windows,到了linux下面,一下子很難轉換過來。  &nb…

    2017-07-16
  • Linux終端類型

    目錄 1. 終端概述 2. 串行端口終端(/dev/ttySn) 3. 偽終端(/dev/pty/) 4. 控制終端(/dev/tty) 5. 控制臺終端(/dev/ttyn, /dev/console) 6. 虛擬終端(/dev/pts/n) 7. 其它類型   終端概述 終端…

    Linux干貨 2016-10-18
  • 26期全程班-第五周博客作業

      1、顯示/boot/grub/grub.conf中以至少一個空白字符開頭的行; # grep “^[[:space:]]\+” /boot/grub/grub.conf 2、顯示/etc/rc.d/rc.sysinit文件中以#開頭,后面跟至少一個空白字符,而后又有至少一個非空白字符的行; # grep “^…

    Linux干貨 2017-03-09

評論列表(1條)

  • 馬哥教育
    馬哥教育 2017-04-13 09:34

    贊,特別是最后一張圖,希望能看出其中和你配置不一樣的地方,并理解~~繼續加油~

欧美性久久久久