VRRP 多节点工作原理

基本概念

  • VRRP 的设计初衷是给一组节点提供一个 虚拟路由器,对外只表现出一个 VIP
  • 协议规定:同一个 VRRP 实例 下始终只有 一个 Master 持有 VIP,其它全部是 Backup。
    • Master → 持有 VIP,负责转发流量到Master或Backup;
    • Backup → 不持有 VIP,只监听 Master 状态。

优先级机制

节点A (Priority: 100) --> Master
节点B (Priority: 90)  --> Backup
节点C (Priority: 80)  --> Backup  
节点D (Priority: 70)  --> Backup

当 Master 故障时,优先级最高的 Backup 会接管成为新的 Master。

多节点配置示例

节点1配置(优先级最高)

# /etc/keepalived/keepalived.conf
vrrp_instance VI_1 {state MASTERinterface eth0virtual_router_id 51priority 100        # 最高优先级advert_int 1authentication {auth_type PASSauth_pass 1234}virtual_ipaddress {192.168.1.100}
}

节点2配置(第二优先级)

vrrp_instance VI_1 {state BACKUPinterface eth0virtual_router_id 51priority 90         # 第二优先级advert_int 1authentication {auth_type PASSauth_pass 1234}virtual_ipaddress {192.168.1.100}
}

节点3配置(第三优先级)

vrrp_instance VI_1 {state BACKUPinterface eth0virtual_router_id 51priority 80         # 第三优先级advert_int 1authentication {auth_type PASSauth_pass 1234}virtual_ipaddress {192.168.1.100}
}

故障切换流程

正常状态

Master (Priority: 100) -- 持有 VIP|+-- 发送 VRRP 广播|
Backup1 (Priority: 90) -- 监听 VRRP 广播|
Backup2 (Priority: 80) -- 监听 VRRP 广播|
Backup3 (Priority: 70) -- 监听 VRRP 广播

Master 故障时

1. Master 停止发送 VRRP 广播
2. 所有 Backup 节点检测到超时
3. Backup 节点开始选举:- Backup1 (90) vs Backup2 (80) vs Backup3 (70)- Backup1 胜出,成为新 Master
4. 新 Master 接管 VIP

高级特性

1. 抢占模式(Preempt)

vrrp_instance VI_1 {state BACKUPnopreempt           # 非抢占模式priority 100# ... 其他配置
}
  • 抢占模式(默认):高优先级节点恢复后会抢回 Master 角色
  • 非抢占模式:即使高优先级节点恢复,当前 Master 也不会让出

2. 优先级动态调整

vrrp_script chk_nginx {script "/etc/keepalived/check_nginx.sh"interval 2weight -20          # 检查失败时优先级减20
}vrrp_instance VI_1 {state BACKUPpriority 100track_script {chk_nginx}
}

3. 多组 VRRP 实例

可以配置多个 VRRP 实例实现负载分担:

# 节点1:VI_1 的 Master,VI_2 的 Backup
vrrp_instance VI_1 {state MASTERpriority 100virtual_ipaddress {192.168.1.100}
}vrrp_instance VI_2 {state BACKUPpriority 90virtual_ipaddress {192.168.1.101}
}# 节点2:VI_1 的 Backup,VI_2 的 Master
vrrp_instance VI_1 {state BACKUPpriority 90virtual_ipaddress {192.168.1.100}
}vrrp_instance VI_2 {state MASTERpriority 100virtual_ipaddress {192.168.1.101}
}

实际应用场景

1. 数据库集群(3节点)

主数据库 (Priority: 100)
从数据库1 (Priority: 90) -- 同步延迟较小
从数据库2 (Priority: 80) -- 同步延迟较大

2. Web服务集群(4节点)

Web1 (Priority: 100) -- 配置最高
Web2 (Priority: 95)  -- 配置次高
Web3 (Priority: 90)  -- 配置中等
Web4 (Priority: 85)  -- 配置较低

