提示:这是我工作中的一份实验记录,主要参考了博客“使用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)