使用ldirectord实现LVS健康检测

注意:在LVS/DR模式环境下,具体配置见上篇LVS/DR配置

1.1 ldirectord介绍

  • LVS监控: ldirectord 主要设计用于监控Linux虚拟服务器(LVS)架构中的服务器池状态。LVS是一种负载均衡解决方案,用于将网络流量和请求分发到多个服务器上。

  • 运行环境: ldirectord 运行在IPVS节点上,即负载均衡器所在的服务器上。

  • 守护进程: 它作为一个守护进程运行,这意味着它会在后台持续运行,监控服务器池中服务器的状态。

  • 健康检查: ldirectord 通过向服务器池中的每个真实服务器发送请求来执行健康检查。这些请求可以是TCP连接、HTTP请求或其他类型的网络请求,具体取决于配置。

  • 自动管理: 如果某个服务器没有响应 ldirectord 发送的请求,ldirectord 会认为该服务器不可用,并使用 ipvsadm 工具从IPVS表中删除该服务器的条目。ipvsadm 是一个用于管理IP虚拟服务器的命令行工具。

  • 恢复处理: 当不可用的服务器再次变得可用并能够响应健康检查时,ldirectord 同样会使用 ipvsadm 将该服务器重新添加到IPVS表中。

  • 高可用性: 通过自动添加和删除服务器,ldirectord 有助于维护LVS架构的高可用性,确保流量始终被分发到健康的服务器上。

  • 配置灵活: ldirectord 允许管理员自定义健康检查的频率、类型和超时设置,以适应不同的监控需求。

  • 日志和监控: 它可能还提供日志记录功能,帮助系统管理员跟踪服务器状态的变化和 ldirectord 的操作。

  • 开源社区: 作为一个开源工具,ldirectord 可能会有一个活跃的社区,提供支持和分享最佳实践。

1.1.1 模拟一台Nginx宕机

[root@LVS-RS2 ~]# systemctl stop nginx.service 
​
[root@LVS ~]# ipvsadm -Ln   #并没有将RS2删除
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags-> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  192.168.110.10:80 rr-> 192.168.110.32:80            Route   1      0          10        -> 192.168.110.33:80            Route   1      5          5       
​
[root@Client ~]# for ((i=1;i<=10;i++)); do curl http://192.168.110.10; done
curl: (7) Failed to connect to 192.168.110.10 port 80: Connection refused
This is LVS test IP=192.168.110.32  Host=LVS-RS1
curl: (7) Failed to connect to 192.168.110.10 port 80: Connection refused
This is LVS test IP=192.168.110.32  Host=LVS-RS1
curl: (7) Failed to connect to 192.168.110.10 port 80: Connection refused
This is LVS test IP=192.168.110.32  Host=LVS-RS1
curl: (7) Failed to connect to 192.168.110.10 port 80: Connection refused
This is LVS test IP=192.168.110.32  Host=LVS-RS1
curl: (7) Failed to connect to 192.168.110.10 port 80: Connection refused
This is LVS test IP=192.168.110.32  Host=LVS-RS1

1.2 使用ldirectord实现LVS/DR的高可用

机器名称IP地址子网掩码说明
LVS192.168.110.41255.255.255.0负载均衡器
RS1192.168.110.32255.255.255.0真实服务器1
RS2192.168.110.33255.255.255.0真实服务器2
Client192.168.110.34255.255.255.0客户端

1.2.1 安装部署

[root@LVS ~]# yum install ldirectord -y    #Rocky 8 仓库没有这个包

1.2.2 配置

[root@LVS ~]# cp /usr/share/doc/ldirectord/ldirectord.cf /etc/ha.d/ldirectord.cf
[root@LVS ~]# vim /etc/ha.d/ldirectord.cf   #修改配置如下
# Global Directives
checktimeout=3
checkinterval=1
#fallback=127.0.0.1:80
#fallback6=[::1]:80
autoreload=yes
#logfile="/var/log/ldirectord.log"
#logfile="local0"
#emailalert="admin@x.y.z"
#emailalertfreq=3600
#emailalertstatus=all
quiescent=no
​
# Sample for an http virtual service
virtual=192.168.110.10:80real=192.168.110.32:80 gatereal=192.168.110.33:80 gatefallback=127.0.0.1:80 gateservice=httpscheduler=rrprotocol=tcpchecktype=negotiatecheckport=80[root@LVS ~]# systemctl start ldirectord.service

1.2.1 测试

