+86 135 410 16684Mon. - Fri. 10:00-22:00

阿里云下配置keepalive,利用HAVIP实现HA

阿里云下配置keepalive,利用HAVIP实现HA

阿里云下配置keepalive,利用HAVIP实现HA

包括阿里云在内的很多云环境,因为不支持浮动IP广受诟病。目前阿里云在VPC网络下发布了HAVIP,能够实现arp宣告IP。这样也就让自己搭建HA成为了可能,有幸拿到了内测权限体验了一下。(classical网络依然不支持)

测试环境:

1

配置完毕后的拓扑如下:

4
环境搭建完毕后,登陆主备ECS服务器,分别配置nginx+keepalived

MASTER服务器(nginx1)配置文件/etc/keepalived/keepalived.conf内容以及解释如下:

BACKUP服务器(nginx2)的配置需要修改:

其它保持一致即可

为了实现nginx服务异常的时候能够自动切换,需要自己写一个脚本,脚本没有硬性的要求,能够实现目标即可,这里 监控nginx进程数为例:

测试:
NGINX1/192.168.1.1的priority 为101,NGINX2/192.168.1.2的priority为100,这时候访问HAVIP绑定的EIP:http://121.43.187.37/可以看到访问到了服务器NGINX1,如下:

5

到HAVIP控制台查看,192.168.1.1的服务器为主服务器

111

这时候我们KILL掉nginx1服务器的nginx服务

查看日志,发送了移除VIP的报文:

这时候访问http://121.43.187.37/,可以看到访问自动切换到了NGINX26

到HAVIP控制台查看,192.168.1.2的服务器为主服务器

2222

重新启动nginx1的nginx和keepalive服务
查看日志可以看到keepalive重新发送了IP宣告的报文

重新访问http://121.43.187.37/测试,重新访问到了服务器NGINX1,到HAVIP控制台查看,192.168.1.1的服务器重新夺回了控制权,成为了为主服务器

1111
这样就实现了阿里云环境下的HA切换。
实际测试,阿里云的多个HAVIP可以绑定到同样的两台机器,可以配置多组vrrp_instance来实现双主。或者两台服务器同时为两个业务服务,避免资源浪费。同时能够做到主备
北京 上海 天津 重庆 河北 山东 辽宁 黑龙江 吉林 甘肃 青海 河南 江苏 湖北 湖南 江西 浙江 广东 云南 福建 海南 山西 四川 陕西 贵州 安徽 广西 内蒙古 西藏 新疆 宁夏 澳门 香港 台湾