更改磁盘类型


您无法将磁盘类型从 Persistent Disk 更改为 Google Cloud Hyperdisk。 此外,没有将现有磁盘移入或移出 Hyperdisk 存储池的命令。

在存储池内外更改磁盘类型或重新创建磁盘的过程相同:

  1. 创建现有磁盘的快照。
  2. 使用快照作为磁盘的数据源,创建正确类型或位置的新磁盘。
  3. 验证新磁盘后,您可以删除原始磁盘。

准备工作

  • 如果要将新的 Hyperdisk 卷放在存储池中,请查看存储池的文档,尤其是:

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

    Select the tab for how you plan to use the samples on this page:

    Console

    When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.

    gcloud

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

      gcloud init
    2. Set a default region and zone.
    3. REST

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

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

        gcloud init

      如需了解详情,请参阅 Google Cloud 身份验证文档中的使用 REST 时进行身份验证

所需的角色和权限

如需获得更改磁盘类型所需的权限,请让管理员向您授予项目上的以下 IAM 角色:

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

这些预定义角色包含更改磁盘类型所需的权限。如需查看所需的确切权限,请展开所需权限部分:

所需权限

如需更改磁盘类型,您需要具备以下权限:

  • 如需创建磁盘的快照:
    • 针对项目的 compute.snapshots.create 权限
    • 针对磁盘的 compute.disks.createSnapshot 权限
  • 创建新磁盘:针对项目的 compute.disks.create 权限
  • 如需在存储池中创建磁盘:
    • 针对项目的 compute.storagePools.use 权限
    • 针对项目的 compute.disks.create 权限
  • 如需将磁盘挂接到虚拟机:
    • 针对虚拟机的 compute.instances.attachDisk 权限
    • 针对您要挂接到虚拟机的卷的 compute.disks.use
  • 如需删除磁盘:针对项目的 compute.disks.delete 权限

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

更改磁盘的类型或位置

如需将 Persistent Disk 卷迁移到 Hyperdisk,或者在存储池内外重新创建磁盘,请创建磁盘快照,然后在创建新磁盘时使用该快照。

创建新的 Hyperdisk 卷时,您可以将其创建为独立磁盘,也可以在存储池中创建磁盘(如果存储池存在)。

控制台

  1. 准备创建磁盘快照:

    重要说明:如果您在创建快照之前暂停应用,则只有在快照资源达到 UPLOADING 状态后才能恢复工作负载。

    如需了解详情,请参阅手动创建应用一致快照中的表。

  2. 创建现有磁盘的快照

  3. 可选:如需在存储池中创建新的 Hyperdisk,您必须创建存储空间池(如果不存在)。
  4. 转到磁盘页面。

    转到“磁盘”
  5. 点击 + 创建磁盘
  6. 磁盘类型下,选择 Hyperdisk ExtremeHyperdisk ThroughputHyperdisk Balanced

    可选:如需使用存储池,请选择 Hyperdisk Balanced 或 Hyperdisk Throughput。

  7. 对于磁盘来源类型,选择快照,然后选择要恢复的快照的名称。
  8. 指定新磁盘的大小(以 GiB 为单位)。此数字必须等于或大于快照最初的来源磁盘大小。
  9. 可选:如果您要更改磁盘类型,请更改默认值:

    • Hyperdisk Balanced:更改预配的 IOPS 值和预配的吞吐量值。
    • Hyperdisk Extreme:更改预配的 IOPS 值。
    • Hyperdisk Throughput:更改预配的吞吐量值。
  10. 可选:如需在存储池中创建新磁盘,请执行以下操作:

    1. 存储空间池部分中,选择启用存储池
    2. 选择要在其中创建磁盘的存储池的名称。

      列表中仅显示所选可用区中存在的存储池。

  11. 点击创建以创建新磁盘。

gcloud

  1. 准备创建磁盘快照:

    重要说明:如果您在创建快照之前暂停应用,则只有在快照资源达到 UPLOADING 状态后才能恢复工作负载。

    如需了解详情,请参阅手动创建应用一致快照中的表。

  2. 创建现有磁盘的快照

  3. 使用 disks create 命令根据快照创建 Hyperdisk Extreme 卷。

    gcloud compute disks create DISK_NAME \
     --zone=ZONE \
     --storage-pool=STORAGE_POOL_NAME \
     --size=SIZE \
     --source-snapshot=SNAPSHOT_NAME \
     --type=DISK_TYPE \
     --provisioned-iops=PROVISIONED_IOPS \
     --provisioned-throughput=PROVISIONED_THROUGHPUT
    

    替换以下内容:

    • DISK_NAME:磁盘的唯一名称。您可以提供由空间指定的磁盘名称列表,以创建具有相同属性的多个磁盘。
    • ZONE:您要在其中创建磁盘的可用区。如果要在存储池中创建磁盘,则必须指定存储池所在的可用区。采用区域-可用区格式指定此值,例如 us-central1-a
    • STORAGE_POOL_NAME(可选):要在其中创建磁盘的存储池的名称。如果不添加此标志,则系统会创建一个独立的 Hyperdisk。
    • SIZE(可选):新磁盘的预配容量。该大小必须大于或等于来源 Persistent Disk 的大小。该值必须是一个整数,后跟大小单位(GB 表示吉比字节,或 TB 表示太比字节)。如果未指定大小,则使用 100 GB 作为默认值。
    • SNAPSHOT_NAME:您根据原始磁盘创建的快照的名称。
    • DISK_TYPE:要创建的磁盘类型。如果在存储池中创建磁盘,则此值必须与 Hyperdisk 存储池的类型匹配,即 hyperdisk-balancedhyperdisk-throughput
    • PROVISIONED_IOPS(可选):要为磁盘预配的 IOPS。只有在创建 Hyperdisk Balanced 或 Hyperdisk Extreme 磁盘时才能使用此标志。
    • PROVISIONED_THROUGHPUT(可选):对于 Hyperdisk Balanced 和 Hyperdisk Throughput 磁盘,要为磁盘预配的每秒吞吐量 (MB)。该值必须为正整数。

将新磁盘设为可供虚拟机实例访问

创建磁盘后,您必须先将磁盘挂接到虚拟机,然后才能使用它。

由于您创建的新磁盘不是空白磁盘,因此在将磁盘挂接到虚拟机后,您只需装载该磁盘,即可将其提供给操作系统。

如需了解如何装载磁盘,请参阅以下内容:

移除原始磁盘

验证新磁盘后,您可以执行以下操作:

后续步骤