一.keepalived是什麼
keepalived最初是為lvs負載均衡設計的,用於監控lvs集群系統中的各個節點的服務狀態。後來又加入了基於vrrp的高可用功能,所以也可以作為nginx,mysql等服務的高可用解決方案使用。
vrrp(virtual router redundancy protocol)即虛擬路由冗餘協議,vrrp的出現是為了解決靜態路由單點故障問題的,當網路中的某乙個節點掛掉時,可以保證路由的正常執行。
二.keepalived的組成和原理
watchdog:負責監控checkers,vrrp程序的狀態,當checkers或vrrp程序被殺掉時,可以啟動乙個新的程序來工作
checkers:負責檢查真實節點的健康狀態,是keepalived的最主要功能。
vrrp stack:負責master掛掉後的故障切換,保證服務的連續性,減少服務的不可用時間,當只有乙個節點提供服務時,該程序可以不需要
keepalived的原理
使用keepalived進行vip的實現。
虛擬路由冗餘協議,可以認為是實現路由器高可用的協議,即將n臺提供相同功能的路由器組成乙個路由器組,這個組裡面有乙個master和多個backup,master上面有乙個對外提供服務的vip(該路由器所在區域網內其他機器的預設路由為該vip),master會發組播,當backup收不到vrrp包時就認為master宕掉了,這時就需要根據vrrp的優先順序來選舉乙個backup當master。這樣的話就可以保證路由器的高可用了。
三.安裝配置keepalived
我使用的時centos6.9系統,直接安裝自帶的keepalived
yum -y install keepalived相關檔案如下
/etc/keepalivedkeepalived的執行日誌預設存放在/var/log/messages/etc/keepalived/keepalived.conf #
keepalived服務主配置檔案
/etc/rc.d/init.d/keepalived #
服務啟動指令碼
四.搭建高可用
(1)準備兩台主機,一台master主伺服器(192.168.211.113),一台backup備用伺服器(192.168.211.112),在兩台伺服器上都安裝keepalived
(2)修改配置檔案
master主機
vrrp_script check_nginxbackup主機vrrp_instance vi_1
virtual_ipaddress
track_script
unicast_src_ip 192.168.211.113 #
傳送單播訊息的源ip
unicast_peer
}
vrrp_script check_nginxvrrp_instance vi_1
virtual_ipaddress
track_script
unicast_src_ip 192.168.211.112 #
設定傳送單播訊息的源ip
unicast_peer
}
/etc/keepalived/check_nginx.sh內容如下,當nginx掛掉時,停掉keepalived,此時虛擬ip會自動切換
#(3)啟動兩台伺服器上的keepalived!/bin/bash
nginx_status=$(netstat -ntlp|grep :80|wc -l)
if [ $nginx_status
-eq 0];then
service keepalived stop
fi
直接直接keepalived命令即可,一般虛擬ip會掛在先啟動的那台伺服器上
檢視虛擬ip如下
master主機(192.168.211.113)上
backup主機(192.168.211.112)上
停掉master主機(192.168.211.113)上的nginx
[root@server04 ~]#檢視此時master上的ip資訊service nginx stop
backup主機(192.168.211.112)上ip資訊
可以看到此時虛擬ip已經切換到backuo主機上
Keepalived 實現高可用
對於主負載均衡伺服器,修改配置檔案 vim etc keepalived keepalived.conf configuration file for keepalived global defs vrrp instance vi 1 virtual ipaddress 備用負載均衡伺服器 vim ...
keepalived實現Nginx高可用
tar zxvf keepalived 2.0.15.tar.gz c usr local src 進入到keepalived目錄 cd usr local src keepalived 2.0.15 指定keepalived安裝錄了 configure prefix usr local keepa...
使用keepalived實現高可用
通常情況下,都是啟動2臺相同的業務系統,一台故障,另外一台自動接管。後端一般情況下我們使用集群,排除了單點故障造成的影響,前段7層負載的高可用就尤為重要了 keepalived使用vrrp協議,虛擬路由冗餘協議。依靠vmac和vip實現高可用技術方案,俗稱位址漂移。搶占式高可用配置 1.實踐環境,配...