上一次配置
问题
之前的配置在做压力测试时出现了问题。当压力过大的时候,IP无法访问,会造成服务IP的切换;并且在压力测试过程中出现反复切换的情况。
使用wrt测试
./wrk -t32 -c100000 -d30s http://xxx
配置
在反复测试之后,采取了增加另外一块网卡的方式,并且调整了一些参数,基本避免了在超大压力之下,IP无法访问之后,服务IP的反复切换。但是日志会记录报错,BACKUP节点会试图抢占MASTER;在抢占过程中,服务IP会造成中断,但是不会发生切换。
cat << \EOF > /etc/keepalived/keepalived.conf
# dmall-middlelayer-01
global_defs {
script_user root
enable_script_security
}
vrrp_instance Vs_1 {
state BACKUP
interface ens192 # 采取另一块网卡发VRRP包
virtual_router_id 200
priority 100
advert_int 2
nopreempt
dont_track_primary # 忽略VRRP网卡错误。(默认未设置)
authentication {
auth_type PASS
auth_pass 9527
}
unicast_src_ip 172.0.10.1 # 单播地址使用ens192
unicast_peer {
172.0.10.2
}
virtual_ipaddress {
192.168.0.3/24 dev ens16 # 服务IP继续绑定在原网卡
}
notify_fault "/etc/keepalived/kpfault.sh" # 出错时做的操作,例如重启服务
# notify_master <STRING>|<QUOTED-STRING>
# notify_backup <STRING>|<QUOTED-STRING>
# notify_fault <STRING>|<QUOTED-STRING>
# notify <STRING>|<QUOTED-STRING>
# notify_master/backup/fault 分别表示切换为主/备/出错时所执行的脚本。
# notify 表示任何一状态切换时都会调用该脚本,并且该脚本在以上三个脚本执行完成之后进行调用.
# keepalived会自动传递三个参数
# ($1 = “GROUP”|”INSTANCE”,$2 = name of group or instance,$3 = target state of transition(MASTER/BACKUP/FAULT))。
}
EOF