keepalived之vrrp_script测试
今天就对keepalived进行了自定义脚本的测试。
先是定义一个vrrp_script
脚本名字,指定测试的内容。也可以自定义脚本,设定执行时间。然后在vrrp_instance中调用就可以了。这样一旦出现无法连接VIP就会自动漂移到其它机器上。
今日还顺便测试了下当2个BACKUP的priority相同,master失效的结果,结果发现VIP会同时漂移到这2台机器,而且你用arping的时候会得到2个mca地址,这是非常危险的,所以我们在一个多播组内千万要设置不同的priority.
同时我们在我昨日的blog中老外写的那个监控脚本有关于weight值的设定,这个我自己测试上加了后发现监控就不生效了,我把80口的nginx直接关了也没有实现VIP漂移。关于这个问题以及发信给作者了,现在还在等回复,官方文档找不到,例子中发现weight有-2,-3,-4,2各种不同,实在是不明白。我自己也没看到直接看源码的程度,还是直接问问得了。
vrrp_script chk_http_port { script "/tcp/127.0.0.1/80" # 连接本机80端口,正常就退出,无法连接就报错 interval 1 # 每秒连接一次 } vrrp_instance VI_1 { state MASTER interface eth0 virtual_router_id 51 priority 100 advert_int 1 smtp_alert authentication { auth_type PASS auth_pass hdtv } virtual_ipaddress { 10.1.41.141 } track_interface { eth0 #加入网卡部分监控,要实现这个功能也可以不加 } track_script { chk_http_port #上面的vrrp_script的名字 } }
###########################################
Best regards
Timo Seven
()
Linux System Admin & MySQL DBA