Hyperdisk 存储池简介


Hyperdisk 存储池可与 Compute Engine 搭配使用,以实现大规模存储。Hyperdisk 存储池是预购的容量、吞吐量和 IOPS 的集合,您可以随后根据需要将其预配给应用。您可以使用 Hyperdisk 存储池在池中创建和管理磁盘,并在多个工作负载中使用磁盘。通过对磁盘进行汇总管理,您可以节省费用,同时实现预期的容量和性能增长。通过仅使用 Hyperdisk 存储池中所需的存储空间,您可以从管理数百个磁盘转变为管理一个存储池,从而降低容量预测的复杂性并减少管理方面的重复劳动。

存储池具有以下优势:

  • 降低总拥有成本 (TCO) - Hyperdisk 存储池使用精简预配和数据缩减功能,帮助您高效地存储数据并实现最佳 TCO。
  • 效率更高 - Hyperdisk 存储池可以利用精简预配和数据缩减功能来提高资源利用率并降低 TCO。
  • 灵活性更高,可降低管理开销- Hyperdisk 存储池中的磁盘可以预配为较大的大小并仅使用所需资源,使工作负载所有者无需进行繁琐的容量和性能预测,并避免重新缩放产生的相关停机时间。
  • 对工作负载透明 - 使用存储池时,各个工作负载使用 Hyperdisk 卷的方式没有变化。无需停机,也不会对工作负载产生任何其他影响。

如果磁盘不是在存储池中创建的,存储池中各个磁盘上的数据将保持相同的隔离状态。

何时使用存储池

您可以使用存储池来解决以下问题:

  • 将工作负载从使用 SAN 的本地工作负载迁移到 Google Cloud 时,难以规划资源需求

    估算每个应用的性能和容量需求非常耗时且容易出错,可能导致多花几周时间进行云迁移或应用发布。

    借助 Hyperdisk 存储池,您可以在存储池中创建磁盘并预估比实际需求更多的容量或性能,然后仅从存储池中消耗要写入数据的磁盘空间的大小或工作负载使用的 IOPS 或吞吐量。

  • 资源利用率过低

    确保卷得到充分利用可能是一件非常复杂且痛苦的事情。由于您预配了峰值容量和性能需求来避免服务中断或性能下降,块存储经常未得到充分利用。但是,许多应用很少达到这些峰值。 借助精简预配容量和性能以及数据缩减功能,Hyperdisk 存储池可让您更轻松地提高块存储利用率,同时简化操作。

  • 对工作负载使用的块存储进行管理非常复杂

    管理数百甚至数千个磁盘卷非常耗时,并且会占用用于交付创新成果的资源。

    在存储池中为虚拟机创建磁盘时,您可以指定远高于工作负载预期使用空间的大小或性能限制。当工作负载写入磁盘时,系统会从存储池预配的容量和性能中扣减相应空间和性能资源。系统只会从存储池预配的容量和性能中扣减您使用的块存储资源,而不是您创建磁盘时预配的容量。您在存储池中创建磁盘时指定的磁盘大小和性能充当这些资源的上限。因此,只有在达到该上限时,您才需要修改磁盘的大小或预配置性能。

    如果您在存储池中创建磁盘,并且工作负载超出了多个磁盘的容量和性能规划,则可以为存储池增加更多容量或性能。存储池中创建的所有磁盘都可以使用额外的容量和性能。

Hyperdisk 存储池功能

存储池具有以下功能:

  • 容量和性能精简预配:根据需要分配容量和性能,而不是提前分配所有资源。这有助于避免存储空间资源利用率较低的情况,即分配了大量磁盘空间或性能,但未使用。
  • 数据缩减:存储池使用各种数据缩减技术来提高存储效率。数据缩减在很大程度上取决于存储的数据类型。在存储到 Hyperdisk 存储池中的磁盘之前已经压缩或加密的数据不会进一步缩减。

