上一篇配置DR的应用,下面将利用前面配置好的DR工作方式集群来实现LVS后端服务健康状态检查。
前面配置好了,整个集群开始工作,但如果某些Real Server出现问题,不能正常访问,我们就要使Director的ipvs配置做出相应改变,删除出问题的Real Server;当Real Server又能正常访问时,也要把其添加回ipvs的调度列表,这就需要实时检查各Real Server的健康状态,以此来保证整个集群能够提供稳定可用的服务。
实时检查各Real Server的健康状态,实现的方式很多,如四层TCP健康检测、七层HTTP健康检测,如访问某个端口、请求一个专用的服务接口等,也可用ldirectord、keepalived等高可用组件来实现,这些后面介绍到高可用时再实现;我们这里使用上面配置好的DR方式的WEB集群来测试,所以使用的是比较常见的间隔访问HTTP页面的方式来检测健康状态。
实验环境:
实验步骤:
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、重启服务,如下所示:
再次测试:
在物理机中进行测试,发现我们可以在两台服务器都宕机之后,输出特定的内容,如下所示:
