KEEPALIVED 检测RS原理

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的转发表里面

分享就到这里了 若是有问题欢迎探讨~~~

相关文章
相关标签/搜索