[root@LVS ~]# watch -n 5 ipvsadm -Ln  #可以实时监控
​
[root@LVS ~]# 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.110.10:80 rr-> 192.168.110.32:80            Route   1      0          0         -> 192.168.110.33:80            Route   1      0          0   [root@LVS-RS2 ~]# systemctl stop nginx.service  #模拟宕机
​
[root@LVS ~]# 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.110.10:80 rr-> 192.168.110.32:80            Route   1      0          0      [root@Client ~]# for ((i=1;i<=10;i++)); do curl http://192.168.110.10; done  #请求全部转到RS1
This is LVS test IP=192.168.110.32  Host=LVS-RS1
This is LVS test IP=192.168.110.32  Host=LVS-RS1
This is LVS test IP=192.168.110.32  Host=LVS-RS1
This is LVS test IP=192.168.110.32  Host=LVS-RS1
This is LVS test IP=192.168.110.32  Host=LVS-RS1
This is LVS test IP=192.168.110.32  Host=LVS-RS1
This is LVS test IP=192.168.110.32  Host=LVS-RS1
This is LVS test IP=192.168.110.32  Host=LVS-RS1
This is LVS test IP=192.168.110.32  Host=LVS-RS1
This is LVS test IP=192.168.110.32  Host=LVS-RS1
​
[root@LVS-RS2 ~]# systemctl start nginx.service 
​
[root@LVS ~]# 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.110.10:80 rr-> 192.168.110.32:80            Route   1      0          10        -> 192.168.110.33:80            Route   1      0          0        

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/5476.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Enhancing Diffusion——利用三维透视几何约束增强扩散模型

概述 透视在艺术中被广泛研究&#xff0c;但现代高质量图像生成方法却缺乏透视精度。新的生成模型引入了几何约束&#xff0c;通过训练过程提高透视精度。这样可以生成更逼真的图像&#xff0c;并提高相关深度估计模型的性能。 最近的图像生成技术使研究人员能够创造性地进行…

点成分享 | 温度控制的艺术:TX150系列水浴中的稳定性与均匀性解析

前言 在实验室和工业生产中&#xff0c;温度控制对于确保实验结果的精确性和产品的高质量至关重要&#xff0c;尤其是针对温度敏感的样品和原材料&#xff0c;如蛋白酶等&#xff0c;微小的温度误差都会对实验结果可靠性和生产质量造成影响。而在控温性能中&#xff0c;稳定性…

自学Java要到什么程度才足够能力去实习和就业?

引言 Java&#xff0c;作为当今软件开发领域的主流编程语言之一&#xff0c;对于初学者而言&#xff0c;明确掌握到什么程度才能开始寻找实习和入职机会是至关重要的。这涉及到对Java知识体系的理解深度、技能掌握程度以及实际项目经验的积累。 本文将分别从实习和入职两个不…

学习VUE2第6天

一.请求拦截器 可以节流&#xff0c;防止多次点击请求 toast是单例 二.前置路由守卫 在Vue.js中&#xff0c;前置路由守卫是指在路由转换实际发生之前执行的钩子函数。这是Vue Router&#xff08;Vue.js官方的路由管理器&#xff09;提供的一种功能&#xff0c;允许开发者在用…

UNI-APP_拨打电话权限如何去掉,访问文件权限关闭

uniapp上架过程中一直提示&#xff1a;允许“app名”拨打电话和管理通话吗&#xff1f; uniapp配置文件&#xff1a;manifest.json “permissionPhoneState” : {“request” : “none”//拨打电话权限关闭 }, “permissionExternalStorage” : {“request” : “none”//访…

CAN总线介绍及在ZYNQ 7020中的应用

一、CAN总线协议介绍 1.CAN是 Controller Area Network 的缩写&#xff08;以下称为 CAN &#xff09;&#xff0c;是 ISO 国际标准化的串行通信协议。可以用来满足“多总线通信时&#xff0c;线束的数量过多”、“通过多个 LAN &#xff0c;进行大量数据的高速通信”的需要。…

设计数据库

一、设计数据库 ER图&#xff1a;Entity-Relation实体关系图 RDBMS关系型数据库管理系统里不支持多对多的关系&#xff0c;只支持一对一或一对多关系 1、数据库三大范氏 第一范式&#xff1a;每个字段不能再分 第二范式&#xff1a;每个表都有主键 第三范式&#xff1a;从…

FIFO Generate IP核使用——Native接口Basic页配置

Xilinx FIFO Generator IP核是一个经过全面验证的先入先出&#xff08;FIFO&#xff09;内存队列&#xff0c;专为需要按顺序存储和检索的应用而设计。该IP核为所有FIFO配置提供了优化解决方案&#xff0c;并在利用最小资源的同时实现最大性能&#xff08;高达500MHz&#xff0…

《Python编程从入门到实践》day19

