灾难恢复
经过实战考验的备份策略和自动配置的时间点恢复
时间点恢复(PITR)允许将 PostgreSQL 集群回滚到过去的任何特定时刻,防止软件缺陷或人为错误导致的数据丢失。Pigsty 使用 pgBackRest 进行 PITR,具有可配置的备份策略,使用本地文件系统或 MinIO 等对象存储。
数据库的时间旅行:将您的集群回滚到任何时间点,防止高可用性无法解决的软件缺陷、人为错误和数据损坏场景。
概述
Pigsty 提供 企业级时间点恢复,具有零配置设置、自动备份和灵活的恢复选项。基于 pgBackRest 构建,支持 MinIO/S3,防护数据损坏、人为错误和逻辑灾难。
降低 RPO
通过连续 WAL 归档最小化恢复点目标
数据完整性
增强数据完整性保护,防止损坏
灾难恢复
通过灵活的恢复选项改进灾难恢复能力
PITR 工作原理
PITR 需要两个关键组件协同工作以实现时间点恢复:
基础备份
使用 pgBackRest 创建数据库集群快照,支持多种备份类型:
- 完整备份:完整的数据库集群快照
- 增量备份:仅自上次备份以来的变更
- 差异备份:自上次完整备份以来的变更
- 计划备份:通过 Crontab 配置的定期备份
实现
Pigsty 提供两种默认备份策略,具有灵活的配置选项:
本地文件系统策略
- 频率:每日完整备份
- 存储:本地文件系统存储
- 使用场景:单节点或本地开发环境
MinIO/S3 策略
- 频率:每周完整备份,每日增量备份
- 存储:对象存储(MinIO、S3)
- 使用场景:具有分布式存储的生产环境
配置选项
备份配置非常灵活,可以指定选项:
- 仓库类型:本地、S3 或其他支持的后端
- 保留策略:保留备份的时间长度
- 加密:安全备份存储
- 存储位置:多个备份目标
恢复选项
恢复操作应谨慎执行,因为它们将替换当前的数据库状态。
恢复命令允许恢复到各种时间点:
虽然 PITR 对数据恢复很强大,但理想情况下应该与高可用性解决方案结合使用,以全面保护数据免受逻辑和物理故障的影响。