Hyperdisk 存储池是一种新的块存储资源,可帮助您以汇总方式管理 Hyperdisk 块存储。Hyperdisk 存储池在 Hyperdisk Throughput 存储池和 Hyperdisk Balanced 存储池变体中提供。
创建存储池时,您必须指定以下属性:
- 存储池类型
- 可用区
- 池预配的容量
- 池预配的 IOPS 和吞吐量
您可以将标准容量或高级容量预配与 Hyperdisk 存储池搭配使用。使用标准容量时,每个磁盘的总大小会从存储池预配容量中扣除。高级容量存储池受益于精简预配和数据缩减,并且只会从池预配容量中扣减实际写入的数据量。
准备工作
-
设置身份验证(如果尚未设置)。身份验证是通过其进行身份验证以访问 Google Cloud 服务和 API 的过程。如需从本地开发环境运行代码或示例,您可以按如下方式向 Compute Engine 进行身份验证。
选择标签页以了解您打算如何使用本页面上的示例:
控制台
当您使用 Google Cloud 控制台访问 Google Cloud 服务和 API 时,无需设置身份验证。
gcloud
-
安装 Google Cloud CLI,然后通过运行以下命令初始化 Google Cloud CLI:
gcloud init
- 设置默认区域和可用区。
REST
如需在本地开发环境中使用本页面上的 REST API 示例,请使用您提供给 gcloud CLI 的凭据。
-
所需的角色和权限
如需获得创建存储池所需的权限,请让管理员向您授予项目的以下 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。
控制台
- 转到 Google Cloud 控制台中的创建存储池页面。
转到“创建存储池”页面 - 在名称字段中,为存储池输入具有唯一性的名称。
- 可选:在说明字段中,输入存储池的说明。
- 在位置字段中,选择要在其中创建存储池的区域和可用区。
- 在存储池类型部分选择一个值。
选择容量类型,然后在存储池容量字段中指定要为存储池预配的容量。您可以指定 10 TiB 到 1 PiB 的大小。
如需创建容量较大的存储池,您可能需要申请更高的配额。
对于 Hyperdisk Balanced 存储池,在预配 IOPS 字段中,输入要为存储池预配的 IOPS。
对于 Hyperdisk Throughput 存储池或 Hyperdisk Balanced 存储池,在预配吞吐量字段中,输入要为存储池预配的吞吐量。
点击提交以创建存储池。
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-throughput
和hyperdisk-balanced
。 - CAPACITY_PROVISIONING_TYPE:可选:存储池的容量预配类型。允许的值包括
advanced
和standard
。如果未指定,则系统会使用值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-throughput
和hyperdisk-balanced
。 - IOPS:可选:要为存储池预配的 IOPS。此标志只能用于 Hyperdisk Balanced 存储池。
- THROUGHPUT:可选:要为存储池预配的吞吐量(以 MBps 为单位)。
- CAPACITY_PROVISIONING_TYPE:可选:存储池的容量预配类型。允许的值包括
advanced
和standard
。如果未指定,则系统会使用值advanced
。
后续步骤
- 了解如何管理 Hyperdisk 存储池。