修改 Google Cloud Hyperdisk 卷的设置


如果您的工作负载需要额外的存储空间,则可以增大 Google Cloud Hyperdisk 卷的大小。Hyperdisk 卷还可让您动态预配磁盘的性能特征。

  • Hyperdisk Balanced 卷:您可以在创建卷时指定 IOPS 和吞吐量级别,还可以随时更改这些值。
  • Hyperdisk Extreme 卷:您可以在创建卷时指定 IOPS 级别,也可以随时更改该值。
  • Hyperdisk Throughput:您可以在创建卷时指定吞吐量级别,也可以随时更改该值。

准备工作

  • 设置身份验证(如果尚未设置)。身份验证是通过其进行身份验证以访问 Google Cloud 服务和 API 的过程。如需从本地开发环境运行代码或示例,您可以按如下方式向 Compute Engine 进行身份验证。

    选择标签页以了解您打算如何使用本页面上的示例:

    控制台

    当您使用 Google Cloud 控制台访问 Google Cloud 服务和 API 时,无需设置身份验证。

    gcloud

    1. 安装 Google Cloud CLI,然后通过运行以下命令初始化 Google Cloud CLI:

      gcloud init
    2. 设置默认区域和可用区

    REST

    如需在本地开发环境中使用本页面上的 REST API 示例,请使用您提供给 gcloud CLI 的凭据。

      安装 Google Cloud CLI,然后通过运行以下命令初始化 Google Cloud CLI:

      gcloud init

所需的角色和权限

如需获得修改 Hyperdisk 所需的权限,请让管理员向您授予项目的以下 IAM 角色:

如需详细了解如何授予角色,请参阅管理访问权限

此预定义角色包含修改 Hyperdisk 所需的 compute.disks.update 权限。

您也可以使用自定义角色或其他预定义角色来获取此权限。

Hyperdisk 卷支持的值

修改 Hyperdisk 卷时使用的值必须在每个磁盘的 Hyperdisk 限制中所述的最大值和最小值范围内。

如果 Hyperdisk 卷挂接到虚拟机,则新值也不能超过每个虚拟机的 Hyperdisk 限制

修改 Hyperdisk 概览

您可以动态更改 Hyperdisk 卷的磁盘大小或性能特征。

容量变化

您调整 Hyperdisk 卷的大小的方式,只能是增大它的大小。您无法减少 Hyperdisk 卷的容量。如果您要减小 Hyperdisk 卷的大小,则必须创建较小的卷,将数据从原始卷迁移到较小的卷,然后删除原始卷。

您可以每 4 小时增加一次 Hyperdisk Extreme 或 Hyperdisk Balanced 卷的预配大小,每 6 小时增加一次 Hyperdisk Throughput 卷的预配大小。即使 Hyperdisk 卷已挂接到正在运行的虚拟机,您也可以调整其大小。

为获得最佳结果,请在更改 Hyperdisk 卷的容量时完成以下步骤:

  1. 增大卷的大小
  2. 备份磁盘
  3. 调整磁盘分区的大小

效果变化

更改预配的 IOPS 或吞吐量后,更改最多可能需要 15 分钟才能生效。您可以每 4 小时动态更改一次卷的预配 IOPS 或吞吐量。更改 Hyperdisk 卷的预配 IOPS 或吞吐量不会删除或修改磁盘数据。

修改 Hyperdisk 卷

您可以使用以下时间限制增加卷大小并更改 Hyperdisk 卷的预配 IOPS 或吞吐量:

  • 增加磁盘大小:对于 Hyperdisk Extreme 或 Hyperdisk Balanced,每 4 小时一次;对于 Hyperdisk Throughput,每 6 小时一次
  • 修改预配的 IOPS 或吞吐量:每 4 小时一次

如果您尝试在 4 小时到期之前更改磁盘,则会收到这样的错误消息:Cannot update provisioned throughput due to being rate limited.

控制台

  1. 在 Google Cloud 控制台中,转到磁盘页面。

    转到“磁盘”

  2. 在项目的磁盘列表中,点击要更改其容量或预配性能的 Hyperdisk 卷的名称。

  3. 在“磁盘详情”页面上,点击修改

    1. 大小字段中,为磁盘输入新的大小。磁盘大小必须在支持的值范围内。
    2. 对于 Hyperdisk Extreme 和 Hyperdisk Balanced:在预配的 IOPS 字段中,输入卷的新 IOPS 值。
    3. 对于 Hyperdisk Throughput 和 Hyperdisk Balanced:在预配的吞吐量字段中,输入卷的新吞吐量值。
  4. 点击保存以将更改应用于磁盘。

gcloud

使用 disks update 命令并指定 --size--provisioned-iops--provisioned-throughput 标志。

gcloud compute disks update DISK_NAME  \
    --size=DISK_SIZE  \
    --provisioned-iops=IOPS_LIMIT  \
    --provisioned-throughput=THROUGHPUT_LIMIT

替换以下内容:

  • DISK_NAME:您要修改的 Hyperdisk 卷的名称。
  • DISK_SIZE(可选):磁盘的新大小。该值必须是一个整数,后跟 GB 表示吉比字节,或 TB 表示太比字节。磁盘大小必须在支持的值范围内。
  • IOPS_LIMIT(可选):Hyperdisk Extreme 和 Hyperdisk Balanced 卷的 IOPS 配置。该值必须在支持的值范围内。
  • THROUGHPUT_LIMIT(可选):Hyperdisk Throughput 或 Hyperdisk Balanced 卷的吞吐量配置,指定一个整数,表示吞吐量(以 MiB/秒为单位)。该值必须在支持的值范围内。

REST

构建对 compute.disks.update 方法的 POST 请求。在请求正文中,指定 sizeGbprovisionedIopsprovisionedThroughput 参数。

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/disks/DISK_NAME/update
{
   "sizeGb": "DISK_SIZE,
   "provisionedIops": "IOPS_LIMIT",
   "provisionedThroughput": "THROUGHPUT_LIMIT"
}

替换以下内容:

  • PROJECT_ID:您的项目 ID。
  • ZONE:您的 Hyperdisk 卷所在的可用区。
  • DISK_NAME:要修改的 Hyperdisk 卷的名称。
  • DISK_SIZE(可选):磁盘的新大小。该值必须是一个整数,后跟 GB 表示吉比字节,或 TB 表示太比字节。磁盘大小必须在支持的值范围内。
  • IOPS_LIMIT(可选):Hyperdisk Extreme 或 Hyperdisk Balanced 卷的 IOPS 配置。该值必须在支持的值范围内。
  • THROUGHPUT_LIMIT(可选):Hyperdisk Throughput 或 Hyperdisk Balanced 卷的吞吐量配置,指定一个整数,表示吞吐量(以 MiB/秒为单位)。该值必须在支持的值范围内。

备份 Hyperdisk 卷

调整磁盘大小不会删除或修改磁盘数据,但最佳做法是,始终通过创建快照备份磁盘,然后再对文件系统或分区进行任何更改。

调整文件系统和分区的大小

增大 Hyperdisk 卷的大小后,您可能需要调整其文件系统和分区的大小。如需了解详情,请参阅 Persistent Disk 文档中的调整文件系统和分区的大小

后续步骤