openGauss 6.0 主备集群备份与恢复实战指南:基于 gs_probackup

📅 发布时间:2026/7/7 11:06:50 👁️ 浏览次数:
openGauss 6.0 主备集群备份与恢复实战指南:基于 gs_probackup
1. 概述本文档详细介绍了在 openGauss 6.0 环境下如何利用gs_probackup工具进行数据库的全量备份、增量备份以及在模拟故障后的集群数据恢复操作。2. 前提条件在开始备份操作前请确保满足以下环境要求数据库状态能够正常连接 openGauss 数据库 。增量备份配置若需使用 PTRACK 增量备份必须在 postgresql.conf 中设置 enable_cbm_tracking on 。日志保留设置为防止传输过程中 xlog 被清理建议适当调高 postgresql.conf 中的 wal_keep_segments 参数值 。3. 备份环境初始化主备集群环境序号主机名IP地址操作系统版本网卡数据库版本1gauss61192.192.103.61Centos7.9ens192openGauss6.0.22gauss62192.192.103.62Centos7.9ens192openGauss6.0.23.1 查看版本信息确认工具版本与数据库版本匹配。[ommgauss61 backup]$ gs_probackup version # 输出示例gs_probackup (openGauss 6.0.2 build 6285c0ef)3.2 创建并初始化备份目录创建物理存储路径并进行初始化。# 创建物理目录[ommgauss61]$ mkdir -p /opengauss/pbackup# 初始化备份路径目录必须为空[ommgauss61]$ gs_probackup init -B /opengauss/pbackup/初始化后目录下将生成 backups 和 wal 两个核心子目录 。3.3 初始化备份实例将特定的数据目录关联到备份实例中并生成配置文件 pg_probackup.conf 。[ommgauss61 backup]$ gs_probackup add-instance -B /opengauss/pbackup/ -D /opengauss/install/data/dn1 --instance instance_local4. 实施备份操作4.1 执行全量备份 (FULL)全量备份是增量备份的基础。[ommgauss61 backup]$ gs_probackup backup -B /opengauss/pbackup/ --instance instance_local -d postgres -b FULL注系统会自动校验数据块校验和checksums并估算所需磁盘空间 。4.2 执行增量备份 (PTRACK)基于 PTRACK 模式进行增量备份仅记录自上次备份以来发生变化的数据块 。[ommgauss61 backup]$ gs_probackup backup -B /opengauss/pbackup/ --instance instance_local -d postgres -b PTRACK4.3 查看备份列表通过 show 命令验证备份状态确保 Status 为 OK 。[ommgauss61 backup]$ gs_probackup show -B /opengauss/pbackup/5. 灾难恢复演练5.1 模拟故障停止集群gs_om -t stop 。模拟损坏重命名删除主备节点的数据目录 dn1 。5.2 恢复主节点数据使用RESTORE命令将数据恢复至模拟损坏前的状态。[ommgauss61 ~]$ gs_probackup restore -B /opengauss/pbackup/ --instance instance_local -D /opengauss/install/data/dn1系统会自动验证备份链的完整性并执行恢复 。5.3 启动集群与备节点修复1.启动集群执行 gs_om -t start 。2.查看状态若发现备节点处于 Down 或 Disk damaged 状态需手动重建 。修复配置从主节点拷贝 postgresql.conf 到备节点 。修改备节点的 local_bind_address 和 replconninfo1将 IP 指向对应的本地和对端地址 。执行备节点重建[ommgauss62 ~]$ gs_ctl build -D /opengauss/install/data/dn1 -b full6. 验证恢复结果待集群状态恢复为 Normal 后 登录数据库查看主备同步状态openGauss# select * from pg_stat_replication;当 state 显示为 Streaming 且 sync_state 符合预期如 Async/Sync时表示数据库恢复成功 。