高可用架构 怎么配置Keepalived抢占式工作模式

夜婷大大_3414

夜婷大大_3414

2026-10-08

183人浏览

原创

keepalived 默认为抢占式模式,主节点设 state master、priority 高于备节点(如120 vs 100),不配置 nopreempt 即可实现vip自动抢回;需确保 virtual_router_id、authentication 等参数一致,并建议结合 track_script 健康检查动态调整优先级。

高可用架构 怎么配置keepalived抢占式工作模式

Keepalived 默认就是抢占式工作模式,不需要额外开启——只要不配置 nopreempt,它就会在高优先级节点恢复后立即抢回 VIP。

抢占式的核心配置要点

抢占式依赖 VRRP 协议的天然机制:谁 priority 高、谁发通告快,谁就当 MASTER。关键在于角色状态、优先级差和健康联动。

Codex Auth Cleaner
Codex Auth Cleaner

一款AI工具,主要用于Monitor and clean up invalid Codex authentication files in CPA. Check quota status, disable files returning 401 errors, and perform dual verification before deletion.,适合需要提升相关任务效率的用户。

下载
  • 主节点设为 state MASTER,备节点设为 state BACKUP:这是最直观的主备标识,也是默认抢占的前提
  • 主节点 priority 必须严格高于备节点(如 120 vs 100),差值建议 ≥20,避免因微小抖动误切
  • interface、virtual_router_id、authentication 必须完全一致:否则两个节点无法识别为同一 VRRP 组,根本不会通信
  • 不要加 nopreempt 参数:一旦加上,就变成非抢占;默认不写即为抢占

一个典型抢占式双机配置示例

假设 VIP 是 192.168.1.210,主节点 IP 为 192.168.1.201,备节点为 192.168.1.202:

  • 主节点(nginx-01)/etc/keepalived/keepalived.conf 片段:
    vrrp_instance VI_1 {
      state MASTER
      interface eth0
      virtual_router_id 51
      priority 120
      advert_int 1
      authentication {
        auth_type PASS
        auth_pass 1111
      }
      virtual_ipaddress {
        192.168.1.210
      }
    }
  • 备节点(nginx-02)对应部分只需改两处:
      state BACKUP
      priority 100

让抢占更可靠:搭配健康检查

纯靠 priority 抢占有风险——比如 nginx 还没起来,Keepalived 就已抢回 VIP。推荐用 track_script 动态调优优先级:

  • 定义一个检查脚本:
    vrrp_script chk_nginx {
      script "/usr/bin/pgrep -x nginx > /dev/null"
      interval 2
      weight -30
    }
  • 在 vrrp_instance 中引用:
    track_script {
      chk_nginx
    }

    这样,主节点 nginx 崩溃时,它的实际 priority = 120 − 30 = 90,低于备节点的 100,自动降级;恢复后 priority 回到 120,立刻触发抢占

注意几个易错细节

  • 防火墙要放行 VRRP 组播流量(目的 IP 224.0.0.18,协议 VRRP/112)
  • 所有节点的 virtual_router_id 必须相同且唯一,不能与其他 Keepalived 实例冲突
  • 如果使用云环境(如阿里云、AWS),需确认是否支持组播或改用单播(unicast_peer)
  • 日志里看到 “VRRP_Instance(VI_1) Entering MASTER STATE” 表示抢占成功,“Transition to MASTER STATE” 表示正在切换

相关专题

更多
服务器是什么
服务器是什么

服务器是一种计算机硬件设备或软件程序,它具有强大的计算和存储能力,用请求、存储数据和提供服务。它在互联网中着关重要的作用,为用户提供各种服务和资源。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.15

437

5

连接apple id服务器时出错
连接apple id服务器时出错

连接apple id服务器时出错的原因包括网络连接问题、服务器问题、Apple ID账户问题、设备问题、防火墙或安全软件问题、时间和日期设置问题、Apple服务器维护等。本专题为大家提供apple id相关的文章、下载、课程内容,供大家免费下载体验。

2023.09.08

900

5

搭建互联网服务器
搭建互联网服务器

搭建互联网服务器需要:1、选择合适的硬件和操作系统,第一步是选择合适的硬件和操作系统;2、安装和配置操作系统,是搭建互联网服务器的关键步骤;3、安装和配置服务器软件,是搭建互联网服务器的下一步,常见的服务器软件包括Apache、Nginx、Tomcat等;4、配置防火墙和安全性,是搭建互联网服务器的重要步骤;5、域名解析和配置,是搭建互联网服务器的最后一步。

2023.09.19

2772

5

如何查看服务器状态
如何查看服务器状态

查看服务器状态的方法有使用命令行工具、图形界面工具、监控工具、日志文件和远程管理工具等。本专题为大家提供服务器状态相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.09

936

5

服务器域名转接慢怎么解决
服务器域名转接慢怎么解决

服务器域名转接慢的解决办法有DNS优化、服务器优化、CDN加速、前端优化和网络优化等。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.17

829

5

服务器评测软件
服务器评测软件

服务器评测软件有PassMark Software、CPU-Z、GPU-Z、CrystalDiskMark、IOmeter、JMeter、LoadRunner、Apache Bench等等。详细介绍:1、PassMark Software是一款综合性的服务器性能测试软件,可以评估服务器在各种负载条件下的性能;2、CPU-Z是一款可以提供服务器CPU详细信息的软件等等。

2023.10.17

414

3

如何开启TFTP服务器
如何开启TFTP服务器

开启TFTP服务器的步骤包括选择TFTP服务器软件、下载和安装软件、配置TFTP服务器以及启动和测试服务器等。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.18

2516

4

服务器负载不兼容怎么解决
服务器负载不兼容怎么解决

解决方法:1、增加服务器资源;2、负载均衡;3、优化应用程序;4、增加缓存机制;5、分布式架构;6、限流和熔断;7、自动化扩容。想知道更详细服务器负载不兼容的解决方法,可以访问本专题下面的文章。

2023.10.20

4652

4

宽带如何接入服务器
宽带如何接入服务器

宽带接入服务器的方法有ADSL宽带接入服务器、光纤接入服务器、无线接入服务器和以太网接入服务器等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.20

747

5

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
phpStudy极速入门视频教程
phpStudy极速入门视频教程

共6课时 | 54.6万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时 | 133.4万人学习