共计 1457 个字符,预计需要花费 4 分钟才能阅读完成。
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 的转发表里面
分享就到这里了 如果有问题欢迎探讨~~~
《Keepalived 权威指南》下载见 http://www.linuxidc.com/Linux/2012-05/60951.htm
Nginx+Keepalived 实现站点高可用 http://www.linuxidc.com/Linux/2016-12/137883.htm
Nginx+Keepalived 实现站点高可用(负载均衡) http://www.linuxidc.com/Linux/2016-12/138221.htm
构建高可用集群 Keepalived+Haproxy 负载均衡 http://www.linuxidc.com/Linux/2016-12/138917.htm
CentOS6.5 下 Keepalived 高可用服务单实例配置 http://www.linuxidc.com/Linux/2016-12/138110.htm
本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-01/139320.htm