keepalived管理的的ipvs功能支持對後端節點真實服務器的健康檢查
一般常用的方式包括tcp_check 和http_get(更准確)
tcp_check 原理就是對真實服務器進行ip+端口的檢測實現的(我們可以用wget nmap telnet實現) 如果相應的端口開啟,則加入lvs的轉發表 (ipvsadm -a -t 192.168.1.6:80 -r 192.168.1.12:80 -g),否則執行剔除節點的操作
(ipvsadm -d -t 192.168.1.6:80 -r 192.168.1.12:80 -g)
配置方法如下
real_server 192.168.1.11 80 {
weight 1
TCP_CHECK {
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
connect_port 80
}
}
另外一種檢測後端節點的方式是通過http_get 或者ssl_get 的方式 對訪問的內容進行md5值的校驗 比對 如果比對成功 則加入lvs轉發表 操作同上 如果校驗失敗 則執行剔除節點的操作。
配置方法如下
首先要定義好檢查的url 並且獲得相應頁面的MD5dum值
[root@web1 bbs]# md5sum /application/nginx/html/bbs/fei.jpg
ba45c8f60456a672e003a875e469d0eb /application/nginx/html/bbs/fei.jpg
上面標紅的就是獲得的MD5sum值 稍後要在keepalived的配置文件裡面用到
配置方法
real_server 192.168.1.12 80 {
weight 1
HTTP_GET {
url {
path /fei.jpg
digest ba45c8f60456a672e003a875e469d0eb
}
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
}
}
注意bbs是我的站點的根目錄 也是默認用ip地址192.168.1.12訪問的根目錄位置
所以我們定義的url是 /fei.jpg,可以同時定義多個url 只有所有的url檢測成功之後才能把節點加入ipvs的轉發表裡面
分享就到這裡了 如果有問題歡迎探討~~~
http://xxxxxx/Linuxjc/1185779.html TechArticle