天天看點

keepalived

Keepalived詳解:

提供HA的底層工具。嚴重依賴于腳本實作其擴充功能的HA服務。

早期是為ipvs提供ha功能的

HA -->>Ipvs(規則)提供VIP在叢集之間的流轉作用(這個依賴的基礎是vrrp)

Keepalived有三個子產品:core,check,vrrp

Core子產品:是keepalived子產品的核心子產品,負責出程序的啟動,維護以及全局配置檔案的加載和解析。

Check:負責健康檢查,包括常見的各種檢查方式。

Vrrp:用來實作vrrp協定的

Vrrp:虛拟路由備援協定(能将多個實體裝置虛拟成一個實體裝置,對外的靜态虛拟VIP在各個裝置之間協調運轉,如果宕掉了就通過選舉等來實作一主多備)

通過外部腳本一直檢測服務狀态,一旦服務出現問題就降低此節點的優先級。

工作機制:主節點不停的向從節點通告自己還處于活動狀态。

雙主模型:M的漂移随着節點優先級,服務問題優先級降低,節點漂移,一個節點上有兩個m,出故障的節點重新開機服務,優先級恢複,節點漂移回來。(此過程依賴于外部腳本:1)check不停的檢測服務是否正常,不正常就漂移節點。與此同時還有其他服務檢測腳本,通知。2)在節點漂移之後,服務不允許節點繼續宕下去,通過腳本來重新開機服務)

1,所有realserver都宕掉怎麼處理?

Fall_back:在所有的realserver出現故障的時候,在master上啟動http傳回一個資訊狀态碼,使用者通路時能傳回資訊而不是什麼資訊都沒有。

2,寫檢測腳本,完成維護模式切換。

Vrrp-script  chk_name:

Script “指令/路徑”

Interval 2 ##多長時間進行一次這個腳本的檢測

Weight -2 ##master優先級減2

Faill 2  ##檢測兩次失敗就認為是失敗的

Rise 1 隻要檢測到成功1次就立即認為是成功

M-->>B服務重新開機而不是停掉服務

3,如何在vrrp事物發生時(主備節點切換時或者兩個vip節點都出現了故障),發送警告郵件給指定的管理者?(如何告訴管理者vip是如何漂移的?)

Notify_master ##節點從備變成主

Notify_backup ##節點從主變成備

Notify_fault ##兩個節點都出現了故障

Nginx  和keepalived都是輕量級的web反向代理,不需要提供任何共享存儲。

Ipvsadm -L -t

Keepalived提供ipvs的高可用:

Ipvs

Health check

HTTP_GET|SSL_GET

{

Url {

Path ##http/ssl檢查的url可以是多個。

Digest <STRING> ##檢查後的摘要資訊用genhash生成

Status_code 200 ##檢查傳回的狀态碼

}

Connect_port 80##連接配接端口

Bindto <IPADDR>

Connect_timeout 3 #連接配接逾時時間

Nb_get_retry 3 #重連次數

Delay_before_retry 2#連接配接間隔時間

前端VIP端口到後端RIP進行通信用的是mac位址,ARP協定,gratuitous,自問自答

本文轉自   Taxing祥   51CTO部落格,原文連結:http://blog.51cto.com/12118369/1933277

上一篇: zabbix
下一篇: shell

繼續閱讀