CentOS7,keepalived搭建双机热备(高可用、keepalived、Nginx、Haproxy、反向代理)

这是一篇关于如何在CentOS7上利用Keepalived搭建双机热备的实验记录,旨在实现高可用性。通过设置不同的VRRP优先级,主机与备份机进行切换。配置中涉及VRRP的Multicast广播周期和认证方式,并结合Nginx作为反向代理,确保服务的连续性和稳定性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

提示:这是我工作中的一份实验记录,主要参考了博客“使用keepalived实现双机热备 ”,有需要的话可以到该博客查看!


本次实验目标是:
搭建两台Web服务器,然后通过Keepalived来实现热备,其中任务一台出现故障,对外仍然可以正常提供服务!


什么是双机热备?
通常说的双机热备是指两台机器都在运行,但并不是两台机器都同时在提供服务。
当提供服务的一台出现故障的时候,另外一台会马上自动接管并且提供服务,而且切换的时间非常短。


keepalived的工作原理
keepalived的工作原理是VRRP(Virtual Router Redundancy Protocol)虚拟路由冗余协议。
在VRRP中有两组重要的概念:VRRP路由器和虚拟路由器,主控路由器和备份路由器。
VRRP路由器是指运行VRRP的路由器,是物理实体,虚拟路由器是指VRRP协议创建的,是逻辑概念。
一组VRRP路由器协同工作,共同构成一台虚拟路由器。 
Vrrp中存在着一种选举机制,用以选出提供服务的路由即主控路由,其他的则成了备份路由。
当主控路由失效后,备份路由中会重新选举出一个主控路由,来继续工作,来保障不间断服务。


实验环境
下面来以keepalived结合httpd来实现一个web服务器的双机热备。
(一般是用  keepalived + Nginx或者haproxy,这里仅是实验用了httpd ),
我们在本文中的测试环境如下
两台Web服务器(httpd),和一个虚拟服务器(Keepalived):
master(主Web服务器):CentOS7+httpd2.4.6    192.168.1.231
backup(备用Web服务器): CentOS7+httpd2.4.6    192.168.1.232
vip(Keepalived虚拟的): 192.168.1.230
测试环境的网络topology图如下:

 

节点A 192.168.1.231 (主节点), 节点B 192.168.1.232(备用节点),虚拟IP(对外提供服务的IP 192.168.1.230)