3. 混合优先级策略

# 基于服务器性能和网络位置设置优先级
vrrp_instance VI_1 {state BACKUPpriority 100        # 基础优先级track_script {chk_cpu_load    # CPU 负载高时 -30chk_mem_usage   # 内存不足时 -20chk_service     # 服务异常时 -50}
}

注意事项

  1. 优先级范围:1-254(0和255保留)
  2. 相同优先级:如果多个节点优先级相同,IP 地址较大的节点优先
  3. 网络分区:需要考虑脑裂问题,可能需要额外的仲裁机制
  4. 广播风暴:节点过多时要注意 VRRP 广播对网络的影响
  5. 典型模式: 1 主 + N 备,通过优先级和抢占来实现层级式 Failover。

VRRP 的多节点支持使得它非常适合构建高可用集群,不仅限于简单的主备模式,可以根据实际需求灵活配置。

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

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

相关文章

Gradio全解11——Streaming:流式传输的视频应用(9)——使用FastRTC+Gemini创建沉浸式音频+视频的艺术评论家

Gradio全解11——Streaming:流式传输的视频应用(9)——使用FastRTCGemini创建沉浸式音频视频的艺术评论家11.9 使用FastRTCGemini创建实时沉浸式音频视频的艺术评论家11.9.1 准备工作及音频图像编码器1. 项目说明及准备工作2. 音频和图像编码…

Django入门笔记

Python知识点:函数、面向对象。前端开发:HTML、CSS、JavaScript、jQuery、BootStrap。MySQL数据库。Python的Web框架:Flask,自身短小精悍 第三方组件。Django,内部已集成了很多组件 第三方组件。【主要】1.安装djang…

当Claude Code失灵,Qwen Code能否成为你的救星?

当Claude Code失灵,Qwen Code能否成为你的救星? 一、开头:点明困境,引出主角 作为一个大模型博主,日常工作中我经常会使用各种 AI 工具来提高效率,Claude Code 就是我之前非常依赖的一款代码生成助手 。它…

Go语言快速入门教程(JAVA转go)——1 概述

优势 第一个理由:对初学者足够友善,能够快速上手。 业界都公认:Go 是一种非常简单的语言。Go 的设计者们在发布 Go 1.0 版本和兼容性规范后,似乎就把主要精力放在精心打磨 Go 的实现、改进语言周边工具链,还有提升 Go …

【Rust多进程】征服CPU的艺术:Rust多进程实战指南

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,…

OpenCV 高阶实战:图像直方图与掩码图像深度解析

目录 一、图像直方图:读懂图像的 “像素分布报告” 1. 什么是图像直方图? 2. 图像直方图的核心作用 (1)分析亮度分布 (2)判断对比度高低 (3)辅助图像增强与阈值分割 &#xf…

基于stm32的家庭安全监测系统设计

若该文为原创文章,转载请注明原文出处。一、引言(一)研究背景及意义背景:随着智能家居概念的普及,人们对家庭安全、舒适度和节能提出了更高要求。传统安防系统功能单一、各系统独立,缺乏联动和远程管理能力…

Oracle体系结构-控制文件(Control Files)

一、 原理 (Principle) 核心定位: 控制文件是一个小型的二进制文件,由 Oracle 实例在启动和操作过程中持续读写。它是数据库物理结构的权威记录。数据库无法启动或正常操作时,如果无法访问控制文件,实例将无法识别数据文件和重做日…

路由 下一跳 网关 两个不同网段的ip如何通过路由器互通