Hyperdisk 存储池的工作原理

您可以创建一个具有工作负载所需的总容量和性能的存储池,并在存储池中创建磁盘。然后,您可以将磁盘挂接到虚拟机。您可以创建大小远大于实际需求的磁盘,也可以创建远大于实际需求的预配性能限制。这样可以简化规划,并为日后扩容留出空间,而无需日后更改磁盘的预配大小或性能。

如果您的工作负载增加,并且您的磁盘需要更多容量或性能,您可以增加存储池的预配容量和性能。然后,存储池中各个磁盘使用的磁盘空间量或性能就会增加到您在创建磁盘时指定的限制。通过在高级容量或高级性能存储池中创建磁盘,并通过存储池分配额外的空间和性能,您可以整合磁盘存储空间管理,降低费用。

如果高级容量存储池的利用率达到 100%,且存储池中已没有剩余可用空间,则对存储池中所有磁盘执行的写入操作都将失败,直到您通过删除数据或磁盘减少存储池的已用空间为止。在存储池空间用尽时,大多数商业软件会将返回的错误解读为与硬件故障类似。

请务必主动管理和监控存储池,以避免出现空间不足错误。您还应该了解在工作负载遇到存储池中的磁盘空间不足错误时,该如何响应。

当存储池中所有磁盘的总体性能利用率达到为存储池预配的性能总量时,磁盘可能会遇到性能争用问题。如果在高级性能存储池中检测到对性能资源的争用情况(针对存储池中的任何磁盘),则自动扩容功能会尝试自动提高存储池中磁盘可用的 IOPS,以防止出现性能问题。

Hyperdisk 存储池的预配类型

创建 Hyperdisk 存储池时,您可以将其配置为标准容量或高级容量预配。

标准容量存储池

使用标准容量预配时,您可以在存储池中创建磁盘,直到存储池中所有磁盘的总预配容量达到存储池的预配容量。标准容量存储池中的磁盘在容量消耗方面与非存储池磁盘类似。

高级容量存储池

高级容量存储池中磁盘在容量消耗方面与标准容量存储池中的磁盘和非存储池磁盘不同。 高级容量存储池提供针对容量的精简预配和数据缩减功能,使您能够预配比已购买的容量更大的磁盘。高级容量存储池中的磁盘仅根据数据缩减后写入磁盘的字节数来消耗容量,这意味着您可以为最终用户和应用预配比在存储池中购买的容量更大的容量。

使用高级容量时,您可以在存储池中创建磁盘,其中所有磁盘的累计大小最高可超过存储池预配容量的 500%。存储池的已用容量由写入的数据量定义,而不是由预配的磁盘容量定义。

只要写入存储池中所有磁盘的数据不超过存储池容量,您就可以在高级容量存储池中填充磁盘,直至达到其预配大小。如果存储池利用率达到池预配容量的 80%,则自动扩容功能会尝试自动为存储池增加容量。如果存储池的容量已用尽,则对所有存储池磁盘执行的写入操作都将失败,直到您通过删除数据或磁盘来降低存储池的已用容量为止。在存储空间用尽时,大多数软件应用会将返回的错误解读为与硬件故障类似,因此请务必注意以下两个事项:

  • 监控存储池,以免耗尽磁盘可用空间
  • 了解在发生该情况时工作负载如何进行响应

存储池无法查看文件系统,因此在操作系统 (OS) 使用 DISCARDTRIM 命令将已删除的数据标记为未使用之前,系统会将这些数据视为仍在使用中。与大多数常见的第三方操作系统映像一样,所有 Google 提供的操作系统映像都默认配置为执行此操作,但如果您不使用 Google 提供的操作系统映像,应进行确认。如需详细了解如何验证或配置此功能,请参阅停用延迟初始化并启用 DISCARD 命令

标准性能存储池

