LVS_DR模式的健康检查(ldirectord)

注意:该健康检查是在DR模式下进行的。

一.为什么要进行健康检查?

当后端真实服务器出现问题时,那么客户端在访问时可能会给用户返回错误的界面,所以我们需要对后端真实服务器进行健康检查,保证给用户返回正确信息。

二.在调度器(server1)上部署健康检查功能

1.添加高可用yum源

[root@server1 ~]# vim /etc/yum.repos.d/rhel-source.repo               #在原来的yum源的基础上添加如下内容

[HighAvailability]                             //高可用
name=Red Hat Enterprise Linux $releasever - $basearch - Source
baseurl=http://172.25.83.83/rhel6.5/HighAvailability
enabled=1
gpgcheck=0

[root@server1 ~]# yum   clean  all

[root@server1 ~]# yum   repolist              ##可以看到新的yum源的软件数有3750(高可用有56个包);如果不是,代表yum源的搭建有误。

2.安装健康检查需要安装的安装包:ldirectord-3.9.5-3.1.x86_64.rpm

3.将配置文件拷贝到/etc/ha.d目录下

4.编辑配置文件

[root@server1 ha.d]# vim   ldirectord.cf

25 virtual=172.25.83.100:80                   ##LB的虚拟IP
26         real=172.25.83.2:80 gate          ##真实服务器的IP
27         real=172.25.83.3:80 gate          ##真实服务器的IP
28         fallback=127.0.0.1:80 gate
29         service=http
30         scheduler=rr
31         #persistent=600
32         #netmask=255.255.255.255
33         protocol=tcp
34         checktype=negotiate
35         checkport=80
36         request="index.html"
37         #receive="Test Page"
38         #virtualhost=www.x.y.z

5.开启服务

6.在调度器(server1)上下载httpd服务并开启,在默认发布目录下编辑默认发布文件,写入当服务器出现问题时给用户所展现的内容

[root@server1 ha.d]# yum   install   httpd

[root@server1 ha.d]# /etc/init.d/httpd   start

[root@server1 ha.d]# cd   /var/www/html/
[root@server1 html]# vim   index.html

<h1>网站维护中...</h1>

客户端测试:

1.后端服务器都正常时,实现轮循

2.当server2关掉即一台真实服务器出现问题时,则只调度server3

此时调度器中剩下的真实的服务器只剩下server3。

3.将server1上的httpd服务端口该为80(之前做CDN推送时将端口该为8080),关掉server2和server3,即当两台服务器都出现问题时,会出现错误页面(调度器server1的httpd服务的默认发布文件中的内容)

此时调度器中已经没有真实服务器。

即:测试时,如果当关闭server3的httpd,只会server2;如果server2和server3的httpd 都关闭时,我们访问100这个IP时,它会访问本地,即显示:系统正在维护中……

实验中遇到的问题:如果在调度器(server1)上的/var/www/html目录中,删除index.html文件以外的文件,会出现下面的内容。

所以要删除/var/www/html目录中的index.html文件以外的文件。

猜你喜欢

转载自blog.csdn.net/qq_42303254/article/details/86935837