news 2026/6/8 22:43:11

vrrp实例script和 real_server中的HTTP_GET健康检查区别,使用场景总结

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
vrrp实例script和 real_server中的HTTP_GET健康检查区别,使用场景总结

Keepalived核心健康检查:VRRP Script & HTTP_GET

在Keepalived高可用集群部署中,健康检查是保障服务连续性的核心机制。其中VRRP实例的script脚本检查与real_server的HTTP_GET检查是最常用的两种方式。

一、核心差异:从检测对象到作用机制

1. 检测维度:节点级 vs 服务级

  • VRRP Script:聚焦整个Keepalived节点的健康状态,检测范围涵盖节点可达性、系统级服务(如Nginx/HAProxy进程存活)、硬件资源等全局状态。
  • HTTP_GET:聚焦单个后端真实服务器(RealServer)的应用层健康状态,仅检测指定HTTP服务的可用性,不关心节点整体状态。

2. 作用机制:优先级调整 vs 负载池剔除

  • VRRP Script:通过weight参数影响节点优先级。脚本执行失败时,节点优先级会相应降低(通常配置为负数权重),当优先级低于备用节点时,触发VIP主备切换。
  • HTTP_GET:检测失败时,仅将当前RealServer从负载均衡池中移除,不影响Keepalived节点的主备角色,其他健康后端仍可正常承接请求。

3. 配置位置:全局独立配置 vs 实例内配置

  • VRRP Script:需在global_defs外单独定义vrrp_script块,通过track_script在VRRP实例中引用,支持自定义脚本逻辑。
  • HTTP_GET:直接嵌套在real_server配置块内,仅针对当前后端服务生效,配置更轻量化。

二、配置实战

1. VRRP Script配置(节点级检测)

适用于检测Nginx/HAProxy等反向代理服务的存活状态,确保节点故障时自动切换:

# 定义检测脚本 vrrp_script chk_nginx { script "/etc/keepalived/check_nginx.sh" # 自定义脚本路径 interval 1 # 检测间隔1秒 weight -30 # 失败时优先级降低30 fall 3 # 连续3次失败判定异常 rise 2 # 连续2次成功判定恢复 } # 在VRRP实例中引用 vrrp_instance VI_1 { state MASTER interface ens37 virtual_router_id 50 priority 100 track_script { chk_nginx # 关联检测脚本 } # 其他配置(认证、VIP等) }

配套脚本check_nginx.sh核心逻辑:

#!/bin/bash# 检查Nginx进程是否存在nginx_count=$(ps-C nginx --no-header|wc-l)if[$nginx_count-eq0];thensystemctl start nginx# 尝试重启sleep2if[$(ps-C nginx --no-header|wc-l)-eq0];thensystemctl stop keepalived# 重启失败触发切换fifi

2. HTTP_GET配置(服务级检测)

适用于检测后端Web服务可用性,确保故障服务不承接请求:

virtual_server 10.0.0.100 80 { lb_algo rr lb_kind DR protocol TCP # 后端真实服务器配置 real_server 10.0.0.14 80 { HTTP_GET { url { path / # 检测路径 status_code 200 # 期望响应码 } connect_timeout 3 # 连接超时3秒 nb_get_retry 3 # 重试3次 delay_before_retry 1 # 重试间隔1秒 } } }

三、适用场景

1. 优先用VRRP Script的场景

  • 核心反向代理节点的高可用(如Nginx/HAProxy集群),需节点级故障切换。
  • 检测系统级资源(如磁盘空间、内存使用率),避免节点因资源耗尽影响服务。
  • 需要自定义复杂检测逻辑(如结合日志分析、多服务联动检测)。

2. 优先用HTTP_GET的场景

  • 后端多RealServer负载均衡,需精准剔除单个故障服务。
  • Web服务健康检测(如接口可用性、页面完整性),需应用层状态验证。
  • 无需节点切换,仅需负载池动态调整的场景(如微服务集群后端)。

3. 组合使用场景

在高可用负载均衡架构中,可同时配置两种检查:

  • VRRP Script保障反向代理节点存活,实现节点级切换。
  • HTTP_GET保障后端RealServer健康,实现服务级故障隔离。
    这种组合既能避免节点单点故障,又能精准过滤异常后端,大幅提升集群稳定性。

四、关键注意事项

  1. VRRP Script的weight值需合理配置,确保优先级差值能触发切换(如主节点优先级100,备用节点90,脚本权重-30)。
  2. HTTP_GET不支持复杂逻辑,若需检测HTTPS服务,可改用SSL_GET配置。
  3. 避免过度检测:VRRP Script间隔建议≥1秒,HTTP_GET重试次数≤3次,防止占用过多资源。
  4. 脚本执行权限:VRRP Script默认以root用户执行,自定义脚本需确保可执行权限(chmod +x)。

总结

VRRP Script和HTTP_GET虽同为健康检查机制,但定位截然不同:前者守护Keepalived节点可用性,后者保障后端服务可用性。实际部署中,需根据集群架构分层配置——节点级故障用VRRP Script触发切换,服务级故障用HTTP_GET剔除异常,二者协同构建多层次高可用防护体系。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/19 7:13:14

aa---(9)

41.PetsThe cat.The dog.The bunny.The bird.The goldfish.The mouse.The turtle.The hamster(仓鼠).42.Picking ApplesFocus QuestionWhat can you see when picking apples from trees?apples friends basket ladder farmer tractor(拖拉机)textThe farmer.The tractorThe t…

作者头像 李华
网站建设 2026/5/22 7:33:03

下一代CMO的核心课题:通过GEO优化,管理AI口中的“品牌第二身份”

生成式AI的普及正在引发一场静默但深刻的变革:搜索引擎的“答案页”正被AI助手的“对话流”所取代。当用户习惯于向ChatGPT、Copilot等工具直接提问并获取整合答案时,传统的“关键词排名-链接点击”营销逻辑便出现了根本性断裂。在这一断裂处兴起的新领域…

作者头像 李华
网站建设 2026/6/5 12:37:28

永磁同步电机(PMSM)匝间短路故障Simulink仿真探索

永磁同步电机(pmsm)匝间短路故障simulink仿真。 提供文档参考说明。在电机领域,永磁同步电机(PMSM)以其高效、节能等诸多优点,被广泛应用于工业驱动、电动汽车等多个场景。然而,电机运行过程中&…

作者头像 李华
网站建设 2026/6/5 21:18:40

交通仿真软件:SUMO_(18).交通仿真中的机器学习应用

交通仿真中的机器学习应用 在交通仿真领域,机器学习技术的应用已经变得越来越广泛。通过机器学习,我们可以更准确地预测交通流量、优化交通信号控制、提高路径规划的效率等。本节将详细介绍如何在交通仿真软件中应用机器学习技术,特别是如何在…

作者头像 李华
网站建设 2026/6/6 22:56:29

刚拿到注塑厂报价单就懵?塑料粒子价格波动像坐过山车?今天直接甩你一套车间老师傅用了十年的硬核工具包,手把手教你拆解注塑成本(文末有彩蛋)

注塑成本计算和降本资料,内含注塑成本分析表,塑胶产品报价表,注塑成型周期及计算公式和各种塑料成本,有需求的朋友不要错过。 好评后送钣金、铸造、机加工等核价表材料费计算别只会用计算器敲,试试这个Python脚本&…

作者头像 李华