編譯安裝Keepalived2.0.0

簡介

Keepalived是基於vrrp協議的一款高可用軟件。Keepailived有一臺主服務器和多臺備份服務器,在主服務器和備份服務器上面部署相同的服務配置,使用一個虛擬IP地址對外提供服務,當主服務器出現故障時,虛擬IP地址會自動漂移到備份服務器。安全

VRRP(Virtual Router Redundancy Protocol,虛擬路由器冗餘協議),VRRP是爲了解決靜態路由的高可用。VRRP的基本架構虛擬路由器由多個路由器組成,每一個路由器都有各自的IP和共同的VRID(0-255),其中一個VRRP路由器經過競選成爲MASTER,佔有VIP,對外提供路由服務,其餘成爲BACKUP,MASTER以IP組播(組播地址:224.0.0.18)形式發送VRRP協議包,與BACKUP保持心跳鏈接,若MASTER不可用(或BACKUP接收不到VRRP協議包),則BACKUP經過競選產生新的MASTER並繼續對外提供路由服務,從而實現高可用。服務器

vrrp協議的相關術語

虛擬路由器:Virtual Router
虛擬路由器標識:VRID(0-255)
物理路由器:架構

  • master :主設備
  • backup :備用設備
  • priority:優先級

VIP:Virtual IP
VMAC:Virutal MAC (00-00-5e-00-01-VRID)
GraciousARP
app

安全認證

  • 簡單字符認證、HMAC機制,只對信息作認證
  • MD5(leepalived不支持)

工做模式

  • 主/備:單虛擬路徑器
  • 主/主:主/備(虛擬路徑器),備/主(虛擬路徑器)

工做類型

  • 搶佔式:當出現比現有主服務器優先級高的服務器時,會發送通告搶佔角色成爲主服務器
  • 非搶佔式:

核心組件

  • vrrp stack:vrrp協議的實現
  • ipvs wrapper:爲集羣內的全部節點生成IPVS規則
  • checkers:對IPVS集羣的各RS作健康狀態檢測
  • 控制組件:配置文件分析器,用來實現配置文件的分析和加載
  • IO複用器
  • 內存管理組件,用來管理keepalived高可用是的內存管理

注意

  • 各節點時間必須同步
  • 確保各節點的用於集羣服務的接口支持MULTICAST通訊(組播)

安裝

[root@masga ~]# yum install openssl-devel popt-devel libnl libnl-devel libnfnetlink-devel gcc -y
[root@masga ~]# cd /usr/local/src/
[root@masga src]# wget http://www.keepalived.org/software/keepalived-2.0.0.tar.gz
[root@masga src]# tar zxvf keepalived-2.0.0.tar.gz
[root@masga src]# mkdir -p ../keepalived
[root@masga src]# cd keepalived-2.0.0
[root@masga keepalived-2.0.0]# ./configure --prefix=/usr/local/keepalived
Keepalived configuration
------------------------
Keepalived version       : 2.0.0
Compiler                 : gcc
Preprocessor flags       :  
Compiler flags           : -Wall -Wunused -Wstrict-prototypes -Wextra -Winit-self -g -O2 -D_GNU_SOURCE -fPIE -Wformat -We
rror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches Linker flags             :  -pie
Extra Lib                :  -lcrypto  -lssl  -lnl
Use IPVS Framework       : Yes
IPVS use libnl           : Yes
IPVS syncd attributes    : No
IPVS 64 bit stats        : No
fwmark socket support    : Yes
Use VRRP Framework       : Yes
Use VRRP VMAC            : Yes
Use VRRP authentication  : Yes
With ip rules/routes     : Yes
Use BFD Framework        : No
SNMP vrrp support        : No
SNMP checker support     : No
SNMP RFCv2 support       : No
SNMP RFCv3 support       : No
DBUS support             : No
SHA1 support             : No
Use Json output          : No
libnl version            : 1
Use IPv4 devconf         : No
Use libiptc              : No
Use libipset             : No
init type                : systemd
Build genhash            : Yes
Build documentation      : No
[root@masga keepalived-2.0.0]# make && make install
[root@masga keepalived-2.0.0]# cp /usr/local/src/keepalived-2.0.0/keepalived/etc/init.d/keepalived /etc/init.d/
[root@masga keepalived-2.0.0]# cp /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/
[root@masga keepalived-2.0.0]# mkdir /etc/keepalived
[root@masga keepalived-2.0.0]# cp /usr/local/keepalived/etc/keepalived/keepalived.conf /etc/keepalived/
[root@masga keepalived-2.0.0]# cp /usr/local/keepalived/sbin/keepalived /usr/sbin/
[root@masga keepalived-2.0.0]# echo "/etc/init.d/keepalived start" >> /etc/rc.local
[root@masga keepalived-2.0.0]# chmod +x /etc/rc.d/init.d/keepalived
[root@masga keepalived-2.0.0]# chkconfig keepalived on
相關文章
相關標籤/搜索