关于区域级永久性磁盘


区域级永久性磁盘是一种存储选项,可让您在 Compute Engine 中实现高可用性 (HA) 服务。区域级永久性磁盘可在同一区域中的两个可用区之间同步复制数据,并在遇到一个可用区级故障时确保磁盘数据的高可用性。

区域级永久性磁盘卷适用于需要较低恢复点目标 (RPO) 和恢复时间目标 (RTO) 的工作负载。如需详细了解 RPO 和 RTO,请参阅灾难恢复规划基础知识

区域级永久性磁盘卷也适用于区域级代管式实例组

本文档简要介绍了区域级永久性磁盘以及如何使用区域级永久性磁盘卷构建高可用性服务。

如果您决定使用区域级永久性磁盘,请务必比较可提高服务可用性的不同选项以及不同服务架构的费用、性能和弹性

区域级永久性磁盘的可用区级磁盘复制

区域级永久性磁盘卷在其存储磁盘数据的区域中具有一个主可用区和一个次要可用区:

  • 主可用区与挂接磁盘的虚拟机实例所在的可用区相同。
  • 次要可用区是您在同一区域内选择的备用可用区。

Compute Engine 会在这两个可用区中保留区域级永久性磁盘卷的副本。将数据写入磁盘时,Compute Engine 会将这些数据同步复制到两个可用区中的磁盘副本,以确保高可用性。每个可用区级副本的数据分布在相应可用区内的多个物理机器中,以确保耐用性。可用区级副本可确保永久性磁盘卷的数据保持可用,并防止其中一个磁盘可用区发生服务中断。

可用区副本状态

区域永久性磁盘副本状态会显示可用区副本与磁盘内容相比的状态。区域级永久性磁盘的可用区级副本始终处于以下磁盘副本状态之一:

  • 同步:副本可用,同步接收对磁盘执行的所有写入,并与磁盘上的所有数据保持同步。
  • 正在同步:副本可用,但仍在与另一个副本的磁盘上的数据进行同步。
  • 不同步:副本暂时不可用,不与磁盘上的数据同步。

如需了解如何检查和跟踪可用区副本状态,请参阅监控区域永久性磁盘卷的磁盘副本状态

区域永久性磁盘复制状态

区域永久性磁盘卷可能处于以下复制状态之一,具体取决于各个可用区副本的状态:

  • 完全复制。这两个可用区中的副本均可用,并与最新的磁盘数据同步。
  • 正在同步。可用区级副本可用,但其中一个可用区级副本正在与最新的磁盘数据同步。
  • 降级:由于故障或服务中断,某个可用区级副本不同步。

如果您的区域级永久性磁盘卷正在进行同步或者已降级,则其中一个可用区级副本不会使用所有数据更新。在此期间,健康状况良好的副本可用区发生任何服务中断故障都会导致区域级永久性磁盘卷不可用,直到健康状况良好的副本可用区恢复为止。

当您的区域级永久性磁盘卷正在进行同步时,Google Cloud 会开始修复正在同步的可用区级副本。Google 建议您等待受影响的可用区级副本与磁盘上的数据同步。可用区级副本随后转换为同步状态后,区域级永久性磁盘卷随后会恢复为完全复制状态。如果区域级永久性磁盘卷长时间处于正在同步或降级状态,并且不符合组织的 RPO 要求,我们建议您通过以下任一方式截取磁盘的快照:

  • 启用计划快照。
  • 为区域级永久性磁盘卷创建手动快照。

创建快照后,可以使用该快照创建新的区域级永久性磁盘卷。您可以在新的区域级永久性磁盘卷上恢复数据。您的新卷也会以具有健康数据复制的完全复制状态开始。

如需了解如何检查区域级永久性磁盘卷的复制状态,请参阅确定区域级永久性磁盘的复制状态

区域级永久性磁盘副本恢复检查点

副本恢复检查点是一个区域级永久性磁盘属性,表示完全复制的磁盘的最新崩溃一致时间点。Compute Engine 会自动为每个区域级永久性磁盘卷创建和保留单个副本恢复检查点。完全复制区域级永久性磁盘卷后,Compute Engine 大约每 10 分钟将其检查点刷新一次,以确保检查点保持最新。当区域级永久性磁盘卷降级时,Compute Engine 可让您通过该磁盘的副本恢复检查点创建标准快照。生成的标准快照会从完全复制的磁盘的最新崩溃一致版本捕获数据。

在极少数情况下,如果磁盘降级,与最新磁盘数据同步的可用区级副本也可能会在不同步的副本完成同步之前失败。您无法将磁盘强制挂接到任一可用区中的虚拟机。您的区域级永久性磁盘卷不可用,必须将数据迁移到新磁盘。在这种情况下,如果没有任何适用于磁盘的现有标准快照,您仍然可以使用根据副本恢复检查点创建的标准快照从不完整副本恢复磁盘数据。

Compute Engine 会自动为每个已装载的区域级永久性磁盘卷创建副本恢复检查点。创建这些检查点不会产生任何额外费用。但是,使用这些检查点将磁盘迁移到正常运行的可用区时,您需要支付创建快照和虚拟机所产生的任何适用存储费用。

详细了解如何使用副本恢复检查点恢复区域级永久性磁盘数据

区域级永久性磁盘故障切换