标准性能预配是以下类型的工作负载的最佳选项:

  • 如果性能受存储池资源的限制,则无法成功的工作负载
  • 存储池中的磁盘可能会出现相关性能峰值的工作负载,例如,数据库的数据磁盘,这些磁盘每天早上都会达到峰值利用率。

使用标准性能预配时,无法使用精简预配。此外,在标准性能存储池中创建的磁盘不会与存储池的其余部分共享性能资源。在存储池中创建的所有磁盘的性能总和不得超过存储池的总预配 IOPS 或吞吐量。

创建存储池时,您需要在存储池中预配足够的性能,以满足存储池中所有磁盘的峰值性能需求总和。在存储池中创建磁盘时,您可以预配足够的性能来满足该磁盘的峰值性能要求。您可以继续在存储池中创建磁盘,直到所有磁盘的总预配 IOPS 达到存储池的预配容量。

在具有标准性能的 Hyperdisk Balanced 存储池中,存储池中每个磁盘的前 3,000 IOPS 和 140 MiBps 吞吐量(基准值)不会消耗存储池资源。在存储池中创建磁盘时,超出基准值的 IOPS 和吞吐量会消耗存储池中的 IOPS 和吞吐量。

高级性能存储池

高级性能预配最适合没有高度相关的峰值使用时间的工作负载。如果您的工作负载同时达到峰值,高级性能存储池可能会达到存储池的性能上限,从而导致性能资源争用。

通过高级性能 IOPS 和吞吐量预配,您可以在存储池中的所有磁盘之间共享预配性能池。当存储池中的磁盘读取和写入数据时,存储池会动态分配性能资源。只有存储池中磁盘使用的 IOPS 和吞吐量才会消耗存储池性能。

由于高级性能存储池是精简预配的,因此您可以为存储池中的磁盘分配比您为存储池预配的 IOPS 或吞吐量更高的 IOPS 或吞吐量,最多可达到为存储池预配的 IOPS 或吞吐量的 500%。例如,如果您为存储池预配 100,000 IOPS,则该存储池中可以有 10 个磁盘,每个磁盘预配 50,000 IOPS。

在具有高级性能预配的 Hyperdisk Balanced 存储池中,磁盘没有基准性能。存储池中 Hyperdisk Balanced 磁盘的每次读写操作都会消耗预配的存储池资源。

在任何给定时刻,当存储池中所有磁盘使用的总体性能达到为存储池预配的性能总量时,磁盘可能会争夺性能资源。因此,这些磁盘无法达到您为其预配的性能上限。如果检测到资源争用时间过长,Compute Engine 会尝试自动为存储池添加性能。使用高级性能存储池时,您应:

  • 监控存储池,以免耗尽预配的性能
  • 了解在发生该情况时工作负载如何进行响应

示例

假设您有一个预配 IOPS 为 100,000 的 Hyperdisk Balanced 存储池。

使用标准性能预配:

  • 在存储池中创建 Hyperdisk Balanced 磁盘时,最多可预配 100,000 个汇总 IOPS。
  • 您需要为 100,000 IOPS 的 Hyperdisk Balanced 存储池预配性能付费。
  • 与在存储池外部创建的磁盘一样,标准性能存储池中的 Hyperdisk Balanced 磁盘会自动预配最多 3,000 基准 IOPS 和 140 MiB/s 基准吞吐量。此基准性能不会计入存储池的预配性能。只有当您向存储池添加的磁盘预配性能高于基准时,该性能才会计入存储池的预配性能,例如:

    • 预配了 3,000 IOPS 的磁盘使用了 0 个存储池 IOPS,并且该存储池仍有 100,000 个预配 IOPS 可供其他磁盘使用。
    • 预配了 13,000 IOPS 的磁盘使用了 10,000 个存储池 IOPS,并且该存储池还有 90,000 个预配 IOPS 可分配给存储池中的其他磁盘。

