本页面讨论了与 Cloud Storage 中的数据可用性和耐用性相关的概念,包括 Cloud Storage 如何以冗余方式存储数据、双区域和多区域的默认复制行为、双区域的增强型复制功能,以及跨存储桶复制功能。
主要概念
Cloud Storage 旨在实现 99.999999999%(11 个 9)的年度耐用性。
为此,Cloud Storage 使用清除编码,并以冗余方式将数据存储到位于多个可用区的多个设备中。
在认为写入成功之前,Cloud Storage 会以冗余方式将写入到其中的对象存储在至少两个不同的可用区中。
系统会存储校验和并定期重新验证,以主动验证所有静态数据的完整性以及检测传输中的数据是否损坏。如果需要,系统可使用冗余数据自动进行更正。
Cloud Storage 中存储的数据的每月可用性取决于数据的存储类别和存储桶的位置类型。如需了解详情,请参阅可用存储类别。
存储在双区域或多区域存储桶中的对象以冗余方式存储在至少两个不同的地理位置。
对于双区域,您可选择存储对象的特定区域。
对于多区域,用于存储数据的特定数据中心由 Cloud Storage 根据需要确定,但位于多区域的地理边界内,并至少分隔 100 英里。这样可以用比双区域更低的存储成本提供了跨区域的冗余。
如果发生极其罕见的区域性中断(例如因自然灾害造成的中断),双区域和多区域存储桶仍会保持可用,且无需更改存储路径。
存储在双区域和多区域存储桶中的对象通常使用默认复制跨地理位置进行复制。
如需在不作为双区域使用的区域配对之间实现冗余,请考虑在每个区域中创建一个单独的存储桶,并使用 Storage Transfer Service 事件驱动型转移作业或跨存储桶复制来保持存储桶同步。
跨区域冗余
虽然传统存储模型通常依赖于具有“主要”和“次要”地理位置的主动-被动方法,但 Cloud Storage 提供基于单个存储桶的主动-主动架构,并且具有跨区域冗余。这样,用户就无需在主区域停机的情况下将数据从一个存储桶复制到另一个存储桶或手动故障切换到辅助存储桶,从而简化了灾难恢复过程。
Cloud Storage 会始终了解存储桶的当前状态,并根据需要以透明方式传送来自可用区域的对象。因此,双区域和多区域存储桶的恢复时间目标 (RTO) 为零,且临时区域性故障通常对用户不可见。如果某个区域的服务中断,则双区域和多区域存储桶会自动继续传送跨区域复制的所有数据。
但是,跨区域的冗余是异步实现的,并且在区域不可用之前未完成跨区域复制的任何数据都无法访问,直到停机的区域重新上线。如果发生物理销毁,数据可能会丢失,
Cloud Storage 中的默认复制旨在为 1 小时目标内 99.9% 的新写入对象和 12 小时目标内 100% 的新写入对象提供跨区域冗余。新写入的对象包括上传、重写、复制和组合。
增强型复制
增强型复制为双区域存储桶中的数据提供更快的跨区域冗余,可在区域服务中断后降低数据丢失的风险并帮助支持不间断服务。 启用后,增强型复制旨在将新写入的对象 100% 复制到构成双区域的两个区域,恢复点目标为 15 分钟(无论对象大小如何)。
请注意,即使对于默认复制,大多数对象也会在几分钟内完成复制。
虽然跨区域冗余和增强型复制有助于支持业务连续性和灾难恢复 (BCDR) 工作,但管理员应规划并实现适合其工作负载的完整 BCDR 架构。
如需了解详情,请参阅为 Google Cloud 中的应用设计灾难恢复的分步指南。
限制
增强型复制仅适用于双区域中的存储桶。
您无法通过 XML API 管理增强型复制,包括创建启用了增强型复制的新存储桶。
在存储桶上启用增强型复制后,最多可能需要 10 秒才能开始应用于新写入的对象。
对象写入在以默认复制速率跨区域复制的存储桶上启用增强型复制之前开始。
- 借助过去 12 小时内使用默认复制功能写入的任何源对象的对象组合会创建一个同时使用默认复制功能的复合对象。
跨存储桶复制
在某些情况下,您可能希望在第二个存储桶中保留数据的副本。跨存储桶复制会将新对象和更新后的对象从源存储桶异步复制到目标存储桶。
跨存储桶复制与默认复制和增强型复制不同,因为您的数据存在于两个存储桶中,每个存储桶都有自己的配置,例如存储位置、加密、访问权限和存储类别。因此,跨存储桶复制不仅能提供数据恢复和可用性,还适合:
- 数据主权:在相距甚远的地理区域内维护数据。
- 分别维护开发版本和生产版本:创建不同的存储桶和命名空间,以免开发工作影响您的生产工作负载。
- 共享数据:将数据复制到供应商或合作伙伴拥有的存储桶。
- 数据汇总:将不同存储桶中的数据合并到单个存储桶中,以运行分析工作负载。
- 管理费用、安全性和合规性:在不同的所有权、存储类别和保留期限下维护数据。
跨存储桶复制功能使用 Storage Transfer Service 复制对象,并使用 Pub/Sub 在源存储桶和目标存储桶发生更改时发送提醒。您可以在创建的新存储桶和现有存储桶上启用跨存储桶复制。大多数对象可以在几分钟内复制完毕,而大于 1 GiB 的对象可能需要数小时。
如需了解如何使用跨存储桶复制,请参阅使用跨存储桶复制。
限制
源存储桶中的对象删除操作不会复制到目标存储桶。
系统不会复制对象生命周期配置。
复制对象后,系统不会保留时间戳元数据(例如
timeCreated
和timeUpdated
)。如需详细了解元数据保留,请参阅在 Cloud Storage 存储分区之间转移数据。
性能监控
Cloud Storage 会监控最旧的未复制对象。如果某个对象的未复制时长超过其 RPO(恢复点目标)时间,则该对象会被视为超过 RPO。一个或多个对象超过 RPO 的每分钟会被计为“不良”分钟。
例如,如果一个对象在上午 9:00-9:20 产生了 20 分钟不良时间,而另一个对象在上午 9:15-9:25 产生了 10 分钟不良时间,则当月有两个对象超过 RPO。当月的不良分钟总数为 25 分钟,因为从上午 9:00 到上午 9:25 期间,至少有一个对象缺少其 RPO。
对于使用增强型复制功能的存储桶,对象的 RPO 为 15 分钟。
对于使用默认复制功能的存储分区,对象的 RPO 为 12 小时。
- 对于使用默认复制功能的存储分区,对象通常会在 1 小时内复制完毕。
跨存储桶复制不提供 RPO。
在 Google Cloud 控制台中,超过 RPO 的分钟数所占百分比图表可让您监控过去 30 天内存储桶的不良分钟数所占百分比。此服务等级指标可用于监控存储桶的每月复制时间一致性。同样,超过目标的对象所占百分比会跟踪未在 RPO 内发生的对象复制。此服务等级指标可用于监控存储桶的每月复制量一致性。如需了解详情,请参阅 Cloud Storage 监控和 Cloud Storage 服务等级协议 (SLA)。
后续步骤
- 在现有双区域存储桶上启用增强型复制。
- 详细了解增强型复制价格。
- 将数据移至位于新位置的其他存储桶。