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

Pacemaker + PostgreSQL 16 + 仲裁模式高可用集群部署指南

文档版本信息版本: v1.0更新日期: 2026-05-22适用系统: CentOS 7/8, RHEL 7/8, Rocky Linux 8/9数据库版本: PostgreSQL 16.x集群软件: Pacemaker + Corosync + PCS仲裁模式: QDevice (Quorum Device)一、架构概述1.1 整体架构图┌─────────────────┐│ QDevice ││ (仲裁设备) ││ 10.212.9.100 │└────────┬────────┘│┌──────────────┼──────────────┐│ │ │┌────────▼────────┐ │ ┌────────▼────────┐│ Node1 (Primary) │◄───┼───►│ Node2 (Standby) ││ 10.212.9.60 │ │ │ 10.212.9.62 ││ │ │ │ ││ PostgreSQL 16 │ │ │ PostgreSQL 16 ││ Pacemaker │ │ │ Pacemaker ││ Corosync │ │ │ Corosync │└─────────────────┘ │ └─────────────────┘│┌────────▼────────┐│ Virtual IP ││ 10.212.9.200 │└─────────────────┘1.2 节点角色说明节点 IP 地址 角色 说明Node1 10.212.9.60 Primary 主数据库节点,承载写操作Node2 10.212.9.62 Standby 备数据库节点,实时同步QDevice 10.212.9.100 仲裁设备 防止脑裂,提供第三票VIP 10.212.9.200 虚拟IP 客户端连接入口1.3 高可用特性自动故障切换: 主节点故障时,备节点自动接管数据零丢失: 采用同步流复制(synchronous replication)防脑裂机制: QDevice 仲裁确保集群决策一致性快速恢复: 故障节点恢复后自动重新加入集群并同步数据二、离线环境准备(关键章节)2.1 离线部署挑战在无互联网连接的生产环境中,需要提前在有网机器上下载所有依赖包,然后传输到目标服务器。本章节详细说明如何准备离线安装包。2.2 需要准备的材料清单2.2.1 操作系统镜像CentOS 7: CentOS-7-x86_64-DVD-2009.isoCentOS 8/Rocky 8: Rocky-8-x86_64-dvd1.isoRHEL 8: rhel-8.x-x86_64-dvd.iso注意: 使用与生产环境完全一致的系统版本,避免内核兼容性问题。2.2.2 PostgreSQL 16 RPM 包清单从 PostgreSQL YUM Repository 下载以下 RPM 包及其所有依赖:核心包:postgresql16-16.x.x-1PGDG.rhel8.x86_64.rpmpostgresql16-server-16.x.x-1PGDG.rhel8.x86_64.rpmpostgresql16-contrib-16.x.x-1PGDG.rhel8.x86_64.rpmpostgresql16-libs-16.x.x-1PGDG.rhel8.x86_64.rpm依赖包(根据系统版本可能不同):libicu-.rpmlibxml2-.rpmlibxslt-.rpmopenssl-libs-.rpmreadline-.rpmzlib-.rpm下载方法(在有网机器上执行):方法1: 使用 yumdownloader(推荐)sudo yum install -y yum-utilsmkdir -p /tmp/pg16_offlinecd /tmp/pg16_offline下载 PostgreSQL 16 及所有依赖sudo yumdownloader --resolve postgresql16-server postgresql16-contrib打包tar czf postgresql16_offline.tar.gz *.rpm方法2: 使用 reposync(完整仓库同步)sudo yum install -y createreposudo yum-config-manager --add-repo https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpmsudo yum install -y pgdg-redhat-repo同步整个 PGDG 仓库reposync --repoid=pgdg16 --download_path=/tmp/pg_repo --newest-only创建本地仓库元数据createrepo /tmp/pg_repo/pgdg162.2.3 Pacemaker + Corosync RPM 包清单对于 CentOS 8/RHEL 8/Rocky 8:HighAvailability 仓库中的核心包pacemaker-2.x.x-.rpmpacemaker-cli-2.x.x-.rpmpacemaker-libs-2.x.x-.rpmpacemaker-cluster-libs-2.x.x-.rpmcorosync-3.x.x-.rpmcorosync-libknet1-3.x.x-.rpmcorosynclib-3.x.x-.rpmpcs-0.10.x-.rpmresource-agents-4.x.x-.rpmQDevice 相关包:corosync-qdevice-3.x.x-.rpmcorosync-qnetd-3.x.x-*.rpm # 安装在仲裁设备上下载命令:启用 HighAvailability 仓库sudo subscription-manager repos --enable rhel-8-for-x86_64-highavailability-rpms或对于 CentOS/Rocky:sudo dnf config-manager --set-enabled ha下载所有 HA 相关包sudo yumdownloader --resolvepacemakerpacemaker-clicorosynccorosync-qdevicepcsresource-agentstar czf pacemaker_offline.tar.gz *.rpm对于 CentOS 7:启用 HA 仓库sudo yum-config-manager --enable rhel-ha-for-rhel-7-server-rpms或安装 centos-release-hasudo yum install -y centos-release-ha下载包sudo yumdownloader --resolvepacemakerpacemaker-clicorosynccorosync-qdevicepcsresource-agents2.2.4 其他必要工具包网络工具iproute-.rpmnet-tools-.rpmSSH 和认证openssh-clients-.rpmopenssh-server-.rpm时间同步chrony-*.rpm或 ntp-*.rpm (CentOS 7)防火墙firewalld-*.rpm监控工具(可选但推荐)psmisc-.rpm # 提供 killall 命令procps-ng-.rpm # 提供 ps, top 等2.3 离线包传输步骤步骤 1: 在有网机器上准备创建离线包目录结构mkdir -p /opt/offline_packages/{postgres,pacemaker,tools}下载 PostgreSQL 16cd /opt/offline_packages/postgressudo yumdownloader --resolve postgresql16-server postgresql16-contrib下载 Pacemakercd /opt/offline_packages/pacemakersudo yumdownloader --resolve pacemaker pacemaker-cli corosync corosync-qdevice pcs resource-agents下载工具包cd /opt/offline_packages/toolssudo yumdownloader --resolve iproute net-tools chrony firewalld psmisc procps-ng打包所有 RPMcd /opt/offline_packagestar czf offline_packages_full.tar.gz postgres/ pacemaker/ tools/生成校验文件md5sum offline_packages_full.tar.gz offline_packages_full.tar.gz.md5步骤 2: 传输到目标服务器方法1: 使用 scpscp offline_packages_full.tar.gz user@10.212.9.60:/tmp/scp offline_packages_full.tar.gz user@10.212.9.62:/tmp/scp offline_packages_full.tar.gz user@10
http://www.zskr.cn/news/1351322.html