使用高级性能预配:

  • 在存储池中创建磁盘时,最多可预配 500,000 IOPS 的汇总 Hyperdisk 性能。
  • 您需要支付存储池预配的 100,000 IOPS 的费用。
  • 如果您在具有 5,000 IOPS 的存储池中创建单个磁盘 (Disk1),则不会使用存储池预配 IOPS 中的任何 IOPS。不过,您现在可以为在存储池中创建的新磁盘预配的 IOPS 数量为 495,000。
  • 如果 Disk1 开始读写数据,并且在给定一分钟内使用了 5,000 IOPS 的最大值,则会从存储池预配 IOPS 中消耗 5,000 IOPS。您在同一存储池中创建的任何其他磁盘都可以在同一分钟内使用总计不超过 95,000 IOPS,而不会发生争用。

Hyperdisk 存储池的类型

您创建的 Hyperdisk 存储池的类型决定了您可以在存储池中创建的磁盘类型。

  • Hyperdisk Throughput 存储池:创建存储池时,您可以指定为存储池预配的容量和吞吐量。您在存储池中创建的每个 Hyperdisk Throughput 磁盘都会使用一部分预配容量和吞吐量。
  • Hyperdisk Balanced 存储池:创建存储池时,您可以指定要为存储池预配的容量、吞吐量和 IOPS。您在存储池中创建的每个预配容量和性能高于基准值的 Hyperdisk Balanced 磁盘都会使用一部分存储池预配容量和性能。

Hyperdisk Throughput 存储池

您可以使用 Hyperdisk Throughput 存储池来管理 Hyperdisk Throughput 磁盘用量。

支持的机器类型

支持 Hyperdisk Throughput 的机器系列也支持 Hyperdisk Throughput 存储池。如需查看支持的机器系列的列表,请参阅 Hyperdisk 机器类型支持

Hyperdisk Throughput 存储池区域可用性

Hyperdisk Throughput 存储池可用于提供 Hyperdisk Throughput 磁盘的任何可用区。如需查看可用区域的列表,请参阅Hyperdisk 区域可用性

您还可以使用以下命令查看可用区域和可用区的最新更新:

gcloud compute storage-pool-types list --filter="name=hyperdisk-throughput"

Hyperdisk Balanced 存储池

您可以使用 Hyperdisk Balanced 存储池来管理 Hyperdisk Balanced 磁盘用量。

在采用标准性能预配的 Hyperdisk Balanced 存储池中,Hyperdisk Balanced 磁盘仅使用超出基准值(每个磁盘 3,000 IOPS 和 140 MiBps 吞吐量)的 IOPS 和吞吐量。例如:

  • 如果您在预配了标准性能的存储池中预配了具有 3,000 IOPS 和 140 MiBps 吞吐量的 Hyperdisk Balanced 磁盘,则该磁盘不会使用存储池的任何 IOPS 或吞吐量。
  • 如果您在预配了标准性能的存储池中预配了具有 4,000 IOPS 和 180 MiBps 吞吐量的 Hyperdisk Balanced 磁盘,则该磁盘会使用 1,000 IOPS 和 40 MiBps 的存储池吞吐量。

支持的机器类型

支持 Hyperdisk Balanced 的机器系列也支持 Hyperdisk Balanced 存储池。 如需查看支持的机器系列的列表,请参阅 Hyperdisk 机器类型支持

Hyperdisk Balanced 存储池区域可用性

Hyperdisk Balanced 存储池可用于提供 Hyperdisk Balanced 磁盘的任何可用区。如需查看可用区域的列表,请参阅Hyperdisk 区域可用性

您还可以使用以下命令查看可用区域和可用区的最新更新:

gcloud compute storage-pool-types list --filter="name=hyperdisk-balanced"

存储池的限制

下表列出了不同存储池类型的限制。

Hyperdisk Balanced 存储池

