学习- Nginx -浅谈Keepalived实现服务高可用的实现原理
浅谈Keepalived实现服务高可用的实现原理
一、原理
两个Nginx服务器 IP地址分别为192.168.44.111和192.168.44.112,对我们的应用服务器做负载均衡。为了保证服务高可用,在两台服务器上安装Keepalived软件(可以互相通信)。
Keepalived会创建一个虚拟IP地址(vip - Virtual IP Address),此处以192.168.44.200为例,客户会通过vip来访问服务器,当主机挂起的时候,vip会移动到备用机器上(IP漂移),从而保证服务的正常运行,实现服务高可用
二、Keepalived的安装和使用
1、克隆出一个Nginx01的备用机
2、修改Nginx01 Backup的Mac地址和IP地址,不然会冲突
修改Mac地址
修改IP地址 192.168.226.100
安装Keepalived
yum install -y keepalived
修改 /etc/keepalived/keepalived.conf文件
找到virtual_ipaddress 将其下面从virtual_server xxx到文件末尾全部删除
删除宕机后发送邮件相关配置
删除宕VRRP协议相关配置
按自身需要 修改router id和 实例名称
interface要配置成我们的网卡名称
其他参数讲解
启动keepalived服务
systemctl start keepalived
可以通过systemctl status keepalived查看启动状态
此时再用ip addr查看IP地址,可以看到我们配置的192.168.226.200的vip已经生效
修改备用机(Nginx01 BackUP)的Keepalived.conf文件
注意:route id 和 state要改成备用机所对应的信息,priority主备竞选优先级要小于主机的100
启动备用机的keepalived服务
systemctl start keepalived
我们可以看到,目前virtual IP (虚拟IP)是在主机(Nginx01)上
cmd 启动命令窗口 ping vip是可以ping 通的
我们把主机(Nginx01)关闭 再去ping vip
发现还是可以ping通
可以看到 vip(192.168.226.200)移到Nginx01 BackUP这台备用机上了,此过程就叫做“IP 漂移”保证了服务的高可用性!
扩展:我们用Keepailved只能保证网路不可达的时候进行IP漂移,从而保证服务高可用。但是如果Nginx服务器本身出问题怎监控不到,我们可以在服务器上写一个脚本,监听Nginx服务是否是200,如果报错则kill本机上的Keepailved的进程,实现IP漂移
本文来自博客园,作者:skystrivegao,转载请注明原文链接:https://www.cnblogs.com/skystrive/p/18663299
整理不易,如果对您有所帮助 请点赞收藏,谢谢~