创建 Hyperdisk 存储池


Hyperdisk 存储池是一种新的块存储资源,可帮助您以汇总方式管理 Hyperdisk 块存储。Hyperdisk 存储池在 Hyperdisk Throughput 存储池和 Hyperdisk Balanced 存储池变体中提供。

创建存储池时,您必须指定以下属性:

  • 存储池类型
  • 可用区
  • 池预配的容量
  • 池预配的 IOPS 和吞吐量

您可以将标准容量或高级容量预配与 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 Instance Admin (v1) (roles/compute.instanceAdmin.v1)
  • 如需连接到能够以服务账号的身份运行的虚拟机实例:Service Account User (v1)(roles/iam.serviceAccountUser 角色)

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

这些预定义角色包含创建存储池所需的权限。如需查看所需的确切权限,请展开所需权限部分:

所需权限

创建存储池需要以下权限:

  • 针对项目的 compute.storagePools.create 权限
  • 针对项目的 compute.storagePools.setLabels 权限

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

限制

Hyperdisk 存储池具有以下限制:

资源限制

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

存储池中的磁盘限制

容量范围和预配的性能限制

创建存储池时,预配的容量、IOPS 和吞吐量受到以下内容中所述的约束:

创建 Hyperdisk 存储池

如需创建新的 Hyperdisk 存储池,请使用 Google Cloud 控制台、Google Cloud CLI 或 REST。

控制台

  1. 转到 Google Cloud 控制台中的创建存储池页面。
    转到“创建存储池”页面
  2. 名称字段中,为存储池输入具有唯一性的名称。
  3. 可选:在说明字段中,输入存储池的说明。
  4. 位置字段中,选择要在其中创建存储池的区域和可用区。
  5. 存储池类型部分选择一个值。
  6. 选择容量类型,然后在存储池容量字段中指定要为存储池预配的容量。您可以指定 10 TiB 到 1 PiB 的大小。

    如需创建容量较大的存储池,您可能需要申请更高的配额

  7. 对于 Hyperdisk Balanced 存储池,在预配 IOPS 字段中,输入要为存储池预配的 IOPS。

  8. 对于 Hyperdisk Throughput 存储池或 Hyperdisk Balanced 存储池,在预配吞吐量字段中,输入要为存储池预配的吞吐量。

  9. 点击提交以创建存储池。

gcloud

如需创建 Hyperdisk 存储池,请使用 gcloud compute storage-pools create 命令

gcloud compute storage-pools create NAME  \
    --zone=ZONE   \
    --storage-pool-type=STORAGE_POOL_TYPE   \
    --capacity-provisioning-type=CAPACITY_PROVISIONING_TYPE \
    --provisioned-capacity=POOL_CAPACITY   \
    --provisioned-iops=IOPS   \
    --provisioned-throughput=THROUGHPUT   \
    --description=DESCRIPTION

替换以下内容:

  • NAME:具有唯一性的存储池名称。
  • ZONE:要在其中创建存储池的可用区,例如 us-central1-a
  • STORAGE_POOL_TYPE:要存储在存储池中的磁盘类型。允许的值包括 hyperdisk-throughputhyperdisk-balanced
  • CAPACITY_PROVISIONING_TYPE:可选:存储池的容量预配类型。允许的值包括 advancedstandard。如果未指定,则系统会使用值 advanced
  • POOL_CAPACITY:要为新存储池预配的总容量,默认以 GiB 为单位。
  • IOPS:要为存储池预配的 IOPS。此标志只能用于 Hyperdisk Balanced 存储池。
  • THROUGHPUT:要为存储池预配的吞吐量(以 MBps 为单位)。
  • DESCRIPTION:可选:描述存储池的文本字符串。

REST

使用 storagePools.insert 方法构建 POST 请求以创建 Hyperdisk 存储池。

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/storagePools

{
    "name": "NAME",
    "description": "DESCRIPTION",
    "poolProvisionedCapacityGb": "POOL_CAPACITY",
    "storagePoolType": "STORAGE_POOL_TYPE",
    "poolProvisionedIops": "IOPS",
    "poolProvisionedThroughput": "THROUGHPUT",
    "capacityProvisioningType": "CAPACITY_PROVISIONING_TYPE"
}

替换以下内容:

  • PROJECT_ID:项目 ID
  • ZONE:要在其中创建存储池的可用区,例如 us-central1-a
  • NAME:存储池具有唯一性的名称。
  • DESCRIPTION:可选:描述存储池的文本字符串。
  • POOL_CAPACITY:要为新存储池预配的总容量,默认以 GiB 为单位。
  • STORAGE_POOL_TYPE:要存储在存储池中的磁盘类型。允许的值包括 hyperdisk-throughputhyperdisk-balanced
  • IOPS:可选:要为存储池预配的 IOPS。此标志只能用于 Hyperdisk Balanced 存储池。
  • THROUGHPUT:可选:要为存储池预配的吞吐量(以 MBps 为单位)。
  • CAPACITY_PROVISIONING_TYPE:可选:存储池的容量预配类型。允许的值包括 advancedstandard。如果未指定,则系统会使用值 advanced

后续步骤