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
相关推荐
大柏怎么被偷了15 分钟前
【Linux】进程等待
linux·运维·服务器
互联网老欣1 小时前
2025年保姆级教程:阿里云服务器部署Dify+Ollama,打造专属AI应用平台
服务器·阿里云·ai·云计算·dify·ollama·deepseek
偶像你挑的噻1 小时前
12-Linux驱动开发- SPI子系统
linux·驱动开发·stm32·嵌入式硬件
松涛和鸣2 小时前
16、C 语言高级指针与结构体
linux·c语言·开发语言·数据结构·git·算法
念风2 小时前
[lvgl]如何优雅地向lv_port_linux中添加tslib支持
linux
悦悦欧呐呐呐呐2 小时前
数据库事务是什么,怎么用的
服务器·数据库·oracle
自由的好好干活3 小时前
使用Qoder编写ztdaq的C#跨平台示例总结
linux·windows·c#·qoder
赖small强3 小时前
【Linux 网络基础】libwebsockets HTTPS 服务端实现机制详解
linux·网络·https·tls·libwebsockets
optimistic_chen4 小时前
【Redis 系列】Redis详解
linux·数据库·redis·缓存·xsheel
低客的黑调4 小时前
了解JVM 结构和运行机制,从小白编程Java 大佬
java·linux·开发语言