keepalived管理的的ipvs功能支持對後端節點真實服務器的健康檢查html
通常經常使用的方式包括tcp_check 和http_get(更準確)nginx
tcp_check 原理就是對真實服務器進行ip+端口的檢測實現的(咱們能夠用wget nmap telnet實現) 若是相應的端口開啓,則加入lvs的轉發表 (ipvsadm -a -t 192.168.1.6:80 -r 192.168.1.12:80 -g),不然執行剔除節點的操做web
(ipvsadm -d -t 192.168.1.6:80 -r 192.168.1.12:80 -g)後端
配置方法以下服務器
real_server 192.168.1.11 80 {app
weight 1tcp
TCP_CHECK {url
connect_timeout 3server
nb_get_retry 3htm
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的轉發表裏面
分享就到這裏了 若是有問題歡迎探討~~~