路由 (Routing)核心思想:路径选择是什么? 路由是指数据包从源主机传输到目标主机的整个过程。这个过程就像寄快递:你需要决定包裹经过哪些中转站才能最终到达收件人手里。做什么? 网络中的设备(主要是路由器&#xff0…

HiDDeN论文解读与代码实现

论文:HiDDeN: Hiding Data With Deep Networks 作者:Jiren Zhu, Russell Kaplan, Justin Johnson, Li Fei-Fei一、研究背景 在图像信息隐藏领域,通常有两类典型的应用场景:隐写 (Steganography) 目标:实现秘密通信。要…

实验室服务器配置|实验室多人共享GPU|通过Docker实现Linux系统多用户隔离与安全防控

利用实验室服务器跑实验的时候,通常就是两种方案,一个是向日葵远程桌面进行操作,一个是通过ssh进行连接,用ssh的话,一般服务器都在内网(例如校园网),是无法在公网(不在校…

2019考研数学(二)真题

一、选择题 (1) (2) (3) (4) 遗漏点:由通解知特解,特解代入微分方程 (5) ★记住这个题,用的泰勒展开(6) (7) 遗忘点: ★伴随矩阵的秩与原矩阵秩的关系: (8) 错误点:粗心 二、填空题 (9) 易混淆点&#xff…

10 分钟上手 ECharts:从“能跑”到“生产级”的完整踩坑之旅

10 分钟上手 ECharts:从“能跑”到“生产级”的完整踩坑笔记 如果你也曾 复制了官方 Demo 却不知道怎么拆、窗口一拉伸图表就变形、切换标签页后内存暴涨——这篇博客就是为你写的。 我会用 6 个递进版本 的源码,带你把一张 最简柱状图 逐步进化成 可销毁…

二级缓存在实际项目中的应用

二级缓存在项目中的应用 目录 1. 二级缓存简介2. 应用场景3. 重难点分析4. 结合SpringBoot使用5. 最佳实践与案例6. 总结 1. 二级缓存简介 1.1 什么是二级缓存 二级缓存(Second-Level Cache) 是Hibernate框架中的一个重要特性,它提供了应…

深入浅出CRC校验:从数学原理到单周期硬件实现 (2)CRC数学多项式基础

数学的优雅:剖开CRC的多项式除法核心看似复杂的CRC校验,其核心建立在优雅的数学基础之上。本文将为您揭开CRC算法的数学面纱,让您真正理解多项式除法的精妙之处。模2运算:CRC世界的特殊算术 CRC计算建立在一种特殊的代数系统上——…

软考初级有没有必要考?

对正在学习相关专业的学生或者是行业新人,这篇文章从软考初级的含义、适合哪些人考、考试难度等方面解答,帮助你判断要不要报考。一、软考初级是什么? 软考初级是软考体系里面的基础级别,主要面向在校大学生或是IT行业新人&#x…

11 Prompt 工程进阶:Few-shot 与 Chain-of-Thought

11 Prompt 工程进阶:Few-shot 与 Chain-of-Thought 前10节总结 & 后10节展望 在前 10 节,我们已经完成了 AI 产品经理的入门阶段: 1–3:理解了大模型的基本概念、Token、Prompt 基础;4–5:体验了本地部…

ARM1.(ARM体系结构)

1.基本概念嵌入式:以应用为心,以计算机技术为础,软便件可被的专用计算机系统。计算机系统的软件基本组成: 系统软件、应用软件。计算机系统的硬件基本组成:运算器、控制器、存诸器、输入设备、输出设备日常生活中遇到的专业术语&#xff1a…

Django全栈班v1.01 Python简介与特点 20250910

从零开始的Python编程之旅 “人生苦短,我用Python。”这不仅仅是Python程序员的口头禅,更是对Python强大能力的最好诠释!!! 为什么全世界有超过1500万开发者选择Python? 为什么Python连续多年蝉联最受欢…

【WebApi】什么情况开启如何开启缓存

在 ASP.NET Core WebAPI 中开启缓存是优化性能、减少服务器负载和提升用户体验的非常重要的手段。但并非所有情况都适合开启缓存。 下面我将从 “什么情况下开启” 和 “如何开启” 两个方面为你详细解释。 一、什么情况下应该开启缓存? 总的来说,缓存适用于 “变化不频繁但…