keepalived-1.3.5-16.el7.x86_64,记录学习keepalived所遇到的各种坑。
keepalived script脚本不生效
如果下面这样写的话,我测试时会报"[["未知的符号。
vrrp_script chk_down
{
script "[[ -f /etc/keepalived/down ]] && exit 1 || exit 0"
weight -10
interval 1
fall 1
rise 1
}
将配置段写成如下
vrrp_script chk_nginx {
script "/etc/keepalived/chk_nginx.sh"
weight -10
interval 1
fall 1
rise 1
}
脚本名字之后有空格,要写在vrrp_instance之前。
脚本如下
#!/bin/bash
num=`ps aux | grep nginx | wc -l`
if [ $num -gt 4 ];then
exit 1
fi
定义多个real_server主机时,只显示一个。
real_server 192.168.2.10 80 {
weight 1
HTTP_GET { <<**多个real_server,中间有空格才能识别** 。
url {
path /index.html
status_code 200 }
connect_timeout 3
nb_get_retry 3
delay_before_retry 3 } 定义当前主机的健康状态检测方法
开启keepalived后,vip已经配置在网络接口上,ping不通,也不能访问。直接访问后台真实主机是可以的。
注释掉:vrrp_strict
此字段的解释如下:
严格遵守VRRP协议。下列情况将会阻止启动Keepalived:
1. 没有VIP地址。
2. 2. 单播邻居。
3. 3. 在VRRP版本2中有IPv6地址。