0

0

Linux高可用架构项目教程_PacemakerCorosyncHA实战

冷漠man

冷漠man

发布时间:2026-01-05 14:55:45

|

560人浏览过

|

来源于php中文网

原创

用Pacemaker+Corosync搭建Linux高可用集群的核心是实现服务自动迁移、不丢数据、不断业务,关键在于理解资源约束、启动顺序、仲裁逻辑和fencing机制。

linux高可用架构项目教程_pacemakercorosyncha实战

用 Pacemaker + Corosync 搭建 Linux 高可用集群,核心是让服务在节点故障时自动迁移,不丢数据、不断业务。关键不在装软件,而在理解资源约束、启动顺序、仲裁逻辑和 fencing 机制。

Corosync 负责通信,Pacemaker 负责决策

Corosync 是底层消息层,负责节点间心跳检测、状态同步和成员管理;Pacemaker 是集群资源管理器(CRM),根据 Corosync 提供的集群视图,决定服务该跑在哪、何时启动、怎么恢复。

  • 必须先配好 Corosync 的 quorum(如 qdevice 或 3 节点奇数部署),否则 Pacemaker 拒绝启动资源
  • Corosync 的 totem.interface.bindnetaddr 要设成本地实际网卡网段,不能写 0.0.0.0
  • Pacemaker 默认启用 no-quorum-policy=ignore 是危险的,生产环境应设为 freezestop

资源定义要带约束,不能只靠 order 和 colocation

比如部署一个高可用 Web 服务(IP + Apache + 文件系统),光写启动顺序不够,还要明确“IP 必须和 Apache 在同一节点”“文件系统挂载完 Apache 才能起”。

  • primitive 定义每个资源(ocf:heartbeat:IPaddr2、systemd:httpd、ocf:heartbeat:Filesystem)
  • colocation 确保强绑定关系:“web-ip with web-server INFINITY”
  • order 控制依赖顺序:“fs-before-httpd mandatory”
  • location 约束可实现主备偏好,例如 “prefer-node1 100: node1”

fencing 不是可选项,是安全底线

当节点失联又可能还在写数据时,fencing(隔离)能强制关机或断电,避免脑裂导致数据损坏。没配 fencing,集群宁可拒绝服务也不冒险。

比话降AI
比话降AI

清除AIGC痕迹,AI率降低至15%

下载
  • 常用 fencing 设备:ipmilan(IPMI)、fence_virt(KVM)、fence_sbd(SBD 磁盘心跳)
  • SBD 方式较轻量,需共享磁盘(如 iSCSI LUN),配置 sbd -d /dev/sdb create 后启用 systemd sbd 服务
  • 检查 fencing 是否就绪:pcs stonith showpcs status 中确认 STONITH enabled: Yes

日常运维离不开 pcs 命令和 crm_mon 实时观察

别依赖图形界面,命令行才是排障主力。每次变更后务必验证资源行为,模拟节点宕机看是否自动切换。

  • 查看集群状态:pcs status(汇总)或 crm_mon -1(实时刷新)
  • 手动迁移资源:pcs resource move web-server node2(会自动生成临时位置约束)
  • 清理失败记录:pcs resource cleanup web-server(清除 error state,触发重试)
  • 停用某节点维护:pcs cluster standby node1,恢复用 pcs cluster unstandby node1

不复杂但容易忽略:时间同步(chrony/ntpd 必须全集群一致)、防火墙放行 Corosync 端口(默认 5405/udp)、禁用 selinux 或配好策略、所有节点 host 解析必须双向准确。

相关专题

更多
resource是什么文件
resource是什么文件

Resource文件是一种特殊类型的文件,它通常用于存储应用程序或操作系统中的各种资源信息。它们在应用程序开发中起着关键作用,并在跨平台开发和国际化方面提供支持。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

145

2023.12.20

scripterror怎么解决
scripterror怎么解决

scripterror的解决办法有检查语法、文件路径、检查网络连接、浏览器兼容性、使用try-catch语句、使用开发者工具进行调试、更新浏览器和JavaScript库或寻求专业帮助等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

184

2023.10.18

500error怎么解决
500error怎么解决

500error的解决办法有检查服务器日志、检查代码、检查服务器配置、更新软件版本、重新启动服务、调试代码和寻求帮助等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

271

2023.10.25

scripterror怎么解决
scripterror怎么解决

scripterror的解决办法有检查语法、文件路径、检查网络连接、浏览器兼容性、使用try-catch语句、使用开发者工具进行调试、更新浏览器和JavaScript库或寻求专业帮助等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

184

2023.10.18

500error怎么解决
500error怎么解决

500error的解决办法有检查服务器日志、检查代码、检查服务器配置、更新软件版本、重新启动服务、调试代码和寻求帮助等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

271

2023.10.25

go中interface用法
go中interface用法

本专题整合了go语言中int相关内容,阅读专题下面的文章了解更多详细内容。

76

2025.09.10

location.assign
location.assign

在前端开发中,我们经常需要使用JavaScript来控制页面的跳转和数据的传递。location.assign就是JavaScript中常用的一个跳转方法。通过location.assign,我们可以在当前窗口或者iframe中加载一个新的URL地址,并且可以保存旧页面的历史记录。php中文网为大家带来了location.assign的相关知识、以及相关文章等内容,供大家免费下载使用。

224

2023.06.27

apache是什么意思
apache是什么意思

Apache是Apache HTTP Server的简称,是一个开源的Web服务器软件。是目前全球使用最广泛的Web服务器软件之一,由Apache软件基金会开发和维护,Apache具有稳定、安全和高性能的特点,得益于其成熟的开发和广泛的应用实践,被广泛用于托管网站、搭建Web应用程序、构建Web服务和代理等场景。本专题为大家提供了Apache相关的各种文章、以及下载和课程,希望对各位有所帮助。

403

2023.08.23

漫蛙2入口地址合集
漫蛙2入口地址合集

本专题整合了漫蛙2入口汇总,阅读专题下面的文章了解更多详细内容。

162

2026.01.06

热门下载

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

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PostgreSQL 教程
PostgreSQL 教程

共48课时 | 6.7万人学习

Git 教程
Git 教程

共21课时 | 2.5万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号