将 Hyperdisk 存储添加到虚拟机


您可以通过完成以下任务,将 Hyperdisk Extreme 或 Hyperdisk Throughput 卷用于虚拟机:

  • 创建空白的非启动、可用区 Hyperdisk 卷,并将其作为虚拟机的一部分,或者作为单独的任务挂接到虚拟机。
  • 格式化卷并进行装载,以提供对数据或文件系统的访问权限。

该过程对于 Hyperdisk Balanced 卷是相同的,但您还可以创建 Hyperdisk Balanced 类型的启动磁盘。

如需了解 Hyperdisk 的一般信息,请参阅关于 Hyperdisk

准备工作

  • 在将 Hyperdisk 卷添加到虚拟机之前,请查看 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. Install the Google Cloud CLI, then initialize it by running the following command:

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

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

        Install the Google Cloud CLI, then initialize it by running the following command:

        gcloud init

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

所需的角色和权限

如需获得将 Hyperdisk 卷添加到虚拟机所需的权限,请让您的管理员为您授予项目的以下 IAM 角色:

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

这些预定义角色包含将 Hyperdisk 卷添加到虚拟机所需的权限。如需查看所需的确切权限,请展开所需权限部分:

所需权限

如需将 Hyperdisk 磁盘卷添加到虚拟机,您需要具备以下权限:

  • 为了创建并挂接 Hyperdisk 卷:
    • 项目的 compute.disks.create 权限
    • 针对虚拟机的 compute.instances.attachDisk 权限
    • 针对您要挂接到虚拟机的卷的 compute.disks.use
  • 为了格式化和装载挂接的卷:针对虚拟机的 compute.instances.setMetadata

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

将 Hyperdisk 卷添加到虚拟机

您可以使用 Google Cloud 控制台、Google Cloud CLI 或 REST 创建并挂接 Hyperdisk 卷。

控制台

  1. 转到虚拟机实例页面。

    转到虚拟机实例

  2. 点击要在其中添加磁盘的虚拟机的名称。

  3. 虚拟机实例详情页面上,点击修改

  4. 额外磁盘标题下,点击添加新磁盘

  5. 为磁盘指定一个名称,并视需要添加说明。选择空白磁盘作为磁盘来源类型

  6. 磁盘设置下,选择以下磁盘类型之一:

    1. Hyperdisk Balanced。您还可以更改默认磁盘大小预配的 IOPS预配的吞吐量设置。
    2. Hyperdisk Extreme。您还可以更改默认磁盘大小预配 IOPS 设置。
    3. Hyperdisk Throughput。您还可以更改默认磁盘大小预配吞吐量设置。
  7. 点击保存

  8. 在虚拟机的修改窗口中,点击保存以应用对虚拟机的更改并添加新磁盘。

