Hyperdisk 存储池简介


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

存储池具有以下优势:

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

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

何时使用存储池

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

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

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

    借助 Hyperdisk 存储池,您可以在存储池中创建磁盘并预估比实际需求更多的容量,然后仅从存储池中消耗要写入数据的磁盘空间的大小。

  • 资源利用率过低

    确保卷得到充分利用可能是一件非常复杂且痛苦的事情。由于您预配了峰值容量和性能需求来避免服务中断或性能下降,块存储经常未得到充分利用。但是,许多应用很少达到这些峰值。

    使用 Hyperdisk 存储池时,您可以创建存储池来应对工作负载的潜在容量需求。如果存储池的已用容量达到 80%,则 Hyperdisk 存储池会尝试自动增加更多容量,使利用率保持在 80% 以下。

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

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

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

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

Hyperdisk 存储池功能

存储池具有以下功能:

  • 容量精简预配:根据需要分配块,而不是提前分配所有块。这有助于避免存储空间利用率较低的情况,即分配了大量磁盘空间,但未使用。
  • 数据缩减:存储池使用各种数据缩减技术来提高存储效率。数据缩减在很大程度上取决于存储的数据类型。在存储到 Hyperdisk 存储池中的磁盘之前已经压缩或加密的数据不会进一步缩减。
  • 容量自动扩容:如果存储池利用率达到预配容量的 80%,则 Hyperdisk 存储池会尝试自动增加存储池的容量,以防发生与容量不足相关的错误。

Hyperdisk 存储池的工作原理

您可以创建一个具有工作负载所需的总容量和性能的存储池,并在存储池中创建磁盘。然后,您可以将磁盘挂接到虚拟机。您可以创建大小远大于实际需求的磁盘。这样可以应对后续的增长需求,而无需执行磁盘大小调整操作。

如果磁盘是在高级容量存储池中创建的,则在数据缩减后,系统仅会从可用存储池容量中扣减工作负载使用的磁盘空间量。

如果您的磁盘需要更多容量,您可以增加存储池的预配容量。然后,各个磁盘使用的磁盘空间量就会增加到您在创建磁盘时指定的大小。通过在初始容量大得多的高级容量存储池中创建磁盘,并通过存储池分配额外的空间,您可以整合磁盘存储空间管理,降低费用。

容量在存储池级层进行管理。您可以通过增加或减少存储池的预配容量来调整存储池中的磁盘可用容量。如果存储池的已用容量或存储池中所有磁盘的总容量超过存储池预配容量的 80%,则高级容量存储池会尝试自动为存储池增加更多容量。如果自动扩容操作失败,您可以手动向存储池添加额外的容量,上限为 1 PiB。

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

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

Hyperdisk 存储池的预配类型

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

标准容量存储池

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

高级容量存储池

高级容量存储池提供针对容量的精简预配和数据缩减功能,使您能够预配比已购买的容量更大的磁盘。由于高级容量存储池仅根据数据缩减后写入磁盘的字节数来消耗容量,因此您可以为最终用户和应用预配比在存储池中购买的容量更大的容量。

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

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

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

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

Hyperdisk 存储池的类型

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

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

Hyperdisk Throughput 存储池

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

Hyperdisk Throughput 存储池的限制

以下限制适用于 Hyperdisk Throughput 存储池。

限制
存储池预配容量上限 1 PiB
存储池预配容量下限 10 TiB
存储空间容量增量:最小值 1 TiB
(仅限整数 TiB 增量)
每个项目的 Hyperdisk 存储池数上限 10
最大吞吐量 18 GBps
每 TiB 吞吐量上限 每 TiB 容量 18 MBps
每 TiB 吞吐量下限 每 TiB 容量 10 MBps
吞吐量增量 10 MBps
存储池中的磁盘数上限 1,000

支持的机器类型

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

Hyperdisk Throughput 存储池区域可用性

Hyperdisk Throughput 存储池可用于以下可用区:

  • asia-southeast1-c
  • europe-west4-b
  • us-central1-a
  • us-east1-1
  • us-east4-aus-east4-bus-east4-c

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

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

Hyperdisk Balanced 存储池

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

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

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

Hyperdisk Balanced 存储池的限制

以下限制适用于 Hyperdisk Balanced 存储池。

限制
存储池预配容量上限 1 PiB
存储池预配容量下限 10 TiB
存储空间容量增量:最小值 1 TiB
(仅限整数 TiB 增量)
每个项目的 Hyperdisk 存储池数上限 10
最大 IOPS 4,194,304 (4 * 2^20)
每 GiB 最大 IOPS 每 GiB 4 IOPS
每 GiB 最小 IOPS 0
IOPS 增量 10,000
(只能是 10K IOPS 的倍数)
最大吞吐量 1 TBps
每 GiB 最大吞吐量 每 GiB 容量 1 MBps
每 GiB 最小吞吐量 0 MBps
吞吐量增量 1 GBps
Hyperdisk 存储池中的磁盘数上限 1,000

支持的机器类型

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

Hyperdisk Balanced 存储池区域可用性

Hyperdisk Balanced 存储池可用于以下可用区:

  • asia-south1-b
  • asia-southeast1-c
  • europe-west1-b
  • europe-west4-b
  • us-central1-a
  • us-east4-aus-east4-bus-east4-c

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

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

性能

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

存储池的限制

Hyperdisk 存储池具有以下限制:

资源限制

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

存储池中的磁盘限制

价格

Hyperdisk 存储池按预配的存储池容量、吞吐量和 IOPS 计费。

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

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

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

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

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

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

后续步骤