CentOS Keepalived心跳檢測部署

2021-08-14 07:32:11 字數 2538 閱讀 9731

簡介

keepalived的作用是檢測伺服器的狀態,如果有一台web伺服器宕機,或工作出現故障,keepalived將檢測到,並將有故障的伺服器從系統中剔除,同時使用其他伺服器代替該伺服器的工作,當伺服器工作正常後keepalived自動將伺服器加入到伺服器群中,這些工作全部自動完成,不需要人工干涉,需要人工做的只是修復故障的伺服器。

工作原理

layer3,4&7工作在ip/tcp協議棧的ip層,tcp層,及應用層,原理分別如下:

layer3:keepalived使用layer3的方式工作式時,keepalived會定期向伺服器群中的伺服器傳送乙個icmp的資料報(既我們平時用的ping程式),如果發現某台服務的ip位址沒有啟用,keepalived便報告這台伺服器失效,並將它從伺服器群中剔除,這種情況的典型例子是某台伺服器被非法關機。layer3的方式是以伺服器的ip位址是否有效作為伺服器工作正常與否的標準。

layer4:如果您理解了layer3的方式,layer4就容易了。layer4主要以tcp埠的狀態來決定伺服器工作正常與否。如web server的服務埠一般是80,如果keepalived檢測到80埠沒有啟動,則keepalived將把這台伺服器從伺服器群中剔除。

layer7:layer7就是工作在具體的應用層了,比layer3,layer4要複雜一點,在網路上占用的頻寬也要大一些。keepalived將根據使用者的設定檢查伺服器程式的執行是否正常,如果與使用者的設定不相符,則keepalived將把伺服器從伺服器群中剔除。

系統環境

centos linux release 7.4.1708 (core)

keepalived版本:keepalived-1.4.0.tar.gz

操作步驟

2. 安裝keepalived安裝包

cd /usr/src

tar zxvf keepalived-1.4

.0.tar

.gz

(2) 將解壓好的安裝包轉移到/usr/local下並重命名為keepalived

mv keepalived-1.2

.24 /usr/local/keepalived

(3) 在編譯之前先安裝openssl,否則會報錯

yum -y install openssl-devel
(4) 編譯安裝keepalived

cd /usr/local/keepalived

./configure

3.修改配置檔案路徑

cp  -a /usr/local/etc/rc.d/init.d/keepalived   /etc/rc.d/init.d/

cp -a /usr/local/etc/sysconfig/keepalived /etc/sysconfig/

mkdir /etc/keepalived

cp -a /usr/local/etc/keepalived/keepalived.conf /etc/keepalived/

cp -a /usr/local/sbin/keepalived /usr/sbin/

4.修改配置檔案

在主備配置檔案中,只需要修改vrrp_instance vi_1 中三個地方即可:state , priority, virtual_ipaddress

vi /etc/keepalived/keepalived.conf
主keepalived配置:

從keepalived配置:

5.啟動服務

注:這裡建議使用service 來啟動服務,而不是用systemctl,因為systemctl遇到許可權錯誤不提醒。本例需要給/etc/init.d/keepalived執行許可權,否則實驗會失敗

chmod +x /etc/init.d/keepalived
開啟服務

service keepalived start

常見問題

問題一:使用systemctl啟動服務沒報錯,但是實驗不成功

解決:/etc/init.d/keepalived 沒有執行許可權,執行以下語句給予許可權

chmod +x /etc/init.d/keepalived

問題二:openssl安裝不成功

解決:不要使用yum install openssl, 而要使用 yum install openssl-devel

LINUX PPP心跳檢測

arm linux開發 warewin 2g 3g無線傳輸 dtu 和路由器 筆記 使用ppp 層心跳檢測需在 pppd 程序的配置檔案中需配置以下兩個引數及其值 lcp echo failure 心跳失敗最大次數 lcp echo interval 心跳間隔時間 這兩個引數需配合使用,表示在乙個l...

Eureka心跳檢測

註冊中心的心跳機制有兩種形式 客戶端主動上報和客戶端被動響應。eureka屬於是主動上報型別的,client通過renew機制頻繁的向server傳送訊息,通知server它還活著,不要將其從服務列表中剔除,但是我們renew僅僅是監控client是否存活,並不會去檢測client依賴的服務是否存活...

NGINX心跳檢測

nginx心跳檢測 在30s內 fail timeout,預設值為10s nginx與中介軟體通訊失敗2次 max fails,預設值為1,設定為0則認為服務端一直可用 則認為中介軟體不可用 不可用中介軟體在30s內與nginx通訊成功2次,則認為中介軟體恢復。當upstream中的一台中介軟體響應...