lvs中DR模式的健康检测(ldirectord、keepalived)

DR模式实验环境搭建

(1)清理之前隧道模式写的策略
在这里插入图片描述
(2)去除ipip模块
调度器和后端服务器都去除掉ipip模块
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
(3)调度器中配置DR模式下的规则,添加对外开放VIP
在这里插入图片描述
(4)后端服务器添加RIP
在这里插入图片描述
在这里插入图片描述
客户端测试:
可以正常访问,此时DR模式就搭建好了
在这里插入图片描述
问题:后端服务不能正常工作
模拟问题:关闭后端web2服务器
在这里插入图片描述
客户端访问时会出现下图所示结果,用户体验极差
在这里插入图片描述
如何避免不能正常工作的后端服务器所反馈的信息显示出来?
将它踢出服务器群组,等它可以正常工作时再引进

在lvs中DR模式下实现健康检测

配置后端的健康检查两种方式:
一种是使用第三方插件ldirectord,另一种是使用keepalived,实现高可用和健康检查
ldirectord方式实现健康检测:
(1)获取ldirectord安装包
在这里插入图片描述
(2)搭建第三方软件yum源(高可用)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
(3)安装ldirectord插件,找到配置文件并修改,开启ldirectord
在这里插入图片描述
配置文件更改如下图所示:虚拟ip地址、后端服务器真实ip地址,fallback表示RS都不能正常工作时,访问我本机的80端口(一般情况企业的后端服务器都不会出现这种情况,除非是更新服务,访问调度器时会出现页面走丢了提示)
在这里插入图片描述
(4)测试:
停掉web2(server3)
客户端进行访问,用户是无感知的,用户访问不会受到影响,实现了健康访问
在这里插入图片描述
在这里插入图片描述
当服务器有问题,会自动把它踢除服务集群
在这里插入图片描述
两台后端服务器都停掉
调度器主机安装apache服务,关闭varnish,将端口8080改为80,并在默认发布目录下写入"您访问的页面走丢了",重启httpd服务
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
客户端访问时:lvs服务器会给客户端一个响应
在这里插入图片描述
当恢复web1(server2)后端服务器
在这里插入图片描述
客户端再次访问,资源就又回来了
在这里插入图片描述
keepalived方式实现健康检测:
keepalived介绍:
keepalived是一个类似于layer3, 4 & 5交换机制的软件,也就是我们平时说的第3层、第4层和第5层交换。Keepalived是自动完成,不需人工干涉。
主要用作RealServer的健康状态检查以及LoadBalance主机和BackUP主机之间failover的实现
Keepalived的作用是检测服务器的状态,如果有一台web服务器宕机,或工作出现故障,Keepalived将检测到,并将有故障的服务器从系统中剔除,同时使用其他服务器代替该服务器的工作,当服务器工作正常后Keepalived自动将服务器加入到服务器群中,这些工作全部自动完成,不需要人工干涉,需要人工做的只是修复故障的服务器

失效转移(failover)是一种备份操作模式,当主要组件由于失效或预定关机时间的原因而无法工作时,这种模式中的系统组件(比如服务器、网络或数据库)的功能被转嫁到二级系统组件

问题引入:
当LoadBalance主机(调度器)不能正常工作时,客户就彻底不能访问了
解决方法:
设置调度器的master和调度器backup(主从)
在两台调度器上使用keepalived服务就可以将两个调度器关联在一起,keepalived检测两个调度器的工作情况
使用keepalived代理lvs,它具有lvs的功能,但同时可以有多个,有主有备用
当主挂了备用就去做轮询,当主好了备用就把任务还给主
当主调度器正常工作时,keepalived就会通知备用调度器自己可以正常工作,不需要接管自己的任务
当主调度器不能正常工作时,备份调度器就会自动去接管主调度器的工作,这个时候客户端访问依然可以正常访问到数据资源

实验:
(1)在物理机中创建一个快照node4(虚拟机server4),用来做备用调度器在这里插入图片描述
(2)server1和server4虚拟机从物理机上获取keepalived安装包资源在这里插入图片描述在这里插入图片描述
(3)在server1和1server4主机上对keepalived安装包解压,安装C编译器和keepalived的依赖性软件包
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
(4)在server1和1server4主机上对keepalived安装包源码编译,安装keepalived时指定安装位置目录
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
(5)编辑主节点调度器的keepalived.conf配置文件

cd /usr/local/keepalived	##进入安装目录
ln -s /usr/local/keepalived/etc/keepalived /etc	##将配置文件做成软链接
/etc/init.d/ldirectord stop	##关闭之前的ldirectord健康检测
vim /etc/keepalived/keepalived.conf	##编辑配置文件

在这里插入图片描述
在这里插入图片描述
发邮件到本机
邮件发送来自谁
写入VIP

在这里插入图片描述
改为DR模式,添加后端服务器
在这里插入图片描述
开启keepalived健康检测服务
在这里插入图片描述
(6)编辑备用节点调度器的keepalived.conf 配置文件
将主节点的keepalived.conf 配置文件远程传输到备用节点家目录下
编辑配置文件,将里面的MASTER改为BACKUP,优先级改为50,比主节点(100)低的数值
开启keepalived健康检测服务
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
(7)测试
入口地址(VIP)自动添加到了主调度器上
172.25.254.100/32

在这里插入图片描述
删除ldirectord实验时手动添加的ip地址
在这里插入图片描述
物理机上执行curl 172.25.12.100命令,可以正常访问(轮询)
在这里插入图片描述
当主调度器可以正常工作,备份调度器不被使用,VIP没有显现出来
在这里插入图片描述
停止web2(server3)再去访问
依然是可以健康访问到数据资源
监控系统日志信息,停止web2(server3),主节点尝试三次连接它,没有连接上,认为它已经挂了,Keepalived检测到,就将它剔除服务器集群,同时使用web1服务器代替该服务器的工作
在这里插入图片描述
在这里插入图片描述
在主节点上安装邮件服务:yum install -y mailx
接收到邮件:web2(server3)状态是DOWN
在这里插入图片描述
开启刚才关闭的web服务器,再去访问
监控系统日志信息,开启刚才关闭web2(server3),当服务器工作正常后Keepalived自动将服务器加入到服务器群中,这些工作全部自动完成
在这里插入图片描述
在这里插入图片描述
实现两个lvs调度器之间轮询
监控系统信息日志,关闭server1上的keepalived后,发现入口地址漂移到了server4上,
客户端依然可以正常访问
当主节点再次开启之后,入口地址又回到主节点调度器上
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值