关于 GKE 的 Hyperdisk


Google Cloud Hyperdisk 是 GKE 上提供的网络块存储选项。您可以在 GKE 集群中使用此存储选项,方法与其他 Compute Engine Persistent Disk 卷类似,并能增加灵活性来调整工作负载的性能。与 Persistent Disk 存储空间相比,Hyperdisk 每秒的输入/输出操作数 (IOPS) 和吞吐量要高得多。不同于 Persistent Disk 卷(其中性能在挂接到节点的所有卷之间共享),您可以使用 Hyperdisk 来指定和调整每个 Hyperdisk 卷的性能级别。

您可以从 GKE 上的以下 Hyperdisk 选项中进行选择:

存储方案 GKE 操作模式 说明
平衡 Hyperdisk Autopilot
标准

最适合大多数工作负载。这对于部署大多数企业应用和业务线应用,以及数据库和 Web 服务器来说是一个不错的选择。

Hyperdisk Throughput Autopilot
标准

针对经济高效的高吞吐量进行了优化。如果您的应用场景是扩容分析(例如 Hadoop 或 Kafka)和面向吞吐量的费用敏感型工作负载,则这是一个不错的选项。

Hyperdisk Extreme Autopilot
标准

针对 IOPS 性能进行了优化。如果您要部署高性能工作负载(例如数据库管理系统),则这是一个不错的选项。

Hyperdisk ML Autopilot
标准

针对需要快速加载模型权重的 AI/机器学习训练和推理工作负载进行了优化。此选项适用于具有高峰值读取吞吐量要求的 AI/ML 工作负载。这是减少加载数据时 GPU/TPU 资源空闲时间的最佳选项。

优势

  • 使用 Hyperdisk,您可以在部署的有状态工作负载上实现更可预测的性能。
  • 借助 Hyperdisk,您可以在 GKE 上预配、管理和扩缩有状态工作负载,而无需管理本地存储区域网络 (SAN) 的费用和复杂性。
  • Hyperdisk 存储容量经过分区,并作为单独的卷提供给 GKE 节点。Hyperdisk 卷与节点相分离,可让您在节点之间附加、分离和移动卷。存储在 Hyperdisk 卷中的数据在节点重新启动和删除后仍然存在。您还可以向单个 GKE 节点添加多个 Hyperdisk 卷。

价格

您需要支付 Hyperdisk 卷的总预配容量的费用,直到您将其删除。您每月按 GiB 付费。此外,您需要为以下各项支付费用:

  • 对于超出基准值 3,000 IOPS 和 140 MiBps 吞吐量的部分,Hyperdisk Balanced 根据预配的 IOPS 和预配的吞吐量(以 MiBps 为单位)按月收费。
  • Hyperdisk Extreme 根据预配的 IOPS 按月收费。
  • Hyperdisk Throughput 根据预配的吞吐量(以 MiBps 为单位)按月收费。

如需了解价格信息,请参阅 Compute Engine 文档中的磁盘价格

限制

  • 创建卷后,您只能通过 Compute Engine API 修改以下设置:
    • 吞吐量:Hyperdisk Throughput 和 Hyperdisk Balanced 卷
    • IOPS:Hyperdisk Extreme 和 Hyperdisk Balanced 卷
  • 您只能将 Hyperdisk 卷挂接到特定实例类型:不支持只读连接。
  • Hyperdisk ML 专用限制:
    • Hyperdisk ML 不能用作启动磁盘。
    • Hyperdisk ML 不能在多写入者模式下使用。
    • Hyperdisk ML 不支持存储池。
  • 如需了解详情,请参阅 Compute Engine 文档中的限制和局限部分。

Hyperdisk 和 Autopilot 计算类

如果您想在使用计算类的 Autopilot 集群上使用 Hyperdisk,请确保节点的机器类型同时受 Hyperdisk 支持受计算类支持

以下示例展示了如何在使用 Hyperdisk 平衡时指定 nodeSelector 属性,以便使用性能计算类控制 Autopilot 集群上的 Pod 调度。

cloud.google.com/compute-class: "Performance"
cloud.google.com/machine-famility: "c3"

如需了解详情,请参阅为 Autopilot Pod 选择计算类

规划 Hyperdisk 卷的性能级别

请考虑以下注意事项,为您的 Hyperdisk 卷规划适当的性能级别。

平衡 Hyperdisk

