IT漫步

技术生活札记©Yaohui

Notify script is not working on Keepalived v1.3.5

在公司内网通过Keepalived的VIP机制及诊断脚本提供一些高可用服务及智能选择服务,但由于内网网络设备及环境复杂,导致在上面组建的Overlay网络内的ARP广播不通畅,在Keepalived主备切换切换后当前有效节点的MAC地址通知不到客户端,从而导致客户端不能连接到正确的服务节点,因此就想使用Keepalived的notify scripts, 在Keepalived状态转变后在所有客户端执行一个脚本更新MAC地址。 脚本也简单,定义客户端列表直接shell上去设置MAC地址(节点间通过ssh key 配置了自动登录): #!/bin/sh declare -a nodes=( "192.168.126.8" "192.168.126.9" "192.168.126.10" "192.168.126.11" "192.168.126.12" "192.168.126.13" "192.168.126.14" "192.168.126.15" ) ip addr show eth0 | grep 192.168.126.99 foundVip=$? for ip in "${nodes[@]}"; do if [ $foundVip -eq 0 ]; then MAC=`ip addr show eth0 | grep ff:ff:ff:ff:ff:ff | awk '{print $2}'` ssh root@$ip arp --set 192.168.126.99 $MAC fi …


CentOS 7中配置Keepalived-LVS高可用集群

上一篇文章中描述了LVS的配置,但LVS有一个缺陷:不探测Real Server的状态,就算是Real Server宕机,LVS也会把请求转发过去。 使用Keepalived可以弥补LVS的缺陷,还可以实现LVS Director的冗余备份,keepalived会根据主机的健康状况让VIP在LVS Director之间漂移。同时Keepalived还可以替代ipvsadm工具,在keepalived配置文件中直接完成LVS的配置。 1. 配置网络结构: 192.168.1.11和192.168.1.12是互为备份的LVS Director, 192.168.1.11默认为MASTER, 192.168.1.12为BACKUP 192.168.1.99是LVS Director的虚拟IP,当192.168.1.11正常工作时,它会通过VRRPv2协议向广播网段发送ARP数据包,声明192.168.1.99为其所有,当192.168.1.11宕机时,192.168.1.12会立即接管该工作,声明192.168.1.99的所有权并响应用户请求 192.168.1.13和192.168.1.14是 Real Server,  上面有监听在80端的Web 服务 2. Keepalived主机安装配置 1. 在192.168.1.11和192.168.1.12上安装keepalived, 安装完成后修改配置文件/etc/keepalived/keepalived.conf。 # yum install keepalived -y # vi /etc/keepalived/keepalived.conf 详细配置参数说明请参见官方文档:http://www.keepalived.org/doc/configuration_synopsis.html 2. 配置MASTER节点(192.168.1.11),配置文件内容如下。关键配置内容添加了注释: ! Configuration File for keepalived global_defs { router_id LVS_11 #节点ID,每个节点的值唯一 vrrp_skip_check_adv_addr vrrp_strict #严格遵守VRRP,三种情况将会阻止keepalived (1.无VIPs, 2.unicast peers,3.IPv6 addresses in VRRP version …

Proudly powered by WordPress