0

0

Linux服务器高可用项目教程_PacemakerCorosyncHA实践

冷漠man

冷漠man

发布时间:2026-01-09 21:58:16

|

509人浏览过

|

来源于php中文网

原创

pacemaker+corosync是linux高可用主流开源组合,corosync负责节点通信与成员管理,pacemaker负责资源调度,需配合使用;配置上corosync有独立配置文件,pacemaker配置存于cib;启动须先corosync后pacemaker;双节点web高可用需完成装包、认证、建集群、添加vip及服务资源四步;必须启用qdevice仲裁和fencing机制防脑裂;运维需结合corosync-quorumtool、日志分析及故障模拟验证。

linux服务器高可用项目教程_pacemakercorosyncha实践

Linux服务器高可用(HA)项目中,Pacemaker + Corosync 是目前最主流、生产环境验证最充分的开源组合。它不依赖商业软件,能实现服务自动故障转移、资源隔离、多节点状态同步,适用于数据库、Web集群、文件共享等关键业务场景。

核心组件分工要搞清

Corosync 负责底层通信和集群成员管理——它让节点知道“谁在线、谁掉线”,并保证消息可靠传递;Pacemaker 是资源管理器——它根据策略决定“哪个节点运行哪项服务、出问题时怎么切、切之前要不要先停旧实例”。两者必须配合使用,不能只装一个。

  • Corosync 配置文件/etc/corosync/corosync.conf,重点设 bindnetaddr(监听网段)、quorum(法定票数策略)和 totem 参数(超时与重传)
  • Pacemaker 本身不存独立配置文件,所有资源、约束、属性都通过 crmshpcs 命令实时写入集群CIB(Cluster Information Base)
  • 启动顺序固定:先启 corosync,再启 pacemaker;停机则相反

基础高可用服务搭建四步走

以双节点 Web 服务(Apache)为例,实现访问 IP 自动漂移、服务自动重启或迁移:

视野自助系统小型企业版2.0 Build 20050310
视野自助系统小型企业版2.0 Build 20050310

自定义设置的程度更高可以满足大部分中小型企业的建站需求,同时修正了上一版中发现的BUG,优化了核心的代码占用的服务器资源更少,执行速度比上一版更快 主要的特色功能如下: 1)特色的菜单设置功能,菜单设置分为顶部菜单和底部菜单,每一项都可以进行更名、选择是否隐 藏,排序等。 2)增加企业基本信息设置功能,输入的企业信息可以在网页底部的醒目位置看到。 3)增加了在线编辑功能,输入产品信息,企业介绍等栏

下载
  • 装包统一用发行版源:CentOS/RHEL 用 yum install pcs pacemaker corosync fence-agents-all;Ubuntu/Debian 用 apt install pacemaker corosync pcs
  • 初始化集群前先认证:执行 pcs cluster auth node1 node2 -u hacluster -p 密码,账号密码需一致,hacluster 是默认管理用户
  • 创建并启动集群:运行 pcs cluster setup --name mycluster node1 node2,再 pcs cluster start --all
  • 添加 VIP 和 Apache 资源pcs resource create vip ocf:heartbeat:IPaddr2 ip=192.168.10.100 cidr_netmask=24 op monitor interval=30s pcs resource create webserver systemd:httpd op monitor interval=60s pcs constraint colocation add webserver with vip INFINITY pcs constraint order vip then webserver

避免脑裂和误切换的关键设置

两节点集群最容易因网络闪断导致“各说各话”,必须靠仲裁和 fencing 控制局面:

  • 启用 qdevice(推荐):部署一个独立的仲裁节点(qnetd),让集群在只剩一节点时仍能判断是否该继续提供服务,命令:pcs quorum device add model qnetd host=qnetd.example.com algorithm=ffsplit
  • 务必配 fencing(隔离机制):如使用 fence_virt(KVM)、fence_ipmilan(iDRAC/iLO)或 fence_pcmk(基于 Pacemaker 自身)。没 fencing 的集群等于裸奔,故障时可能双活写数据
  • 禁用 STONITH 的后果很严重:不要为了“测试方便”执行 pcs property set stonith-enabled=false,生产环境必须开启,并确保 fence 设备真实可用

日常运维和排错看这三处

别只盯着 pcs status,真正定位问题得交叉验证:

  • 查 Corosync 状态:运行 corosync-quorumtool -s 看投票结果、corosync-cfgtool -s 看节点连通性
  • 看 Pacemaker 日志细节:重点翻 /var/log/cluster/corosync.log/var/log/cluster/pacemaker.log,搜索 WARNERRORfencetransition
  • 模拟故障快速验证:用 pcs resource move webserver node2 手动迁移;用 pcs cluster stop node1 测试自动接管;拔网线后观察 pcs status 是否显示 fencing 触发

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

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

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

174

2023.12.20

scripterror怎么解决
scripterror怎么解决

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

411

2023.10.18

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

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

357

2023.10.25

css3transition
css3transition

css3transition属性用于指定如何从一个CSS样式过渡到另一个CSS样式,本专题为大家提供transition相关的文章、相关下载和相关课程,大家可以免费体验。

261

2023.06.27

数据库三范式
数据库三范式

数据库三范式是一种设计规范,用于规范化关系型数据库中的数据结构,它通过消除冗余数据、提高数据库性能和数据一致性,提供了一种有效的数据库设计方法。本专题提供数据库三范式相关的文章、下载和课程。

379

2023.06.29

如何删除数据库
如何删除数据库

删除数据库是指在MySQL中完全移除一个数据库及其所包含的所有数据和结构,作用包括:1、释放存储空间;2、确保数据的安全性;3、提高数据库的整体性能,加速查询和操作的执行速度。尽管删除数据库具有一些好处,但在执行任何删除操作之前,务必谨慎操作,并备份重要的数据。删除数据库将永久性地删除所有相关数据和结构,无法回滚。

2104

2023.08.14

vb怎么连接数据库
vb怎么连接数据库

在VB中,连接数据库通常使用ADO(ActiveX 数据对象)或 DAO(Data Access Objects)这两个技术来实现:1、引入ADO库;2、创建ADO连接对象;3、配置连接字符串;4、打开连接;5、执行SQL语句;6、处理查询结果;7、关闭连接即可。

356

2023.08.31

MySQL恢复数据库
MySQL恢复数据库

MySQL恢复数据库的方法有使用物理备份恢复、使用逻辑备份恢复、使用二进制日志恢复和使用数据库复制进行恢复等。本专题为大家提供MySQL数据库相关的文章、下载、课程内容,供大家免费下载体验。

259

2023.09.05

Golang 测试体系与代码质量保障:工程级可靠性建设
Golang 测试体系与代码质量保障:工程级可靠性建设

Go语言测试体系与代码质量保障聚焦于构建工程级可靠性系统。本专题深入解析Go的测试工具链(如go test)、单元测试、集成测试及端到端测试实践,结合代码覆盖率分析、静态代码扫描(如go vet)和动态分析工具,建立全链路质量监控机制。通过自动化测试框架、持续集成(CI)流水线配置及代码审查规范,实现测试用例管理、缺陷追踪与质量门禁控制,确保代码健壮性与可维护性,为高可靠性工程系统提供质量保障。

24

2026.02.28

热门下载

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

精品课程

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

共48课时 | 9.9万人学习

Git 教程
Git 教程

共21课时 | 3.9万人学习

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

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