Linux 服务集群怎么实现主从节点的自动切换

胖强同学_5531

胖强同学_5531

2026-07-27

585人浏览

原创

linux服务集群主从自动切换依赖心跳探测、故障判定、资源接管三类协同机制:心跳需双向检测且参数适配网络环境;故障判定须引入仲裁防脑裂;资源接管要求原子性、 fencing隔离及配置同步;典型组合包括keepalived、pacemaker+corosync、redis sentinel等。

linux 服务集群怎么实现主从节点的自动切换

Linux服务集群实现主从节点自动切换,核心是让备用节点在主节点失效时,能快速、可靠地接管服务资源(如IP、端口、数据路径、应用进程等),整个过程无需人工干预。这依赖于三类协同机制:心跳探测、故障判定、资源接管。

心跳探测与状态同步

主备节点之间必须持续交换存活信号,这是自动切换的前提。常用方式包括:

  • 使用专用心跳网络(如独立网卡直连)跑UDP心跳包,延迟低、干扰少
  • 基于现有业务网走VRRP协议(Keepalived默认方式),轻量且兼容性好
  • 通过集群通信层(如Corosync)建立多播/单播通道,同时承载状态同步与仲裁

关键不是“有没有心跳”,而是心跳参数要贴合实际环境:超时时间(deadtime)需大于网络抖动周期,但又不能过长;检测间隔(keepalive)建议设为1–2秒;启用双向检测(即主备互相ping),避免单向链路故障导致误切。

故障判定与防脑裂

单纯靠心跳丢失就切换,容易因网络分区引发“双主”。必须引入仲裁或多数派决策:

Linux installer
Linux installer

先解析安全源,运行本地CLI安装、启动、卸载Linux桌面应用。用户请求时使用。

下载
  • Pacemaker + Corosync 集群要求法定票数(quorum),节点数为奇数或配qdevice仲裁设备
  • Keepalived 可配合脚本检查本地服务状态(如curl -f http://127.0.0.1:8080/health),只有心跳断+服务不可用才触发切换
  • Redis Sentinel 采用投票机制,至少半数+1个哨兵达成一致才执行failover

不设仲裁的双节点集群,强烈建议部署独立的确认监视器(如DM集群的dmmonitor、Pacemaker的qnetd),避免网络闪断造成脑裂。

资源接管与服务恢复

切换动作本身要原子、可逆、幂等:

  • VIP漂移:通过ip addr add/del或Keepalived内置VRRP完成,确保客户端无感知重连
  • 存储接管:若共享存储(如iSCSI/GFS2),需先 fencing(隔离原主节点,如SSH关机、IPMI断电),再激活文件系统或启动服务
  • 应用服务拉起:Pacemaker通过resource agent(如systemd、LSB脚本)启停服务,并校验端口监听、进程存在、响应健康接口
  • 配置同步:主节点故障前应已通过rsync、etcd或GitOps机制将配置推送到备节点,避免切换后配置陈旧

典型组合示例如下:

  • Web服务:Keepalived(VIP + Nginx健康检查)
  • 数据库服务:Pacemaker管理PostgreSQL资源 + Corosync通信 + STONITH fencing
  • 缓存服务:Redis Sentinel三节点部署,自动选举新master并通知客户端
  • 存储服务:Multipath(链路级) + Pacemaker(节点级) + LVM/GFS2(文件系统级)

切换完成后,还需考虑自动回切策略(auto_failback)是否开启——生产环境通常禁用,防止频繁震荡;仅当明确主节点已彻底修复且需人工确认后,才手动触发回切。

不复杂但容易忽略

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

linux

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

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

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

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

434

3

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

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

2023.10.18

2516

4

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

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

2023.10.20

4672

4

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

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

2023.10.20

747

5

热门下载

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

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Buffalo框架快速入门指南
Buffalo框架快速入门指南

共0课时 | 0人学习

Valgrind支持平台说明
Valgrind支持平台说明

共0课时 | 0人学习