keepalived的自定义健康检查只有http协议,使用方式如下:
配置文件如下:
global_defs {
router_id LVS_DEVEL}
vrrp_instance VI_1 {
state MASTER
interface bond0
virtual_router_id 1
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.136.15
}
}
virtual_server 192.168.136.15 80 {
delay_loop 1
lb_algo wlc
lb_kind DR
persistence_timeout 0
protocol TCP
real_server 192.168.136.22 80 {
weight 1
HTTP_GET {
url {
path /halbWeb/test.html #为tomcat服务器下的测试文件
digest 196d8fedbb521fdf05f94ee1805b51cf
status_code 200
}
connect_port 8765
connect_timeout 3 #连接的超时时间
nb_get_retry 3 #尝试的次数
delay_before_retry 3 #尝试的延迟
}
}
real_server 192.168.136.80 80 {
weight 1
HTTP_GET {
url {
path /halbWeb/test.html
digest 196d8fedbb521fdf05f94ee1805b51cf
status_code 200
}
connect_port 80
connect_timeout 3 #连接的超时时间
nb_get_retry 3 #尝试的次数
delay_before_retry 3 #尝试的延迟
}
}
}
digest值的获取方法:
[root@BJ-device ~]# genhash -s 192.168.136.22 -p 80 -u /halbWeb/test.html
MD5SUM = 196d8fedbb521fdf05f94ee1805b51cf