keepalived實現高可用

2022-07-29 05:36:17 字數 2545 閱讀 8967

一.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/keepalived    

/etc/keepalived/keepalived.conf #

keepalived服務主配置檔案

/etc/rc.d/init.d/keepalived #

服務啟動指令碼

keepalived的執行日誌預設存放在/var/log/messages

四.搭建高可用

(1)準備兩台主機,一台master主伺服器(192.168.211.113),一台backup備用伺服器(192.168.211.112),在兩台伺服器上都安裝keepalived

(2)修改配置檔案

master主機

vrrp_script check_nginx 

vrrp_instance vi_1

virtual_ipaddress

track_script

unicast_src_ip 192.168.211.113 #

傳送單播訊息的源ip

unicast_peer

}

backup主機

vrrp_script check_nginx 

vrrp_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會自動切換
#

!/bin/bash

nginx_status=$(netstat -ntlp|grep :80|wc -l)

if [ $nginx_status

-eq 0];then

service keepalived stop

fi

(3)啟動兩台伺服器上的keepalived

直接直接keepalived命令即可,一般虛擬ip會掛在先啟動的那台伺服器上

檢視虛擬ip如下

master主機(192.168.211.113)上

backup主機(192.168.211.112)上

停掉master主機(192.168.211.113)上的nginx

[root@server04 ~]#

service nginx stop

檢視此時master上的ip資訊

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.實踐環境,配...