1? 概述
keepalived基于vrrp協議實現,是復合組成的軟件,具有vrrp功能,定制ipvs等等。原生設計目的為了高可用ipvs服務,專門用于解決lvs單獨故障的問題,最佳搭檔,而且,keepalived可以通過腳本的功能實現其他服務的高可用。支持SMTP協議,因此當發生報警的時候,可以通過發郵件給對應的管理員進行提醒。(郵件提醒方式可以靈活,達到更及時的效果,如設置139的郵箱,當139郵箱收到郵件時,會發短信提醒。當前主流社交工具是微信,所以綁定qq郵箱,qq郵箱收到郵件后,通過個人的微信會提醒新郵件。)在目錄/usr/share/doc/keepalived-1.2.13/samples下有很多配置文件的腳本和檢查的模板。可以參考該目錄下的文件進行配置。如/usr/share/doc/keepalived-1.2.13/samples/keepalived.conf.vrrp.localcheck配置了本地檢查的模板
本文將介紹vrrp協議和keepalive的相關概念
2? vrrp
vrrp協議:VirtualRouter Redundancy Protocol
vrrp主要解決地址的問題,相當于是充當網關了,是虛擬的路由器
.相關術語:
虛擬路由器:Virtual Router
虛擬路由器標識:VRID(0-255),唯一標識虛擬路由器
物理路由器:根據優先級(priority),將機器分為主設備(master)和備用設備(backup)
VIP:Virtual?IP
VMAC:Virutal? MAC (00-00-5e-00-01-VRID)
.通告:心跳,優先級等;周期性
.工作方式:搶占式,非搶占式
.安全工作:配置認證機制,防止有其他機器假冒,發出更高的優先級,搶占,導致服務異常
認證:有三個方法
a)無認證
b)簡單字符認證:預共享密鑰
c)MD5,lvs不支持該模式
.工作模式:
主/備:單虛擬路徑器
主/主:主/備(虛擬路徑器1),備/主(虛擬路徑器2).這里是相對不同應用或者服務而言,比如公司發布了兩個站點,為http://www.sunny.com和http://www.tracy.com有兩臺服務器A和B,對于站點http://www.sunny.com而言,A服務器充當主設備,B服務器充當備用設備。對于http://www.tracy.com站點而言,B服務器充當主設備,A服務器充當備用設備。從而實現雙主的工作模式。即實現雙主模式,針對不同資源上是雙主,同一資源還是主從模型
3? keepalive
keepalive有以下四點功能:
.vrrp協議完成地址流動
.為vip地址所在的節點生成ipvs規則(在配置文件中預先定義)
.為ipvs集群的各RS做健康狀態檢測
.基于腳本調用接口通過執行腳本完成腳本中定義的功能,進而影響集群事務,以此支持nginx、haproxy等服務
.組件:
.核心組件三個:
vrrp? stack
ipvs? wrapper
checkers
.控制組件:配置文件分析器
.IO復用器
.內存管理組件
keepalived架構圖