gcloud

  1. 使用 gcloud compute disks create 命令创建 Hyperdisk 卷。

    gcloud compute disks create DISK_NAME \
       --zone=ZONE \
       --size=DISK_SIZE \
       --type=DISK_TYPE \
       --provisioned-iops=IOPS_LIMIT
       --provisioned-throughput=THROUGHPUT_LIMIT
    

    替换以下内容:

    • DISK_NAME:新磁盘的名称。
    • ZONE:要在其中创建新磁盘的可用区的名称。
    • DISK_SIZE:可选:新磁盘的大小。该值必须是一个整数,后跟大小单位(GB 表示吉比字节,或 TB 表示太比字节)。如果未指定大小单位,则使用 100 GB 作为默认值。接受的磁盘大小值包括:
      • Hyperdisk Balanced:从 4 GiB 到 64 TiB(含边界值),以 1 GiB 为增量。
      • Hyperdisk Extreme:从 64 GiB 到 64 TiB(含边界值),以 1 GiB 为增量。
      • Hyperdisk Throughput:从 2 TiB 到 32 TiB(含边界值),以 1 GiB 为增量。
    • DISK_TYPE:磁盘类型。请使用以下某个值:hyperdisk-balancedhyperdisk-extremehyperdisk-throughput
    • IOPS_LIMIT:可选:对于 Hyperdisk Balanced 或 Hyperdisk Extreme 磁盘,这是磁盘可以处理的每秒 I/O 操作数 (IOPS)。IOPS 必须在以下限制内指定:

      • Hyperdisk Balanced
        • 最小值:每 GiB 磁盘容量 500 IOPS 或 3,000 中的较小值
        • 最大值:每 GiB 容量 500 IOPS 或 160,000 IOPS 中的较小值
      • Hyperdisk Extreme
        • 最小值:每 GiB 磁盘容量 2 IOPS。
        • 最大值:容量的 1,200 倍(以 GiB 为单位)或 350,000 中的较小值。

      如果您未指定 IOPS 或磁盘大小值,则使用默认值:

      • Hyperdisk Balanced:默认 IOPS 为 3,600。如果指定磁盘大小,则默认值取决于大小:
        • 6 GiB 或更小:每 GiB 磁盘大小 500 IOPS
        • 大于 6 GiB:3000 + 每 GiB 磁盘大小 6 IOPS 所得值或 160,000 中的较小值
      • Hyperdisk Extreme:默认值为磁盘容量的 100 倍(以 GiB 为单位)或机器类型的 IOPS 上限中的较小值。

      例如,您可以按如下方式在 C3 虚拟机上为 Hyperdisk Extreme 预配 IOPS:

      • 对于 64 GiB 磁盘,您可以预配 128 到 64,000 范围内的 IOPS。默认 IOPS 为 6,400。
      • 对于 64,000 GiB 磁盘,您可以预配 128,000 到 350,000 范围内的 IOPS。默认 IOPS 为 350,000。
    • THROUGHPUT_LIMIT:可选:对于 Hyperdisk Balanced 或 Hyperdisk Throughput 卷,这是一个整数,表示磁盘可以处理的吞吐量(以 MiB/秒为单位)。吞吐量必须在以下限制内指定:

      • Hyperdisk Balanced
        • 最小值:IOPS 除以 256 所得值或 140 MiBps 中的较大值
        • 最大值:IOPS 除以 256 所得值或 2,400 MiBps 中的较大值
      • Hyperdisk Throughput
        • 最小值:每 TiB 容量 10 MB/秒。
        • 最大值:每个卷 600 MB/秒或每 TiB 容量 90 MB/秒中的较小值。

      如果您未指定 IOPS、吞吐量或磁盘大小值,则使用默认值。

      • Hyperdisk Balanced:默认吞吐量为 140 MiBps。如果指定磁盘大小,则默认值取决于大小:
        • 6 GiB 或更少:140 MiBps
        • 大于 6 GiB:((6 * disk size in GiB) / 4) + 140 或 2,400 MiBps 中的较小值
      • Hyperdisk Throughput:默认吞吐量为每 TiB 磁盘容量 90 MiBps,但不超过每个磁盘支持的吞吐量上限。
  2. 可选:使用 gcloud compute disks describe DISK_NAME 命令查看磁盘的说明。

  3. 创建磁盘后,您可以将磁盘挂接到虚拟机

