news 2026/4/19 1:35:12

Nginx高可用--Keepalived

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Nginx高可用--Keepalived

文章目录

      • keepalived 的 master 与 backup 配置的区别
      • **Keepalived高可用配置解析**
      • **keepalived高可用脑裂**
        • 可能导致脑裂的情况
        • 解决方案

什么是高可用

一般指2台机器启动着相同的业务系统,当有一台机器 down 机了, 另外一台服务器能快速的接管, 对于访问的用户是无感知的

高可用使用场景

业务系统需要保证 7x24 小时不 DOWN 机, 作为业务来说随时都可用, 让你的业务系统更顽强

keepalived 的 master 与 backup 配置的区别

配置项参数说明Master 节点配置Backup 节点配置
route_idKeepalived 实例的唯一标识(同一 VRRP 组内需不同,用于区分节点)route_id lb01route_id lb02
state节点角色状态(Master 为主动节点,Backup 为备用节点)state Masterstate Backup
priority竞选 MASTER 的优先级(数值越大,优先级越高,Master 需高于 Backup)priority 100priority 99

Keepalived高可用配置解析

对高可用的配置文件进行解析

Configuration Fileforkeepalived#注释global_defs{notification_email{acassen@firewall.loc#5-7发邮件给谁}notification_email_from Alexandre.Cassen@firewall.lo#发邮件发件人smtp_server192.168.200.1#邮件服务器地址smtp_connect_timeout30#超时时间router_id Nginx_01#主备ID不能一样}vrrp_instance VI_1{#实例名称(建议不修)state MASTER#服务器的状态(仅仅是傀儡)interface eth0#通信端口virtual_router_id51#实例的IDpriority150#优先级,主备之间最好相差50advert_int1#心跳间隔(如果一秒没通信备节点马上接管)authentication{auth_type PASS#PASS认证类型,此参数备节点设置和主节点相同auth_pass1111#密码是1111,此参数备节点设置和主节点相同}virtual_ipaddress{#vip(可以多个)172.16.1.11/24#26-28配置vIP地址,绑定在eth0 因为(interface eth0)}}

全局定义块部分:要设置 Keepalived 的通知机制和标识

第4-9行是email通知参数。作用:当LVS发生切换或RS等有故障时,会发邮件报警。这是可选配

notifucation_email指定在keepalived发生事件时,需要发给的email地址,可以有多个,每行一个

第10行是Lvs负载均衡器标示(rote_id)。在一个局域网内,它应该是唯一的

大括号”{}” 用来分隔定义块,因此必须成对出现。如果漏写了,keepalived运行时,不会得到预期的结果。由于定义块内存在嵌套关系,因此很容易遗漏结尾处的花括号,这点要特别注意。

keepalived高可用脑裂

是 Keepalived 部署中最常见的故障问题之一。简单来说,脑裂就是高可用集群的节点之间失去了心跳通信,导致每个节点都认为自己是唯一的 “主节点”,进而同时绑定 VIP、对外提供服务,最终引发集群混乱

可能导致脑裂的情况

服务器网线松动等网络故障

服务器硬件故障发生损坏现象而崩溃

主备都开启firewalld防火墙

Nginx服务死掉等

解决方案

编写检测脚本, 测试如果能ping通主并且备节点还有VIP的话则认为产生了列脑

#!/bin/shlb_vip=172.16.1.3master_ip=172.16.1.5whiletrue;doping-c2-W3-i0.01$master_ip&>/dev/nullif[$?-eq0-a`ipadd|grep"$lb_vip"|wc-l`-eq1];thenecho"warning,ha is split brain"elseecho"ha is ok"fisleep5done
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/16 13:36:36

第三方CNAS软件测试单位:【Gatling高级关联技术中的嵌套JSON、动态数组和上下文相关参数处理】

使用Gatling进行软件性能测试,高级关联技术是处理现代RESTful API和复杂应用场景的重要技能。当响应中包含嵌套JSON、动态数组或参数依赖前序上下文时,能否精准地提取并传递这些动态值,决定了测试脚本的可靠性和真实性。 为何需要高级关联&am…

作者头像 李华
网站建设 2026/4/17 4:22:35

Kotaemon病理报告分析:癌症筛查辅助阅读

Kotaemon病理报告分析:癌症筛查辅助阅读在乳腺癌、肺癌等重大疾病的诊疗过程中,一份病理报告往往决定了患者的整个治疗路径。然而,面对动辄上千字、术语密集且书写风格各异的病理文本,即便是经验丰富的病理科医生,也需…

作者头像 李华
网站建设 2026/4/18 18:22:50

小白必看:SSH连接错误kex_exchange_identification详解

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 创建一个交互式学习应用,通过以下方式帮助新手理解kex_exchange_identification错误:1. 动画演示SSH连接过程;2. 分步错误排查向导;3…

作者头像 李华
网站建设 2026/4/16 19:11:31

FaceFusion换脸结果如何评估?这套指标体系请收好

FaceFusion换脸结果如何评估?这套指标体系请收好 在数字内容创作日益普及的今天,AI换脸技术已不再是实验室里的概念玩具。从短视频平台上的趣味滤镜,到影视工业中的角色替换,FaceFusion 这类高精度人脸交换工具正悄然改变我们对“…

作者头像 李华
网站建设 2026/4/17 15:14:41

Kotaemon公共安全知识库:警察消防员随身智囊

Kotaemon公共安全知识库:警察消防员随身智囊在地下隧道塌方的浓烟中,一名消防员戴着智能头盔艰难前行。通讯中断,能见度不足一米,他的呼吸器警报响起——此时,耳边传来冷静而清晰的语音提示:“检测到CO浓度…

作者头像 李华
网站建设 2026/4/17 20:30:09

如何用AI自动处理Java中断异常?快马平台一键生成解决方案

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 请生成一个Java方法示例,演示如何处理InterruptedException异常。要求包含两种处理方式:1) 重新中断当前线程 Thread.currentThread().interrupt()&#xff…

作者头像 李华