相关文章:

  • 程序员如何平衡工作与生活?我的“时间块”管理法
  • 5分钟上手京东自动抢购工具:Python脚本让限量商品轻松到手
  • 《墨香情》手游官网入口:限时BOSS攻略,蹲点打法与掉落福利解析
  • harmonyos-ai-skill:让 Cursor 按 ArkTS 规范写鸿蒙,不再瞎编 API
  • Rust宏编程详解:从声明式到过程宏的完整指南
  • GEO获客工具如何选择?
  • 量子退火与经典优化算法性能对比研究
  • AI Agent开发工具大爆发:Claude、OpenAI、Google三强争霸
  • Java类高级特性详解(泛型、类加载、反射、枚举、注解)
  • 2026毕设求生指南:用产品思维交付你的“第一份作品”
  • AI 应用开发到底在开发什么?
  • 远程主机不满足运行 VS Code 服务器的先决条件
  • 传奇3怀旧版 手游官方网站下载:三职业互相克制,长久运营稳定体验
  • 工业云脑:序章:数据飞向云端,工厂拥有了“新大脑”
  • 题解:Atcoder Regular Contest++ 220 D - Long Trail
  • 2026年国内AI+HR SaaS 口碑榜:谁在领跑中国人力资源数智化?
  • 电脑端OpenClaw v2026.5.9一键安装部署指南,小白0基础搭建方法
  • 如何快速构建稳定测试环境:Chrome for Testing 实战指南
  • 思源黑体TTF构建指南:免费商用多语言字体的终极解决方案
  • python校园篮球场地管理系统
  • 2026年5月无锡DLP服务商深度解析:如何选择专业数据防泄漏方案 - 2026年企业推荐榜
  • 前端开发者最后的护城河:Lovable思维训练营(仅开放300个名额|含20年沉淀的17个诊断矩阵)
  • c++我的世界
  • python校园智能AI问答技术的快递物流管理系统
  • python校园商店零售管理系统
  • SQL工程师的日常:从数据守护者到业务赋能者
  • 【NotebookLM权威解读】:P值背后的统计真相与AI摘要可信度判定指南
  • 国产多模态大模型“长出身体”:具身智能融合全解析
  • 关键路径代码
  • Vim 常用配置与高效编辑技巧——打造专属高效率编辑器