#昨日知识点回顾 使用unittest模块测试单元和类 #今日知识点学习 第12章 武装飞船 12.1 规划项目 游戏《外星人入侵》 12.2 安装pygame 终端管理器执行 pip install pygame 12.3 开始游戏项目 12.3.1 创建Pygame窗口及响应用户输入 import sysimport pygameclass…

预编码算法学习笔记

预编码算法学习笔记 摘要&#xff1a; 本文将深入探讨预编码算法的学习要点&#xff0c;包括其基本概念、原理、实现方法以及在通信系统中的应用。通过详细的阐述和实例分析&#xff0c;帮助读者全面理解预编码算法&#xff0c;并掌握其在实际问题中的应用技巧。 关键词&…

vim与tmux配置文件及常用命令总结

一. 配置文件 1. .tmux.conf # 使用CtrlA作为前缀组合键 set -g prefix C-a unbind C-b bind C-a send-prefix# 支持鼠标操作 setw -g mouse on# 为了能够重新加载配置文件而无需重启tmux&#xff0c;可以绑定一个快捷键 bind r source-file ~/.tmux.conf \; display-message…

mysql linux远程连接失败处理

问题一&#xff1a;远程连接不上mysql&#xff0c;提示Access denied 一、通过下面命令连接不上数据库 mysql -uroot -p mysql -uroot -h 10.5.122.100 -P 3306 -p报错信息如下&#xff1a; ERROR 1045 (28000): Access denied for user ‘root’‘localhost’ (using passwo…

Android4.4真机移植过程笔记(三)

如果文章字体看得不是很清楚&#xff0c;大家可以下载pdf文档查看&#xff0c;文档已上传&#xff5e;oo&#xff5e; 7、安装加密APK 需要修改文件如下&#xff1a; 相对Android4.2改动还是蛮大的&#xff0c;有些文件连路径都变了: //Android4.2 1、frameworks/native/libs…

tableau基础学习——添加标靶图、甘特图、瀑布图

标靶图 添加参考线 添加参考分布 甘特图 创建新的字段 如设置延迟天数****计划交货日期-实际交货日期 为正代表提前交货&#xff0c;负则代表延迟交货 步骤&#xff1a;创建——计算新字段 把延迟天数放在颜色、大小里面就可以 瀑布图 两个表按照地区连接 先做个条形图&…

Linux的vim下制作进度条

目录 前言&#xff1a; 回车和换行有区别吗&#xff1f; 回车和换行的区别展示&#xff08;这个我在Linux下演示&#xff09; 为什么会消失呢? 回车和换行的区别 为什么\r和\n产生的效果不同&#xff1f; 打印进度条&#xff1a; &#xff08;1&#xff09;打印字符串 …

Anomalib:用于异常检测的深度学习库!

大家好,今天给大家介绍了一个用于无监督异常检测和定位的新型库:anomalib,Github链接:https://github.com/openvinotoolkit/anomalib 简介 考虑到可重复性和模块化,这个开源库提供了文献中的算法和一组工具,以通过即插即用的方法设计自定义异常检测算法。 Anomalib 包…

【STM32】快速使用F407通用定时器输出可变PWM

网上的文章太啰嗦&#xff0c;这里直接开始。 使用的是STM32CubeIDE&#xff0c;HAL。以通用定时器TIM12在 通道2上输出1KHz的PWM为例。 要确定输出的引脚、定时器连接在哪里。 TIM2、3、4、5、12、13、14在APB1上&#xff0c;最大计数频率84M。 TIM1、8、9、10、11在APB2…

RS0102YH8功能和参数介绍及如何计算热耗散

RS0102YH8功能和参数介绍-公司新闻-配芯易-深圳市亚泰盈科电子有限公司 RS0102YH8 是一款电平转换芯片&#xff0c;由润石&#xff08;RUNIC&#xff09;公司生产。以下是关于RS0102YH8的一些功能和参数的介绍&#xff1a; 电平转换功能&#xff1a; RS0102YH8旨在提供电平转换…

Web APIs 学习归纳5--- BOM浏览器对象

前面几节主要针对DOM进行了学习&#xff0c;现在开始新的内容的学习---DOM浏览器对象。 DOM是更注重页面&#xff08;document&#xff09;内容的设计&#xff0c;但是BOM不仅限于页面&#xff08;document&#xff09;的设计&#xff0c;而是更加全面包括页面的刷新&#xff0…

IP 端口号

IP && 端口号 一: IP二:端口号2.1:知名端口号2.2:端口号的重复问题业务端口:管理端口调试端口 2.3:如何确认端口号是否被其他进程占用??? 一: IP IP地址是网络层提供的概念,通过IP地址我们可以确定主机. 二:端口号 端口号是传输层提供的概念 一个端口号对应一个进…