LVS-DR模式下(RS检测)ldirectord工具实现部分节点掉点后将请求发往正常设备进行处理

基于前文的LVS-DR集群构建环境

一.下载ldirectord软件

二.将模板文件中的LVS-DR模式相关文件拷贝到/etc/ha.d主配置目录并按实际设备修改

三.配置两台RS匹配规则

四.停止RS1的http服务进行测试

RS1失去工作能力,RS2接替RS1


基于前文的LVS-DR集群构建环境

一.下载ldirectord软件

复制代码
[root@localhost ~]# yum install -y ldirectord-4.1.1-3.40.el7.noarch.rpm
[root@localhost ~]# rpm -ql ldirectord
/etc/ha.d   #主配置目录
/etc/ha.d/conf
/etc/ha.d/resource.d
/etc/ha.d/resource.d/ldirectord
/etc/logrotate.d/ldirectord
/etc/rc.d/init.d/ldirectord
/run/ldirectord
/usr/lib/systemd/system/ldirectord.service   #服务管理
/usr/lib/tmpfiles.d/ldirectord.conf
/usr/sbin/ldirectord  #主程序
/usr/share/doc/ldirectord-4.1.1
/usr/share/doc/ldirectord-4.1.1/ldirectord.cf  #配置模板文件
/usr/share/man/man8/ldirectord.8.gz

二.将模板文件中的LVS-DR模式相关文件拷贝到/etc/ha.d主配置目录并按实际设备修改

复制代码
[root@localhost ha.d]# pwd
/etc/ha.d
[root@localhost ha.d]# vim ldirectord.cf 
checktimeout=3
checkinterval=1
autoreload=yes  #自动重载
logfile="/var/log/ldirectord.log"   #日志存放路径
quiescent=no

virtual=192.168.2.188:80   #VIP地址1
        servicename=Web Site
        comment=Test load balanced web site
        real=192.168.2.191:80 gate 2   #RS地址,gate表示权重1
        real=192.168.2.192:80 gate 3
        service=http  
        scheduler=wrr  #调度算法
        protocol=tcp  
        checktype=negotiate
        checkport=80
        request="index.html"
        receive="Test Page"
        virtualhost=www.x.y.z

三.配置两台RS匹配规则

复制代码
[root@localhost ha.d]# ipvsadm -Ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  192.168.2.188:80 wrr
[root@localhost ha.d]# ipvsadm -a -t 192.168.2.188:80 -r 192.168.2.191 -g -w 2
[root@localhost ha.d]# ipvsadm -a -t 192.168.2.188:80 -r 192.168.2.192 -g -w 3
[root@localhost ha.d]# ipvsadm
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  localhost.localdomain:http wrr
  -> 192.168.2.191:http           Route   2      0          0         
  -> 192.168.2.192:http           Route   3      0          0         

四.停止RS1的http服务进行测试

RS1失去工作能力,RS2接替RS1

复制代码
[root@localhost ~]# systemctl stop httpd.service
[root@localhost ~]# for ((i=1;i<=10;i++)); do curl 192.168.2.188:80; done
share192
curl: (7) Failed connect to 192.168.2.188:80; Connection refused
share192
share192
curl: (7) Failed connect to 192.168.2.188:80; Connection refused
share192
curl: (7) Failed connect to 192.168.2.188:80; Connection refused
share192
share192
curl: (7) Failed connect to 192.168.2.188:80; Connection refused
[root@localhost ~]# for ((i=1;i<=10;i++)); do curl 192.168.2.188:80; done
share192
curl: (7) Failed connect to 192.168.2.188:80; Connection refused
share192
share192
curl: (7) Failed connect to 192.168.2.188:80; Connection refused
share192
curl: (7) Failed connect to 192.168.2.188:80; Connection refused
share192
share192
curl: (7) Failed connect to 192.168.2.188:80; Connection refused
相关推荐
REDcker11 分钟前
Linux 进程资源占用分析指南
linux·运维·chrome
samroom13 分钟前
Linux系统管理与常用命令详解
linux·运维·服务器
一叶之秋14121 小时前
Linux基本指令
linux·运维·服务器
码割机1 小时前
Linux服务器安装jdk和maven详解
java·linux·maven
亚林瓜子1 小时前
在amazon linux 2023上面源码手动安装tesseract5.5.1
linux·运维·服务器·ocr·aws·ec2
爱学习的大牛1231 小时前
Ubuntu 24.04 安装 FreeSWITCH 完整教程
linux·freeswitch
FreeBuf_1 小时前
研究人员披露 Windows SMB 服务器权限提升漏洞(CVE-2025-58726)
运维·服务器·windows
go_bai2 小时前
Linux--进程池
linux·c++·经验分享·笔记·学习方法
人工智能训练2 小时前
在ubuntu系统中如何将docker安装在指定目录
linux·运维·服务器·人工智能·ubuntu·docker·ai编程
Lisonseekpan2 小时前
Linux 常用命令详解与使用规则
linux·服务器·后端