LVS——DR模式下的健康检查

it2022-05-08  14

    上一篇配置DR的应用,下面将利用前面配置好的DR工作方式集群来实现LVS后端服务健康状态检查。

1、为什么需要进行LVS后端服务健康状态检查

        前面配置好了,整个集群开始工作,但如果某些Real Server出现问题,不能正常访问,我们就要使Director的ipvs配置做出相应改变,删除出问题的Real Server;当Real Server又能正常访问时,也要把其添加回ipvs的调度列表,这就需要实时检查各Real Server的健康状态,以此来保证整个集群能够提供稳定可用的服务。

2、怎么实现LVS后端服务健康状态检查

        实时检查各Real Server的健康状态,实现的方式很多,如四层TCP健康检测、七层HTTP健康检测,如访问某个端口、请求一个专用的服务接口等,也可用ldirectord、keepalived等高可用组件来实现,这些后面介绍到高可用时再实现;我们这里使用上面配置好的DR方式的WEB集群来测试,所以使用的是比较常见的间隔访问HTTP页面的方式来检测健康状态。

3、实验

实验环境:

                            

实验步骤:

server1主机上

1、从物理机上拷贝 ldirectord-3.9.5-3.1.x86_64.rpm包用来对后端服务器做健康检查

当我们将拷贝过来的包通过以上任意一种方式进行安装时,都会发现报错,这是为什么呢?当然是因为前面的yum源中没有我们需要的包,准确的说不是没有,是yum包的位置不对,需要我们进行下面的步骤:

首先我们在物理机中查看高级yum源的位置,如下所示:

接下来我们去server1的主机上配置高可用yum源,如下所示:

 

最后我们再次安装会发现可以成功安装,如下所示:

2、查看配置文件和包的位置,如下所示:

3、将配置文件的模板拷到/etc/ha.d中,并进入配置文件,如下所示:

4、编辑配置文件,如下所示:

5、开启服务,如下所示:

物理机测试:

<1> 当后端服务器都正常时,会显示测试页的轮循(无服务器宕机)

<2> 手动将server2的apache服务关闭,此时再进行测试时,会发现轮循时,server3中的内容

<3> 此时再手动将server3的apache服务关闭,此时再进行测试时,会发现显示的都为 Connection refused

升级测试:

为了以一种直观的方式显示报错,我们需要在server1的共享目录下写入文件并将httpd的端口为80(如果不对则更改过来)

server1主机上:

1、安装httpd服务,如下所示:

2、编辑默认发布文件,如下所示:

3、重启服务,如下所示:

再次测试:

在物理机中进行测试,发现我们可以在两台服务器都宕机之后,输出特定的内容,如下所示:

 

 

 

 

 

 

 

 

 

 

 

 


最新回复(0)