Google Cloud 架构框架可靠性支柱中的这一原则提供了一些建议,可帮助您设计和运行测试,以从数据丢失中恢复。
此原则与可靠性的学习 重点领域相关。
原则概览
为确保您的系统能够从数据丢失或损坏的情况中恢复,您需要针对这些场景运行测试。数据丢失可能由软件 bug 或某种自然灾害导致。发生此类事件后,您需要从备份中恢复数据,并使用新恢复的数据重新启动所有服务。
我们建议您使用以下三个标准来判断此类恢复测试的成败:数据完整性、恢复时间目标 (RTO) 和恢复点目标 (RPO)。如需详细了解 RTO 和 RPO 指标,请参阅DR 规划的基础知识。
数据恢复测试的目标是定期验证贵组织是否能够继续满足业务连续性要求。除了衡量 RTO 和 RPO 之外,数据恢复测试还必须包括使用已恢复的数据测试整个应用堆栈和所有关键基础架构服务。这对于确认整个已部署的应用在测试环境中是否正常运行至关重要。
建议
在设计和运行用于从数据丢失中恢复的测试时,请考虑以下子部分中的建议。
验证备份一致性并测试恢复流程
您需要验证备份是否包含可恢复的数据的一致且可用快照,以便立即恢复应用。如需验证数据完整性,请设置在每次备份后运行自动一致性检查。
如需测试备份,请在非生产环境中恢复备份。为确保备份能够高效恢复,并且恢复的数据符合应用要求,请定期模拟数据恢复场景。记录数据恢复步骤,并培训您的团队在发生故障时有效执行这些步骤。
安排定期且频繁的备份
为了尽可能减少恢复期间的数据丢失,并达到 RPO 目标,请务必定期安排备份。设置与 RPO 相符的备份频率。例如,如果您的 RPO 为 15 分钟,请将备份时间安排为至少每 15 分钟运行一次。优化备份间隔时间,以降低数据丢失的风险。
使用 Google Cloud 工具(例如 Cloud Storage、Cloud SQL 自动备份或 Spanner 备份)来安排和管理备份。对于关键应用,请使用近乎连续的备份解决方案,例如 Cloud SQL 的时间点恢复 (PITR),或针对大型数据集使用增量备份。
定义和监控 RPO
根据业务需求设置明确的 RPO,并监控 RPO 的遵从情况。 如果备份间隔时间超出定义的 RPO,请使用 Cloud Monitoring 设置提醒。
监控备份运行状况
使用 Google Cloud 备份和灾难恢复服务或类似工具来跟踪备份的运行状况,并确认备份存储在安全可靠的位置。确保备份数据会复制到多个区域,以提高弹性。
针对备份以外的场景制定计划
将备份与灾难恢复策略(例如主动-主动故障切换设置或跨区域复制)相结合,以缩短极端情况下的恢复时间。如需了解详情,请参阅灾难恢复规划指南。