学习- Nginx -浅谈Keepalived实现服务高可用的实现原理

浅谈Keepalived实现服务高可用的实现原理

一、原理

image

两个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的备用机

image

2、修改Nginx01 Backup的Mac地址和IP地址,不然会冲突

修改Mac地址

image
image
image

修改IP地址 192.168.226.100

image

安装Keepalived

yum install -y keepalived
image

修改 /etc/keepalived/keepalived.conf文件

image

找到virtual_ipaddress 将其下面从virtual_server xxx到文件末尾全部删除

image

删除宕机后发送邮件相关配置

image

删除宕VRRP协议相关配置

image

按自身需要 修改router id和 实例名称

image

interface要配置成我们的网卡名称

image

其他参数讲解

image

启动keepalived服务

systemctl start keepalived

可以通过systemctl status keepalived查看启动状态

此时再用ip addr查看IP地址,可以看到我们配置的192.168.226.200的vip已经生效

image

修改备用机(Nginx01 BackUP)的Keepalived.conf文件

注意:route id 和 state要改成备用机所对应的信息,priority主备竞选优先级要小于主机的100

image

启动备用机的keepalived服务

systemctl start keepalived

我们可以看到,目前virtual IP (虚拟IP)是在主机(Nginx01)上

cmd 启动命令窗口 ping vip是可以ping 通的

image

我们把主机(Nginx01)关闭 再去ping vip

image

发现还是可以ping通

image

可以看到 vip(192.168.226.200)移到Nginx01 BackUP这台备用机上了,此过程就叫做“IP 漂移”保证了服务的高可用性!

image

扩展:我们用Keepailved只能保证网路不可达的时候进行IP漂移,从而保证服务高可用。但是如果Nginx服务器本身出问题怎监控不到,我们可以在服务器上写一个脚本,监听Nginx服务是否是200,如果报错则kill本机上的Keepailved的进程,实现IP漂移

image

posted @ 2025-01-10 09:29  skystrivegao  阅读(70)  评论(0)    收藏  举报