EnterpriseDB/Barman 地理冗余配置指南:构建级联备份架构

EnterpriseDB/Barman 地理冗余配置指南:构建级联备份架构

barman Barman - Backup and Recovery Manager for PostgreSQL barman 项目地址: https://gitcode.com/gh_mirrors/ba/barman

地理冗余概述

在现代数据库运维中,确保数据的高可用性和灾难恢复能力至关重要。EnterpriseDB/Barman 提供的地理冗余功能允许管理员构建级联备份架构,将备份数据透明地分布在不同地理位置,为关键业务数据提供额外保护层。

核心概念解析

级联备份架构

Barman 的级联备份架构允许一个 Barman 服务器(称为被动节点)从另一个 Barman 安装(称为主节点)获取备份数据,而不是直接从 PostgreSQL 服务器获取。这种设计模式特别适合以下场景:

  • 需要将备份数据复制到远程数据中心
  • 需要在不同区域维护备份副本
  • 需要减少对生产数据库的直接访问压力

主节点与被动节点

  • 主节点:直接连接 PostgreSQL 服务器并执行备份操作的 Barman 服务器
  • 被动节点:通过 SSH 从主节点获取备份数据的 Barman 服务器,不直接连接生产数据库

配置被动节点

配置被动节点非常简单,只需在目标 Barman 服务器的配置文件中添加以下关键参数:

[main]
primary_ssh_command = ssh barman@primary_barman

这个参数定义了如何通过 SSH 连接到主节点。如果需要传递相同的配置文件路径,可以添加:

forward_config_path = true

同步机制详解

自动同步流程

当配置为被动节点后,Barman 会通过 barman cron 自动管理同步过程,包括三个关键步骤:

  1. 数据收集:使用 barman sync-info --primary 从主节点获取同步信息
  2. 备份同步:使用 barman sync-backup 复制主节点上的所有可用备份
  3. WAL 同步:使用 barman sync-wals 复制主节点上的所有 WAL 文件

同步信息命令

barman sync-info 命令返回的 JSON 对象包含以下关键信息:

  • 所有状态为 DONE 的备份
  • 所有已归档的 WAL 文件列表
  • 服务器配置信息
  • 最后读取的 WAL 位置
  • 最后读取的 WAL 文件名

手动同步操作

虽然自动同步已经足够应对大多数场景,但管理员也可以手动触发同步操作:

手动同步备份

barman sync-backup <server_name> <backup_id>

此命令会:

  1. 通过 primary_ssh_command 连接到主节点
  2. 检查指定备份是否存在于主节点
  3. 使用 rsync 开始复制所有相关文件
  4. 同一时间只允许一个同步进程操作单个备份

手动同步 WAL 文件

barman sync-wals <server_name>

被动节点的特殊行为

配置为被动节点后,Barman 会对其采取特殊处理方式:

  1. 排除标准维护操作:被动节点不参与常规维护任务
  2. 禁止直接操作 PostgreSQL:包括禁止直接执行 barman backup 命令
  3. 依赖主节点数据:所有备份数据必须来自主节点同步

最佳实践建议

  1. 网络优化:确保主节点和被动节点之间有足够带宽,特别是对于大型数据库
  2. SSH 安全配置:使用密钥认证并限制 SSH 访问权限
  3. 监控同步延迟:定期检查同步状态,确保数据及时复制
  4. 测试恢复流程:定期验证从被动节点恢复数据的能力
  5. 考虑带宽限制:对于跨地域同步,可能需要配置带宽限制避免影响生产网络

通过合理配置 Barman 的地理冗余功能,企业可以构建健壮的灾难恢复方案,确保在最坏情况下也能快速恢复关键业务数据。

barman Barman - Backup and Recovery Manager for PostgreSQL barman 项目地址: https://gitcode.com/gh_mirrors/ba/barman

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

管翔渊Lacey

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值