您可以修改 Google Cloud Hyperdisk 卷的属性,以满足工作负载的需求。例如,您可以分别减少或增加预配 IOPS 或吞吐量以降低费用或提高性能。您可以通过设置 Hyperdisk ML 卷的访问模式来指定虚拟机访问卷中数据的方式。
本页面介绍如何修改 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
-
安装 Google Cloud CLI,然后通过运行以下命令初始化 Google Cloud CLI:
gcloud init
- Set a default region and zone.
-
Compute Instance Admin (v1) (
roles/compute.instanceAdmin.v1
) -
如需连接到可以作为服务账号运行的虚拟机:
Service Account User (v1) (
roles/iam.serviceAccountUser
) - 对于 Hyperdisk ML 卷,您只能将访问模式设置为只读。将访问模式设置为只读后,无法将其重新设置为读写。
- 您无法为 Hyperdisk Throughput、平衡 Hyperdisk 和 Hyperdisk Extreme 卷设置访问模式。
- 如需设置磁盘的访问模式,必须将相应磁盘与所有虚拟机分离。
在 Google Cloud 控制台中,转到磁盘页面。
在项目的磁盘列表中,点击要更改其容量或预配性能的 Hyperdisk 卷的名称。
在“磁盘详情”页面上,点击修改。
在访问模式字段中,选择所需的访问模式。如需启用只读模式,请选择以只读模式连接多个虚拟机。
如需应用更改,请点击保存。
- DISK_NAME:您要修改的 Hyperdisk 卷的名称。
- DISK_ACCESS_MODE:虚拟机如何访问磁盘上的数据。支持的值为:
READ-ONLY-MANY
,用于从多个虚拟机进行只读访问。READ-WRITE-SINGLE
,用于从 1 个虚拟机进行读写访问。
PROJECT_ID
:您的项目 ID。ZONE
:您的 Hyperdisk 卷所在的可用区。DISK_NAME
:要修改的 Hyperdisk 卷的名称。DISK_ACCESS_MODE
:虚拟机如何访问磁盘上的数据。支持的值为:READ_ONLY_MANY
,用于从多个虚拟机进行只读访问。READ_WRITE_SINGLE
,用于从 1 个虚拟机进行读写访问。
增加磁盘大小:
- 对于 Hyperdisk Throughput:每 6 小时一次
- 对于所有其他 Hyperdisk 类型:每 4 小时一次
修改预配 IOPS 或吞吐量:
- 对于 Hyperdisk ML:每 6 小时一次
- 对于所有其他 Hyperdisk 类型:每 4 小时一次
- DISK_NAME:您要修改的 Hyperdisk 卷的名称。
- DISK_SIZE(可选):磁盘的新大小。该值必须是一个整数,后跟 GB 表示吉比字节,或 TB 表示太比字节。磁盘大小必须在支持的值范围内。
- IOPS_LIMIT(可选):Hyperdisk Extreme 和 Hyperdisk Balanced 卷的 IOPS 配置。该值必须在支持的值范围内。
- THROUGHPUT_LIMIT(可选):Hyperdisk Throughput、Hyperdisk ML 和平衡 Hyperdisk 卷的吞吐量配置,以整数形式指定,表示吞吐量(以 MiB/秒为单位)。该值必须在支持的值范围内。
PROJECT_ID
:您的项目 ID。ZONE
:您的 Hyperdisk 卷所在的可用区。DISK_NAME
:要修改的 Hyperdisk 卷的名称。DISK_SIZE
(可选):磁盘的新大小。该值必须是一个整数,后跟 GB 表示吉比字节,或 TB 表示太比字节。磁盘大小必须在支持的值范围内。IOPS_LIMIT
(可选):Hyperdisk Extreme 或 Hyperdisk Balanced 卷的 IOPS 配置。该值必须在支持的值范围内。THROUGHPUT_LIMIT
(可选):平衡 Hyperdisk、Hyperdisk ML 或 Hyperdisk Throughput 卷的吞吐量配置,以整数形式指定,表示吞吐量(以 MiB/秒为单位)。该值必须在支持的值范围内。- 详细了解 Hyperdisk。
- 了解如何分析 Hyperdisk 卷的当前 IOPS 级别。
REST
如需在本地开发环境中使用本页面上的 REST API 示例,请使用您提供给 gcloud CLI 的凭据。
如需了解详情,请参阅 Google Cloud 身份验证文档中的使用 REST 时进行身份验证。
所需的角色和权限
如需获得修改 Hyperdisk 所需的权限,请让管理员向您授予项目的以下 IAM 角色:
如需详细了解如何授予角色,请参阅管理访问权限。
此预定义角色包含修改 Hyperdisk 所需的
compute.disks.update
权限。修改 Hyperdisk 概览
您可以动态更改 Hyperdisk 卷的访问模式、大小和性能特征。
Hyperdisk 卷支持的大小和性能更改
下表汇总了每种 Hyperdisk 类型支持的容量和性能更改。
Hyperdisk 类型 可自定义吞吐量 可自定义 IOPS 可在虚拟机之间共享 平衡 Hyperdisk 是 是 否 Hyperdisk Extreme 否 是 否 Hyperdisk ML 是 否 是 Hyperdisk Throughput 是 否 否 创建或修改 Hyperdisk 卷时使用的值必须在每个磁盘的 Hyperdisk 限制中所述的最大值和最小值范围内。
如果您要修改挂接到虚拟机的 Hyperdisk 卷的大小,则新值不能超过每个虚拟机的 Hyperdisk 限制。
Hyperdisk 卷的预配 IOPS 和吞吐量必须遵循关于 Hyperdisk 的 IOPS 和吞吐量预配中所述的规则。
容量变化
您调整 Hyperdisk 卷的大小的方式,只能是增大它的大小。您无法减少 Hyperdisk 卷的容量。如果您要减小 Hyperdisk 卷的大小,则必须创建较小的卷,将数据从原始卷迁移到较小的卷,然后删除原始卷。
即使 Hyperdisk 卷挂接到正在运行的虚拟机,您也可以调整其大小。
您可以每 6 小时调整一次 Hyperdisk Throughput 卷的大小。对于所有其他 Hyperdisk 类型,您可以每 4 小时更改一次预配容量。
为获得最佳结果,请在更改 Hyperdisk 卷的容量时完成以下步骤:
效果变化
更改预配的 IOPS 或吞吐量后,更改最多可能需要 15 分钟才能生效。对 Hyperdisk ML 卷进行的更改最长可能需要 20 分钟才能生效。
对于除 Hyperdisk ML 之外的所有 Hyperdisk 类型,您可以每 4 小时动态更改一次预配 IOPS 或吞吐量。您可以每 6 小时更改一次 Hyperdisk ML 卷的预配吞吐量。
更改 Hyperdisk 卷的预配 IOPS 或吞吐量不会删除或修改磁盘数据。
如果您尝试在指定限制内多次修改 Hyperdisk 卷,则会收到类似于这样的错误消息:
Cannot update provisioned throughput due to being rate limited.
访问模式
如需在多个虚拟机之间共享 Hyperdisk ML 卷,您必须将相应卷的访问模式设置为只读。将访问模式设置为只读后,您无法重新启用写入访问。只有 Hyperdisk ML 卷才支持将访问模式更改为只读。
如需设置磁盘的访问模式,请参阅设置访问模式。
限制
将 Hyperdisk ML 卷的访问模式设置为只读
您可以将 Hyperdisk ML 卷的访问模式从读写模式设置为只读模式。将访问模式设置为只读后,您无法重新启用读写访问。
您可以使用 Google Cloud 控制台、Google Cloud CLI 或 REST 设置访问模式。
控制台
gcloud
运行
disks update
命令并使用--access-mode
标志指定访问模式。gcloud compute disks update DISK_NAME \ --access-mode=DISK_ACCESS_MODE
替换以下内容:
REST
构建对
compute.disks.update
方法的POST
请求。在请求正文中,使用"accessMode"
参数设置访问模式。POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/disks/DISK_NAME/update { "accessMode": "DISK_ACCESS_MODE" }
替换以下内容:
更改 Hyperdisk 卷的大小或预配性能
您可以使用以下时间限制增加卷大小并更改 Hyperdisk 卷的预配 IOPS 或吞吐量:
如果您尝试在 4 小时到期之前更改磁盘,则会收到这样的错误消息:
Cannot update provisioned throughput due to being rate limited.
您可以使用 Google Cloud 控制台、gcloud CLI 或 REST 更改 Hyperdisk 卷的预配大小和性能。
控制台
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
替换以下内容:
REST
构建对
compute.disks.update
方法的POST
请求。在请求正文中,指定sizeGb
、provisionedIops
或provisionedThroughput
参数。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" }
替换以下内容:
备份 Hyperdisk 卷
调整磁盘大小不会删除或修改磁盘数据,但最佳做法是,始终通过创建快照备份磁盘,然后再对文件系统或分区进行任何更改。
调整文件系统和分区的大小
增大 Hyperdisk 卷的大小后,您可能需要调整其文件系统和分区的大小。如需了解详情,请参阅 Persistent Disk 文档中的调整文件系统和分区的大小。
后续步骤
如未另行说明,那么本页面中的内容已根据知识共享署名 4.0 许可获得了许可,并且代码示例已根据 Apache 2.0 许可获得了许可。有关详情,请参阅 Google 开发者网站政策。Java 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2024-07-17。
[{ "type": "thumb-down", "id": "hardToUnderstand", "label":"Hard to understand" },{ "type": "thumb-down", "id": "incorrectInformationOrSampleCode", "label":"Incorrect information or sample code" },{ "type": "thumb-down", "id": "missingTheInformationSamplesINeed", "label":"Missing the information/samples I need" },{ "type": "thumb-down", "id": "translationIssue", "label":"翻译问题" },{ "type": "thumb-down", "id": "otherDown", "label":"其他" }] [{ "type": "thumb-up", "id": "easyToUnderstand", "label":"易于理解" },{ "type": "thumb-up", "id": "solvedMyProblem", "label":"解决了我的问题" },{ "type": "thumb-up", "id": "otherUp", "label":"其他" }] -