如果某个可用区发生服务中断,该可用区将无法访问,并且该可用区中的虚拟机无法在其磁盘上执行读写操作。为了允许虚拟机继续对磁盘执行读写操作,Compute Engine 允许将磁盘数据迁移到磁盘具有副本的其他可用区。此过程称为区域级永久性磁盘故障切换。故障切换过程涉及以下步骤:将虚拟机与受影响可用区中的磁盘副本分离,然后将新虚拟机重新挂接到另一个可用区中的磁盘副本。Compute Engine 会将磁盘上的数据同步复制到次要区域,以确保在单个副本发生故障时快速进行故障切换。

通过应用专用的区域级控制平面进行故障切换

应用专用的区域级控制平面不是 Google Cloud 服务。在设计高可用性服务架构时,您必须构建自己的应用专用区域级控制平面。此应用控制平面决定哪个虚拟机必须挂接区域级永久性磁盘,以及哪个虚拟机是当前的主要虚拟机。在区域级永久性磁盘卷的主虚拟机或数据库中检测到故障时,高可用性服务架构的应用专用区域级控制平面可以自动启动“故障切换到次要可用区中的备用虚拟机”。在故障切换期间,应用专用的区域级控制平面将区域级永久性磁盘卷重新挂接到次要可用区中的备用虚拟机。然后,Compute Engine 会根据健康检查信号将所有流量定向到该虚拟机。

总体故障切换延迟时间是除故障检测时间以外,以下延迟时间的总和:

  • 将区域级永久性磁盘卷重新挂接到备用虚拟机的时间(零秒)
  • 应用初始化和崩溃恢复所需的时间

如需了解详情,请参阅了解应用专用的区域级控制平面

灾难恢复基础组件页面介绍了 Compute Engine 上可用的基础组件。

通过强制挂接进行故障切换

区域级永久性磁盘的一个好处是,如果发生罕见的可用区级服务中断,您还可以将在区域级永久性磁盘上运行的工作负载手动故障切换到另一个可用区。如果原始可用区发生服务中断,在该区域级副本恢复之后,您才可以完成分离操作。在这种情况下,可能需要将新虚拟机挂接到次要可用区级副本,而无需将虚拟机与主要可用区级副本分离。此过程称为强制挂接。

如果主要可用区中的虚拟机实例不可用,您可以将磁盘强制挂接到次要可用区中的虚拟机实例。要执行此任务,您必须执行以下任一操作:

  • 在要强制挂接的区域级永久性磁盘卷所在的同一可用区中启动另一个虚拟机实例。
  • 在该可用区中保留一个热备用虚拟机实例。热备用是指运行中的虚拟机实例,与您使用的实例完全相同。这两个实例具有相同的数据。

Compute Engine 在不到一分钟的时间内执行强制挂接操作。总恢复时间目标 (RTO) 不仅取决于存储故障切换(区域级永久性磁盘卷强制挂接操作),还取决于其他因素,包括下列各项:

  • 是否必须先创建辅助虚拟机实例
  • 底层文件系统检测到热挂接磁盘的时长
  • 相应应用的恢复时间

如需详细了解如何使用强制挂接功能对虚拟机进行故障切换,请参阅使用 force-attach 对区域级永久性磁盘卷进行故障切换

区域级永久性磁盘会优先考虑工作负载的可用性,这意味着,当两个磁盘副本同时不可用时,很可能不会发生数据保护。如需了解详情,请参阅管理区域级永久性磁盘的故障

限制

以下各部分列出了适用于区域级永久性磁盘的限制。

区域级永久性磁盘的一般限制

  • 您只能将区域级永久性磁盘挂接到使用 E2N1N2N2D 机器类型的虚拟机。
  • 您无法通过映像创建区域级永久性磁盘。
  • 使用只读模式时,您最多可以将一个区域级平衡永久性磁盘挂接到 10 个虚拟机实例。
  • 区域级标准永久性磁盘的大小下限为 200 GiB。
  • 您只能增加区域级永久性磁盘卷的容量,而不能减小其大小。
  • 区域级永久性磁盘卷与可用区级永久性磁盘卷具有不同的性能特征。如需了解详情,请参阅块存储性能
  • 如果您通过克隆可用区级磁盘来创建区域级永久性磁盘,则两个可用区级副本在创建时不会完全同步。创建后,您一般可以在 3 分钟内使用区域级磁盘克隆。不过,您可能需要等待几十分钟,磁盘才会完全复制,恢复点目标 (RPO) 才会接近于零。了解如何检查区域级永久性磁盘是否已完全复制

区域级永久性磁盘副本恢复检查点的限制

  • 副本恢复检查点是设备元数据的一部分,不会单独显示任何磁盘数据。您只能将该检查点用作创建降级磁盘快照的机制。使用检查点创建快照后,您可以使用快照恢复数据。
  • 您只能在磁盘降级时通过副本恢复检查点创建快照。
  • 仅当磁盘完全复制后,Compute Engine 才会刷新磁盘的副本恢复检查点。
  • Compute Engine 仅为磁盘维护一个副本恢复检查点,并且仅维护该检查点的最新版本。
  • 您无法查看副本恢复检查点的确切创建和刷新时间戳。
  • 您只能使用 Compute Engine API 根据副本恢复检查点创建快照。

后续步骤