REST

  1. 使用 disks.insert 方法构建 POST 请求以创建可用区级 Hyperdisk。 请求应包含 namesizeGbtypeprovisionedIopsprovisionedThroughput 属性。 如需创建一个空白且未格式化的非启动磁盘,请不要为此磁盘指定来源映像或来源快照。

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

    替换以下内容:

    • PROJECT_ID:您的项目 ID
    • ZONE:您的虚拟机和新磁盘所在的可用区
    • DISK_NAME:新磁盘的名称
    • DISK_SIZE:可选:新磁盘的大小。 该值必须是一个整数,后跟 GB 表示吉比字节,或 TB 表示太比字节。每个磁盘类型范围的可接受大小,以 1 GiB 为增量:
      • Hyperdisk Balanced:从 4 GiB 到 64 TiB(含边界值)。
      • Hyperdisk Extreme:从 64 GiB 到 64 TiB(含边界值)。
      • Hyperdisk Throughput:从 2 TiB 到 32 TiB(含边界值)。
    • DISK_TYPE:磁盘类型。如需创建 Hyperdisk 卷,请使用以下值之一:hyperdisk-balancedhyperdisk-extremehyperdisk-throughput
    • IOPS_LIMIT(可选):对于 Hyperdisk Balanced 和 Hyperdisk Extreme,这是磁盘每秒可处理的 I/O 操作次数。IOPS 必须在以下限制内指定:

      • 最小值::
        • Hyperdisk Balanced:每 GiB 磁盘容量 500 IOPS 或 3000 中的较小值
        • Hyperdisk Extreme:每 GiB 磁盘容量有两个 IOPS
      • 最大值:
        • Hyperdisk Balanced:每 GiB 磁盘容量 500 IOPS 或 160000 IOPS 中的较小值
        • Hyperdisk Extreme:每 GiB 磁盘容量 1000 IOPS 或机器类型的 IOPS 上限中的较小值。

      如果您未指定 IOPS 值,则系统会使用默认值,即:

      • Hyperdisk Balanced:如果未指定磁盘大小,则为 3600 IOPS。如果指定磁盘大小,则默认值取决于大小:
        • 6 GiB 或更小:每 GiB 磁盘大小 500 IOPS
        • 大于 6 GiB:3000 + 每 GiB 磁盘大小 6 IOPS 所得值或 160,000 中的较小值
      • Hyperdisk Extreme:每 GiB 磁盘容量 100 IOPS 或机器类型的 IOPS 上限中的较小值。

      例如,您可以为 C3 虚拟机上的 Hyperdisk Extreme 磁盘预配 IOPS,如下所示:

      • 对于 64 GiB 磁盘,您可以预配 128 到 64,000 范围内的 IOPS。默认 IOPS 为 6,400。
      • 对于 64 TiB 磁盘,您可以预配 128,000 到 350,000 范围内的 IOPS。默认 IOPS 为 350,000。
    • THROUGHPUT_LIMIT:可选:对于 Hyperdisk Balanced 或 Hyperdisk Throughput 卷,这是一个整数,表示磁盘可以处理的吞吐量(以 MiB/秒为单位)。吞吐量必须在以下限制内指定:

      • Hyperdisk Balanced
        • 最小值:IOPS 除以 256 所得值或 140 MiBps 中的较大值
        • 最大值:IOPS 除以 256 所得值,但不超过 2,400 MiBps
      • Hyperdisk Throughput
        • 最小值:每 TiB 容量 10 MB/秒。
        • 最大值:每个卷 600 MB/秒或每 TiB 容量 90 MB/秒中的较小值。

      如果您未指定 IOPS、吞吐量或磁盘大小值,则使用默认值。

      • Hyperdisk Balanced:默认吞吐量为 140 MiBps。如果指定磁盘大小,则默认值取决于大小:
        • 6 GiB 或更少:140 MiBps
        • 大于 6 GiB:((6 * disk size in GiB) / 4) + 140 或 2,400 MiBps 中的较小值
      • Hyperdisk Throughput:默认吞吐量为每 TiB 磁盘容量 90 MiBps,但不超过每个磁盘支持的吞吐量上限。
  2. 可选:使用 compute.disks.get 方法查看磁盘的说明。

  3. 创建磁盘后,您可以将磁盘挂接到任何正在运行或已停止的虚拟机。

格式化并装载磁盘

创建新磁盘并将其挂接到虚拟机后,必须格式化并装载磁盘,以便操作系统可以使用可用的存储空间。

后续步骤