天天看點

KeepAlived雙主模式高可用叢集

  一、keepalived簡介

    keepalived是vrrp協定的實作,原生設計目的是為了高可用ipvs服務,keepalived能夠配置檔案中的定義生成ipvs規則,并能夠對各RS的健康狀态進行檢測;通過共用的虛拟IP位址對外提供服務;每個熱備組内同一時刻隻有一台主伺服器提供服務,其他伺服器處于備援狀态,若目前線上的伺服器當機,其虛拟IP位址将會被其他伺服器接替(優先級決定接替順序),實作高可用為後端主機提供服務。

  二、keepalived元件

   Keepalived元件介紹

<a href="http://s4.51cto.com/wyfs02/M02/89/7F/wKiom1gVgVqxP0nVAADi2pjRuog301.png" target="_blank"></a>

core:keepalived核心元件,主程序的啟動和維護,全局配置等。

vrrp stack:keepalived是基于vrrp協定實作高可用vps服務,vrrp則為相關子程序為其提供服務

check:檢測keepalived的健康狀态相關程序 

system call:系統調用

watch dog:監控check和vrrp程序的看管者,check負責檢測器子程序的健康狀态,當其檢測到master上的服務不可用時則通告vrrp将其轉移至backup伺服器上。

    三、keepalived配置 

實驗拓撲圖如下:

<a href="http://s2.51cto.com/wyfs02/M01/89/7F/wKiom1gVg3PDV2hIAADihRpSRO4252.png" target="_blank"></a>

keepalived主配置檔案主要分為三段:global_defs、vrrp_instance、virtual_ip address,如下詳解: 

示例:

編輯/etc/keepalived/keepalived.conf配置檔案,将此檔案負責給另一個台keepalived伺服器,相應的修改其優先級及其state狀态資訊

使用lvs-dr相同的方法配置Real Server1/Real Server2:

分别給Real Server提供測試頁面及其給keepalived節點配置應急響應頁面  

配置成功後啟動keepalived及其後端主機,在keepalived節點上檢視其相應的ipvs資訊:

<a href="http://s2.51cto.com/wyfs02/M00/89/7D/wKioL1gVjGTxw3DrAAAk4AxNIe8289.png" target="_blank"></a>

現在兩節點上的keepalived均已啟動

<a href="http://s5.51cto.com/wyfs02/M02/89/7D/wKioL1gVjPKhgcW5AABZtj89rcs168.png" target="_blank"></a>

模拟master節點故障檢視其backup節點,則全部的虛拟IP位址轉換到backup節,實作位址漂移如下:

<a href="http://s5.51cto.com/wyfs02/M02/89/7D/wKioL1gVjpiDb9j_AABAZ7dlSvg521.png" target="_blank"></a>

本文采用rr算法排程測試結果圖:

<a href="http://s3.51cto.com/wyfs02/M00/89/7F/wKiom1gVjyCi8DNBAAAbeS31N4A706.png" target="_blank"></a>

模拟後端Real Server一台和全部當機,相應的響應頁面及應急頁面:

<a href="http://s3.51cto.com/wyfs02/M02/89/7F/wKiom1gVkMmQvEeNAAAUI_V6OYw648.png" target="_blank"></a>

    出現上訴的結果說明你配置的keepalived高可用叢集已經實作高可用,可換為浏覽器進行測試,或将後端主機搭建相應的服務進行測試檢視其是否按照你定義的排程算法進行輪詢。

本文轉自chengong1013 51CTO部落格,原文連結:http://blog.51cto.com/purify/1867346,如需轉載請自行聯系原作者

繼續閱讀