linux-高可用之虚拟ip地址(VIP)
高可用技术主要是指WEB网站、数据库、业务系统等持续不断的高
效、稳定的运行,为互联网用户提供高效的访问。高可用不是说网站、
数据库系统不宕机,而是指宕机、故障的时间是很短暂,能够快速恢
复。高可用技术强调的网站、业务系统可用率,通过数字9来评估,网站几
个9,例如99.9%、99.99%、99.999%。
在企业生产环境中,作为运维人员如何保障网站、业务系统、数据库高可用呢?有哪些方法、有哪些软件程序可以实现呢?
1:使用SHELL编程脚本实现WEB、业务、数据库高可用。:
2:增加服务器系统的数量(WEB、DB集群),避免单点故障;
3:借助开源的高可用软件:Keepalived,Heartbeat故障自动转移
这里我们基于shell脚本实现两台nginx web故障的自动切换,当一台Nginx WEB宕机
时,能够切换至另外一台,保障用户能够正常访问
1:VIP地址同一时刻只能绑在其中一台WEB服务器;
2:VIP地址只能绑定在Nginx服务正常的机器上;
3:当Nginx服务宕机或者异常上,释放VIP,另外一台此时机器绑定VIP
虚拟IP:192.168.80.200
nginx服务器:192.168.80.128-129
# 创建脚本目录
mkdir -p /data/sh && cd /data/sh
vim nginx_vip.sh

变量netfile是虚拟ip地址的配置文件
sleep 2 睡眠2秒
while true是一个死循环(所以执行脚本是需要放在后台执行)
killall -0 nginx 判断nginx是否处于启动状态(启动返回0,没启动返回1)

两台nginx服务器节点做相同的动作,完成。。。。。。
测试:(将脚本放在后台运行——两台nginx都要执行vip脚本)
# nohup bash nginx_vip.sh &——看到129服务器成功获得vip地址

# 129服务器因为192.168.80.200(vip)被占用,所以无法绑定vip地址。

# nginx测试 ,访问vip地址——成功访问到128服务器
curl 192.168.80.200

# 下面我们测试当Nginx服务宕机或者异常上,释放VIP,释放成功——可以看到vip地址不在了

# 129服务器查看vip——捕获成功

# 重新访问vip——成功访问到129服务器

可是脚本VIp只能实现2个9,3个9。想实现更高的可用性还需要借助开源的高可用软件。
加油,加油。。。。冲