当前位置: 首页 > 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.gsyq.cn/news/11130.html

相关文章:

  • 封神台复现
  • 李之一的Java第一作
  • 第三篇
  • 基于cloacked-pixel隐写工具爆破项目
  • redis 大 key 优化。哈罗面试:redis 有个大 key需要在线优化, 不能影响现有业务,请求不能大量到库,怎么优化?
  • ACL高可用架构。希音面试:第三方挂了,我们总在背锅。来一 靠谱的 高可用方案,让 外部依赖 稳如泰山
  • 【星海随笔】RabbitMQ开发篇 - 教程
  • Playwright MCP 服务器对比高层级的 MCP 服务器解决方案 - 详解
  • P13754 【MX-X17-T3】Distraction
  • 初学汇编
  • C++、Java 和 Python 在输入输出差别
  • 用 Java 和 Tesseract 进行验证码识别:基础实现与优化
  • 详细介绍:【2025PolarCTF秋季个人赛】WEB方向wp
  • 普通用户之间免密互信时因权限问题致使配置失败
  • 深入解析:[p2p-Magnet] docs | HTTP API与Web界面 | 搜索查询引擎
  • P10004 [集训队互测 2023] Permutation Counting 2
  • java数组拷贝主要有四种方法,浅拷贝
  • 毕赤酵母细胞工厂升级:CRISPR 技术破局传统局限,解锁多基因代谢工程新可能
  • 9月24号
  • linux系统下nginx网站ssl证书自动续签
  • C#使用Bitmap操作图像的基础方法
  • wpf 自定义输入ip地址的文本框 - 详解
  • 《密码系统设计》第三周
  • VS2022 不支持 .NET Framework 4.0 的解决方法
  • P3747 [六省联考 2017] 相逢是问候
  • 构建一个支撑10万设备的虚拟电厂IoT高效的平台
  • B1I、B1C、B2a双频北斗卫星定位芯片AT9850B-F7N-22
  • 2025 国产代码托管新局:Gitee 领跑本土生态 - 实践
  • Wi-Fi技能——网络安全
  • 完整教程:【开源】基于STM32的智能车尾灯