借助 Hyperdisk Balanced,您可以独立于吞吐量和 IOPS 预配容量。如需预配吞吐量或 IOPS,请为给定卷选择相应级别。单个卷具有完全的吞吐量隔离,每个卷都可以使用为该卷指定的所有吞吐量或 IOPS 容量。但是,吞吐量或 IOPS 最终受限于您的卷所挂接的虚拟机实例上的单个实例限制。如需详细了解这些限制,请参阅 Compute Engine 文档中的 Google Cloud Hyperdisk 简介

读取和写入操作都会计入为 Hyperdisk Balanced 卷预配的吞吐量和 IOPS 限制。预配的吞吐量或 IOPS 以及上限限制会应用于读写操作的总和。

如果为一个或多个 Hyperdisk 卷预配的总吞吐量或 IOPS 超过虚拟机实例级层可用的总吞吐量或 IOPS,则性能将受限于实例性能级别。

Hyperdisk Throughput

借助 Hyperdisk Throughput,您可以独立于吞吐量预配容量。如需预配吞吐量,请为给定卷选择级别。单个卷具有完全的吞吐量隔离,每个卷都预配了吞吐量。但是,吞吐量最终受限于您的卷所挂接的虚拟机实例上的单个实例限制。如需详细了解这些限制,请参阅 Compute Engine 文档中的 Google Cloud Hyperdisk 简介

读取和写入操作都会计入为 Hyperdisk Throughput 卷预配的吞吐量限制。预配的吞吐量和上限限制会应用于读写吞吐量的总和。

定义 StorageClass 时,为 Hyperdisk Throughput 卷预配的吞吐量必须遵循以下规则:

  • 每 TiB 容量至少为 10 MiBps,每 TiB 容量不超过 90 MiBps,具体取决于机器类型。
  • 每个卷最多 600 MiBps,具体取决于机器类型。

如果为一个或多个 Hyperdisk Throughput 卷预配的总吞吐量超过虚拟机实例级层可用的总吞吐量,则吞吐量将受限于实例吞吐量级别。

Hyperdisk Extreme

借助 Hyperdisk Extreme,您可以独立于 IOPS 级别预配容量。如需预配 IOPS 级别,请为给定卷指定 IOPS 上限。单个卷具有完全的 IOPS 级别隔离功能,每个卷都预配了 IOPS 级别。但是,IOPS 最终受限于您的卷所挂接的虚拟机实例上的单个实例限制。如需详细了解这些限制,请参阅 Compute Engine 文档中的 Google Cloud Hyperdisk 简介

读取和写入操作都会计入为 Hyperdisk Extreme 卷预配的 IOPS 限制。预配的 IOPS 以及本文档中列出的上限适用于读写 IOPS 的总数。

定义 StorageClass 时,为 Hyperdisk Extreme 卷预配的 IOPS 不得超过 35 万 IOPS,具体取决于机器类型。

如果为一个或多个 Hyperdisk Extreme 卷预配的总 IOPS 超过虚拟机实例级层可用的总 IOPS,则性能将受限于实例 IOPS 级层。如果同时将多个 Hyperdisk 卷和 Persistent Disk 挂接到同一虚拟机请求 IOPS,并且达到虚拟机限制,则每个卷的 IOPS 级别与其在所有挂接的 Hyperdisk Extreme 卷上配置的总 IOPS 中所占的份额成正比

Hyperdisk ML

借助 Hyperdisk ML,您可以独立于性能预配容量。如需预配性能,请为给定卷选择吞吐量级别。单个卷具有完整的性能隔离(每个卷均预配了性能)。

将一个卷附加到多个实例时,预配的吞吐量将动态分布到各个实例。但是,吞吐量最终受限于您的卷所挂接的虚拟机实例上的单个实例限制。

READ-WRITE-SINGLE 模式下,读取和写入操作都会计入为 Hyperdisk ML 卷预配的吞吐量限制。预配的吞吐量和上限限制会应用于读写吞吐量的总和。

为 Hyperdisk ML 卷预配的吞吐量必须遵循以下规则:

  • 最小值:(0.12 MBps * 磁盘大小)(以 GiB 为单位)或 400 MBps 中的较大值。
  • 最大值:(1,600 MBps * 磁盘大小)(以 GiB 为单位),但不超过 1.2 TBps。
  • 如果卷挂接到 READ-ONLY-MANY 模式下的 20 多个实例,则吞吐量值需要至少为 100 MBps * 挂接的实例数。

如果为一个或多个 Hyperdisk ML 卷预配的总吞吐量超过实例级层提供的总吞吐量,则性能将受限于实例级层的性能。

后续步骤