当前位置: 首页 > news >正文

keepalived服务器

keepalived服务器

keepalived高可用原理:搭建主、备服务器一样配置,在keepalived中配置相同的vip;主服务器发送“心跳消息”给备服务器,主服务器宕机,“心跳消息”停止发送,备服务器会让vip生效,产生“IP漂移”,备服务器成为主服务器;

  • 注意不能同时有两个主服务器;
  • 抢占模式(默认):主服务器优先级高于备服务器,主服务器恢复后会重新“抢回”vip;
  • 非抢占模式(加上nopreempt参数才能开启):主服务器恢复后成为新的备份服务器,只有当原备份服务器宕机时,才会发生IP漂移;
  • keepalived是基于VRRP协议来实现高可用的;
  • VRRP 协议(Virtual Router Redundancy Protocol,虚拟路由冗余协议)是一种 三层网络冗余协议,核心目标是解决 “网关单点故障” 问题 —— 通过将多台物理路由器(或服务器)虚拟化为一个 “逻辑网关”(即 “虚拟路由器”),确保当主网关故障时,备网关能自动接管,实现网络访问的 无感知高可用

keepalived三大功能

  • 高可用:VIP漂移,基于VRRP协议;

  • 健康检测:通过执行检查脚本或网络请求等方式检测服务是否正常;

  • 负载均衡:内置LVS管理器,通过keepalived配置LVS负载均衡功能;

keepalived的安装
#最少两台虚拟机一主一备
# CentOS7
yum install -y keepalived# Ubuntu
apt install -y keepalived
高可用的配置
#主服务器配置
vim /etc/keepalived/keepalived.conf
-------------------------------------------
! Configuration File for keepalivedglobal_defs {router_id hostname1 # 标识本节点的字符串,设置为hostname即可
}vrrp_instance VI_1 {state MASTER    # 标识主节点服务(只有MASTER和BACKUP两种,大写)interface ens33      # VIP板顶的网卡接口virtual_router_id 51  # 虚拟路由id,和备节点保持一致priority 100        # 优先级,高于备节点的即可。# nopreempt         # 禁止MASTER宕机恢复后抢占服务# smtp_alert        # 激活故障时发送邮件告警mcast_src_ip 192.168.25.50   # 本机IP地址advert_int 1    # MASTER和BACKUP节点之间的同步检查时间间隔,单位为秒authentication {    # 验证类型和验证密码auth_type PASS  # PAAS(默认),HAauth_pass 1234  # MASTER和BACKUP使用相同明文才可以互通}virtual_ipaddress { # 虚拟IP地址池,可以多个IP192.168.25.213 # 虚拟IP1(VIP)}
}
-----------------------------------------------
# 保存退出
#重启keepalived
systemctl restart keepalived.service#备服务器配置
vim /etc/keepalived/keepalived.conf
-----------------------------------------------------------------
! Configuration File for keepalivedglobal_defs {router_id hostname2 # 标识本节点的字符串,设置为hostname即可
}vrrp_instance VI_1 {state BACKUP    # 标识主节点服务(只有MASTER和BACKUP两种,大写)interface ens33virtual_router_id 51priority 99    # 优先级,低于主节点的即可。mcast_src_ip 192.168.25.51   # 本机IP地址advert_int 1authentication {auth_type PASSauth_pass 1234}#和主服务器的vip保持一致virtual_ipaddress {192.168.25.213}
}
------------------------------------------------------------------
# 保存退出
#重启keepalived
systemctl restart keepalived.service#进行验证测试
先在客户端访问vip 192.168.25.213  出来的应该是主服务器的网页
之后停掉主服务器的keepalived服务
systemctl stop keepalived.service
在到客户端访问vip 192.168.25.213  出来的应该是备份服务器的网页
之后在重新开启主服务器的keepalived服务
systemctl start keepalived.service
到客户端访问vip 192.168.25.213  出来的应该是主份服务器的网页
Keepalived高可用裂脑

在 Keepalived 高可用(主备)架构中,“裂脑(Split Brain)” 是最核心的故障场景—— 指主备节点之间的 “心跳链路” 中断,备节点误判主节点已故障,从而主动升级为 “主节点” 并抢占 VIP,最终导致集群中出现 “双主节点”(两个节点同时持有 VIP 并对外提供服务),引发数据冲突、服务混乱等问题。

解决方案

  • 主备节点之间除了 “业务网卡”,额外添加一块 独立的心跳网卡(如 eth1),并在 Keepalived 中配置双心跳链路,避免单链路故障;
  • 引入独立的 “仲裁节点”(如一台独立服务器、云服务商的健康检查服务),主备节点需同时向仲裁节点发送心跳,只有 “主节点心跳中断 + 仲裁节点确认”,备节点才会升级;
http://www.hskmm.com/?act=detail&tid=16151

相关文章:

  • P8818 [CSP-S 2022] 策略游戏
  • FortiGate连接中国联通SDWAN
  • 第五章 运算符、表达式和语句
  • 学习问题日记-2
  • 封神台复现
  • 李之一的Java第一作
  • 2025.9.24 闲话:Lucas 定理究极证明
  • Are English people good or bad
  • 9
  • Lampiao靶场渗透wp-脏牛提权
  • 画矩形
  • NOIP 模拟赛八
  • 第三篇
  • 基于cloacked-pixel隐写工具爆破项目
  • 随便写的
  • Bcliux-docker-nacos2.2.0升级至2.2.3版本
  • 社交网络架构。京东场景题:亿级用户100Wqps 社交关系如何设计?如何查看我的关注,关注我的?
  • go 面试题
  • 事件和图形界面(暂未完成)
  • 什么是sql 慢日志。哈罗面试:没开sql慢日志,怎么发现慢 sql?
  • Spring连环炮。哈罗面试:Spring Bean生命周期,Spring怎么创建Bean的,BFPP和BPP的x别
  • redis 大 key 优化。哈罗面试:redis 有个大 key需要在线优化, 不能影响现有业务,请求不能大量到库,怎么优化?
  • ACL高可用架构。希音面试:第三方挂了,我们总在背锅。来一 靠谱的 高可用方案,让 外部依赖 稳如泰山
  • 软工9.24
  • 2025CSP-S模拟赛51
  • 2025年9月24日 - 20243867孙堃2405
  • 【星海随笔】RabbitMQ开发篇 - 教程
  • P13754 【MX-X17-T3】Distraction
  • 2025.9.24
  • 初学汇编