Keepalived配置安裝

2021-09-25 23:29:49 字數 3449 閱讀 1448

ubuntu 16.04.3系統兩台機器

vipip

hostname

port

192.168.0.200

192.168.0.129(master)

wjt-ceshiji

80192.168.0.200

192.168.0.129(backup)

wjt-ceshiji22

80

wget
tar zxvf keepalived-2.0.13.tar.gz -c /usr/local

cd /usr/local/keepalived-2.0.13

./configure --prefix=/usr/local/keepalived

make && make install

建立工作目錄並生成配置檔案

mkdir /etc/keepalived

touch /etc/keepalived/keepalived.conf

! configuration file for keepalived

global_defs

notification_email_from [email protected] #指定發件人

smtp_server 192.168.0.129 #傳送email的smtp位址

smtp_connect_timeout 30 #超時時間

router_id wjt-ceshiji #執行keepalived的機器標識號,主從機必須不同

#vrrp_skip_check_adv_addr #注釋掉vrrp_strict相關是為了解決虛擬ip,ping不通的問題

#vrrp_strict

#vrrp_garp_interval 0

#vrrp_gna_interval 0

}vrrp_script chk_nginx

vrrp_instance vi_1

advert_int 1 #通訊檢查間隔時間1s

authentication

track_script

virtual_ipaddress

}

! configuration file for keepalived

global_defs

notification_email_from [email protected] #指定發件人

smtp_server 192.168.0.129 #傳送email的smtp位址

smtp_connect_timeout 30 #超時時間

router_id wjt-ceshiji22 #執行keepalived的機器標識號,主從機必須不同

#vrrp_skip_check_adv_addr #注釋掉vrrp_strict相關是為了解決虛擬ip,ping不通的問題

#vrrp_strict

#vrrp_garp_interval 0

#vrrp_gna_interval 0

}vrrp_script chk_nginx

vrrp_instance vi_1

advert_int 1 #通訊檢查間隔時間1s

authentication

track_script

virtual_ipaddress

}

router_id	#hostname	

state #master or backup

inte***ce #網口

priority #主比從的數值大

為確保vip能夠7*24小時對外提供服務,增加nginx檢查指令碼,當出現異常時殺掉keepalived程序讓vip進行飄逸

#!/bin/bash

a=`ps -c nginx --no-header | wc -l`

if [ $a -eq 0 ];then

/usr/local/nginx/sbin/nginx #嘗試重新啟動nginx

sleep 2 #睡眠2秒

if [ `ps -c nginx --no-header | wc -l` -eq 0 ];then

/usr/bin/killall keepalived #啟動失敗,將keepalived服務殺死。將vip漂移到其它備份節點

fifi

/usr/local/keepalived/sbin/keepalived		#啟動keepalived

killall keepalived #停止keepalived

啟動主nginx靜態頁面內容為master,啟動備nginx靜態頁面內容為backup;同時啟動keepalived服務

curl 192.168.0.200	

#顯示master

停止master上的keepalived後vip飄逸至backup機器

curl 192.168.0.200

#顯示backup

恢復master上的keepalived後vip飄逸至master機器

curl 192.168.0.200

#顯示master

故意修改master機器的nginx配置檔案為錯誤語法,手動殺掉nginx程序,發現keepalived服務隨即消失

curl 192.168.0.200

#顯示backup

問題:*** warning - this build will not support ipvs with ipv6. please install libnl/libnl-3 dev libraries to support ipv6 with ipvs.

解決:apt-get install libnl-3-200

apt-get install libnl-3-dev

apt-get install libnl-genl-3-dev

問題:can't open /etc/rc.d/init.d/functions

解決:ln -s /lib/lsb/init-functions /etc/rc.d/init.d/functions

問題:nginx異常退出並無法啟動時,keepalived程序沒有自動停止且反覆執行chk_nginx.sh的指令碼

解決:原因是chk_nginx函式中interval時間過短(2s)改為5s後正常

ip -o -f inet addr show		#查詢系統上的ip

ip -f inet addr delete 192.168.0.202/32 dev ens32 #刪除指定ip

keepalived安裝與配置

一 安裝keepalived 1.2.2 yum y install gcc make openssl openssl devel wget kernel devel mkdir p usr local src hasoft cd usr local src hasoft wget tar zxvf...

keepalived 安裝與配置

keepalived 官網 org cd usr local src wget org software keepalived 1.4 0.tar gz2,安裝 tar zxvf keepalived 1.4 0.tar gzcd keepalived 1.4 0.tar gz.configure ...

Nginx 配置 keepalived安裝

location urilocation uri 優先順序最高的匹配規則 location uri普通匹配的優先順序要高於正則匹配如果存在多個相同的字首的一般匹配,那麼最終會按照最大長度來做匹配 rewrite通過ngx http rewrite module模組支援url重寫 支援if判斷,但不支...