执行测试以从数据丢失中恢复

Last reviewed 2024-12-30 UTC

Google Cloud 架构完善框架可靠性支柱中的这一原则提供了一些建议,可帮助您设计和运行数据丢失恢复测试。

此原则与可靠性的学习 重点领域相关。

原则概览

为确保系统能够从数据丢失或损坏的情况中恢复,您需要针对这些情况运行测试。数据丢失可能由软件 bug 或某种类型的自然灾害引起。发生此类事件后,您需要从备份中恢复数据,并使用新恢复的数据重新启动所有服务。

我们建议您使用以下三个标准来判断此类恢复测试的成功与否:数据完整性、恢复时间目标 (RTO) 和恢复点目标 (RPO)。如需详细了解 RTO 和 RPO 指标,请参阅灾难恢复规划基础知识

数据恢复测试的目标是定期验证组织是否能够继续满足业务连续性要求。除了衡量 RTO 和 RPO 之外,数据恢复测试还必须包括对整个应用堆栈和所有关键基础设施服务(使用恢复的数据)的测试。这是确认整个已部署的应用在测试环境中正常运行的必要步骤。

建议

在设计和运行数据丢失恢复测试时,请考虑以下各子部分中的建议。

验证备份一致性并测试恢复流程

您需要验证备份是否包含一致且可用的数据快照,以便您能够恢复这些数据,从而立即恢复应用服务。如需验证数据完整性,请设置在每次备份后运行的自动一致性检查。

如需测试备份,请在非生产环境中恢复备份。为确保备份能够高效恢复,并且恢复的数据符合应用要求,请定期模拟数据恢复场景。记录数据恢复步骤,并培训团队在发生故障时有效执行这些步骤。

安排定期频繁备份

为了最大限度地减少恢复期间的数据丢失并达到 RPO 目标,必须定期安排备份。确定符合 RPO 的备份频率。例如,如果您的 RPO 为 15 分钟,请安排备份至少每 15 分钟运行一次。优化备份间隔,以降低数据丢失的风险。

使用 Cloud Storage、Cloud SQL 自动备份或 Spanner 备份等 Google Cloud 工具来安排和管理备份。对于关键应用,请使用近乎持续的备份解决方案,例如 Cloud SQL 的时间点恢复 (PITR) 或针对大型数据集的增量备份。

定义和监控 RPO

根据业务需求设置明确的 RPO,并监控 RPO 的遵守情况。 如果备份间隔超过定义的 RPO,请使用 Cloud Monitoring 设置提醒。

监控备份运行状况

使用 Google Cloud Backup and DR Service 或类似工具来跟踪备份的健康状况,并确认备份存储在安全可靠的位置。确保备份在多个区域之间复制,以提高弹性。

规划备份以外的场景

将备份与灾难恢复策略(例如主动-主动故障切换设置或跨区域复制)相结合,可在极端情况下缩短恢复时间。如需了解详情,请参阅灾难恢复规划指南