限制
存储池预配容量上限 1 PiB
存储池预配容量下限 10 TiB
存储空间容量增量 1 TiB 的倍数
每个可用区的 Hyperdisk 存储池数上限 10
Hyperdisk 存储池中的磁盘数上限 1000
每个存储池的 IOPS 上限 4,194,304
每 GiB 最大 IOPS 4
每个存储池的 IOPS 下限
  • 标准性能为 0
  • 高级性能为 10,000
IOPS 增量 10,000 的倍数
每个存储池的最大吞吐量 1 TiBps
每 GiB 最大吞吐量 1 MiBps
每存储池吞吐量下限 1 GiBps
吞吐量增量 以 1 GiBps 为增量
存储空间池容量更改的频率 24 小时内两次
存储池性能变化的频率 24 小时内两次

Hyperdisk Throughput 存储池

限制
存储池预配容量上限 1,024 TiB (1 PiB)
存储池预配容量下限 10 TiB
存储空间容量增量 1 TiB 的倍数
每个项目的 Hyperdisk 存储池数上限 10
Hyperdisk 存储池中的磁盘数上限 1000
每个存储池的最大吞吐量 18 GiBps
每 TiB 容量的最大吞吐量 18 MiBps
每存储池吞吐量下限 100 MiBps
每 TiB 容量的最低吞吐量 10 MiBps
吞吐量增量 10 MiBps 的倍数
存储空间池容量更改的频率 24 小时内两次
存储池性能变化的频率 24 小时内两次

性能

存储池中磁盘的性能与未在存储池中创建的磁盘的性能相同。

存储池的限制

Hyperdisk 存储池具有以下限制:

资源限制

  • 您可以创建预配容量高达 1 PiB 的 Hyperdisk 存储池。
  • 您每小时最多可以创建 5 个存储池。
  • 您每天最多可以创建 10 个存储池。
  • 您最多可以为每个项目创建 10 个存储池。
  • 您无法更改池的预配模型;您无法将标准容量存储池更改为高级容量存储池,也无法将高级性能存储池更改为标准性能存储池。
  • 存储池是可用区级资源。
  • 您最多可以在一个存储池中创建 1,000 个磁盘。
  • 您只能将 Hyperdisk 存储池与 Compute Engine 搭配使用。Cloud SQL 实例无法使用 Hyperdisk 存储池。
  • 在 24 小时内,您最多可以更改两次存储池的预配容量或性能。

存储池中的磁盘限制

  • 只能在存储池中创建位于同一项目和同一可用区的新磁盘。
  • 不允许将磁盘移入或移出存储池。如需将磁盘移入或移出存储池,您必须通过快照重新创建磁盘。如需了解详情,请参阅更改磁盘类型
  • 如需在存储池中创建启动磁盘,您必须使用 Hyperdisk Balanced 存储池。
  • 存储池不支持区域级磁盘
  • 您无法对存储池中的磁盘进行克隆创建即时快照配置永久性磁盘异步复制等操作。
  • 存储池中的 Hyperdisk Balanced 磁盘无法挂接到多个计算实例。

价格

Hyperdisk 存储池按预配的存储池容量、吞吐量和 IOPS 按月结算。您无需为存储池中创建的磁盘的预配 IOPS、吞吐量或容量付费。

使用标准容量和标准性能存储池时,容量和预配性能的定价与底层磁盘的定价相同。例如,Hyperdisk Balanced 存储池标准容量的价格与独立 Hyperdisk Balanced 磁盘容量的价格相同。

高级容量存储池和高级性能存储池的价格较高,因为它们支持精简预配和数据缩减。即便多了这笔附加费,仍然可以降低您的块存储总费用,因为精简预配和数据缩减可以提高效率和利用率,从而节省费用。

如需详细了解价格信息,请参阅磁盘价格

适用于 Hyperdisk 存储池的承诺使用折扣

Hyperdisk 存储池无法享受以下折扣:

  • 基于资源的承诺使用折扣 (CUD)
  • 持续使用折扣 (SUD)

后续步骤