本文档介绍了如何在磁盘上执行特定任务。如需执行以下任一任务,您必须创建新的磁盘。您无法对磁盘进行以下更改。
- 更改磁盘的类型,例如将 Hyperdisk Throughput 卷更改为 Hyperdisk Balanced 卷。
- 更改磁盘的加密类型,例如,将磁盘的加密方式从使用 Google 生成的密钥更改为使用客户管理的加密密钥 (CMEK)。
- 将磁盘移入或移出 Hyperdisk 存储池。
如需执行上述任何任务,请按以下步骤操作:
- 创建现有磁盘的快照。
- 使用快照作为磁盘的数据源,创建正确类型或在存储池(称为其位置)中的新磁盘。
- 验证新磁盘后,您可以删除原始磁盘。
准备工作
-
如果要将新的 Hyperdisk 卷放在存储池中,请查看存储池的文档,尤其是:
- 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
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
-
Compute Instance Admin (v1) (
roles/compute.instanceAdmin.v1
) -
如需连接到可以作为服务账号运行的虚拟机:
Service Account User (v1) (
roles/iam.serviceAccountUser
) -
如需创建磁盘的快照:
-
针对项目的
compute.snapshots.create
权限 -
针对磁盘的
compute.disks.createSnapshot
权限
-
针对项目的
-
创建新磁盘:针对项目的
compute.disks.create
权限 -
如需在存储池中创建磁盘:
-
针对项目的
compute.storagePools.use
权限 -
针对项目的
compute.disks.create
权限
-
针对项目的
-
如需将磁盘挂接到虚拟机:
-
针对虚拟机的
compute.instances.attachDisk
权限 -
针对您要挂接到虚拟机的卷的
compute.disks.use
-
针对虚拟机的
-
如需删除磁盘:针对项目的
compute.disks.delete
权限 -
准备创建磁盘快照:
- 查看 Compute Engine 磁盘快照的最佳做法,准备磁盘来创建快照。
- 阅读为磁盘快照创建时间表,了解如何创建快照时间表并将其挂接到磁盘。使用计划快照定期备份磁盘可以降低数据意外丢失的风险。
重要说明:如果您在创建快照之前暂停应用,则只有在快照资源达到
UPLOADING
状态后才能恢复工作负载。如需了解详情,请参阅手动创建应用一致快照中的表。
- 可选:如需在存储池中创建新的 Hyperdisk,您必须创建存储空间池(如果不存在)。
转到磁盘页面。
转到“磁盘”- 点击 + 创建磁盘。
在磁盘类型下,选择 Hyperdisk Extreme、Hyperdisk Throughput 或 Hyperdisk Balanced。
可选:如需使用存储池,请选择 Hyperdisk Balanced 或 Hyperdisk Throughput。
- 对于磁盘来源类型,选择快照,然后选择要恢复的快照的名称。
- 指定新磁盘的大小(以 GiB 为单位)。此数字必须等于或大于快照最初的来源磁盘大小。
可选:如果您要更改磁盘类型,请更改默认值:
- Hyperdisk Balanced:更改预配的 IOPS 值和预配的吞吐量值。
- Hyperdisk Extreme:更改预配的 IOPS 值。
- Hyperdisk Throughput:更改预配的吞吐量值。
可选:如需在存储池中创建新磁盘,请执行以下操作:
- 在存储空间池部分中,选择启用存储池。
选择要在其中创建磁盘的存储池的名称。
列表中仅显示所选可用区中存在的存储池。
- 点击创建以创建新磁盘。
- 创建磁盘后,您可以将磁盘挂接到任何正在运行或已停止的计算实例。
-
准备创建磁盘快照:
- 查看 Compute Engine 磁盘快照的最佳做法,准备磁盘来创建快照。
- 阅读为磁盘快照创建时间表,了解如何创建快照时间表并将其挂接到磁盘。使用计划快照定期备份磁盘可以降低数据意外丢失的风险。
重要说明:如果您在创建快照之前暂停应用,则只有在快照资源达到
UPLOADING
状态后才能恢复工作负载。如需了解详情,请参阅手动创建应用一致快照中的表。
使用
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-balanced
或hyperdisk-throughput
。 - PROVISIONED_IOPS(可选):要为磁盘预配的 IOPS。只有在创建 Hyperdisk Balanced 或 Hyperdisk Extreme 磁盘时才能使用此参数。
- PROVISIONED_THROUGHPUT(可选):对于 Hyperdisk Balanced 和 Hyperdisk Throughput 磁盘,要为磁盘预配的每秒吞吐量 (MB)。该值必须为正整数。
创建磁盘后,您可以将磁盘挂接到任何正在运行或已停止的计算实例。
使用
disks.insert
方法构建POST
请求以创建可用区级 Hyperdisk。 请求应包含name
、sizeGb
、type
和sourceSnapshot
属性。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", "sourceSnapshot": "SNAPSHOT_NAME", "provisionedIops": "IOPS_LIMIT", "provisionedThroughput": "THROUGHPUT_LIMIT", "accessMode": "DISK_ACCESS_MODE" }
替换以下内容:
PROJECT_ID
:您的项目 IDZONE
:您的计算实例和新磁盘所在的可用区DISK_NAME
:新磁盘的名称DISK_SIZE
:可选:新磁盘的大小。该值必须是一个整数,后跟大小单位(GB 表示吉比字节,或 TB 表示太比字节)。DISK_TYPE
:磁盘类型。如需创建 Hyperdisk 卷,请使用以下值之一:hyperdisk-balanced
、hyperdisk-extreme
、hyperdisk-ml
或hyperdisk-throughput
。IOPS_LIMIT
(可选):对于 Hyperdisk Balanced 和 Hyperdisk Extreme,这是磁盘每秒可处理的 I/O 操作次数。THROUGHPUT_LIMIT
:可选:对于 Hyperdisk Balanced、Hyperdisk ML 或 Hyperdisk Throughput 卷,这是一个整数,表示磁盘可以处理的吞吐量(以 MiB/秒为单位)。DISK_ACCESS_MODE
:计算实例如何访问磁盘上的数据。支持的值包括:READ_WRITE_SINGLE
,用于从一个实例进行读写权限。这是默认值。READ_WRITE_MANY
,用于从多个实例进行读写权限。READ_ONLY_MANY
,用于从多个实例进行只读访问。
您可以为以下磁盘类型设置访问模式:
- 平衡 Hyperdisk
- Hyperdisk ML
- 高可用性平衡 Hyperdisk(预览版)
可选:使用
compute.disks.get
方法查看磁盘的说明。创建磁盘后,您可以将磁盘挂接到任何正在运行或已停止的计算实例。
-
准备创建磁盘快照:
- 查看 Compute Engine 磁盘快照的最佳做法,准备磁盘来创建快照。
- 阅读为磁盘快照创建时间表,了解如何创建快照时间表并将其挂接到磁盘。使用计划快照定期备份磁盘可以降低数据意外丢失的风险。
重要说明:如果您在创建快照之前暂停应用,则只有在快照资源达到
UPLOADING
状态后才能恢复工作负载。如需了解详情,请参阅手动创建应用一致快照中的表。
转到磁盘页面。
转到“磁盘”- 点击 + 创建磁盘。
- 为磁盘指定名称。
- 在位置字段中,选择区域级。
在区域和可用区字段中,为磁盘指定主可用区。
磁盘必须与您计划将其附加到的计算实例位于同一区域。
- 在副本可用区字段中指定辅助可用区。
- 对于磁盘来源类型,选择快照,然后选择要恢复的快照的名称。
在磁盘类型下,选择 Hyperdisk Balanced 高可用性。
如果您在列表中没有看到 Hyperdisk Balanced 高可用性磁盘类型,则可能需要选择提供 Hyperdisk Balanced 高可用性磁盘的区域。
- 指定新磁盘的大小(以 GiB 为单位)。此数字必须等于或大于快照最初的来源磁盘大小。
可选:更改新磁盘的默认预配 IOPS 和预配吞吐量值:
- 点击创建以创建新磁盘。
- 创建磁盘后,您可以将磁盘挂接到任何正在运行或已停止的计算实例。
-
准备创建磁盘快照:
- 查看 Compute Engine 磁盘快照的最佳做法,准备磁盘来创建快照。
- 阅读为磁盘快照创建时间表,了解如何创建快照时间表并将其挂接到磁盘。使用计划快照定期备份磁盘可以降低数据意外丢失的风险。
重要说明:如果您在创建快照之前暂停应用,则只有在快照资源达到
UPLOADING
状态后才能恢复工作负载。如需了解详情,请参阅手动创建应用一致快照中的表。
使用
disks create
命令根据快照创建 Hyperdisk Balanced 高可用性磁盘。gcloud compute disks create DISK_NAME \ --size=SIZE \ --type=hyperdisk-balanced-high-availability \ --source-snapshot=SNAPSHOT_NAME \ --provisioned-iops=PROVISIONED_IOPS \ --provisioned-throughput=PROVISIONED_THROUGHPUT \ --region=REGION \ --replica-zones=ZONE1,ZONE2
替换以下内容:
DISK_NAME
:磁盘的唯一名称。SIZE
(可选):新磁盘的预配容量。该大小必须大于或等于来源磁盘的大小。该值必须是一个整数,后跟大小单位(GB 表示吉比字节,或 TB 表示太比字节)。SNAPSHOT_NAME
:您根据原始磁盘创建的快照的名称。PROVISIONED_IOPS
(可选):要为磁盘预配的 IOPS。PROVISIONED_THROUGHPUT
(可选):要为磁盘预配的吞吐量,以兆字节 (MB)/秒为单位。REGION
:区域磁盘将驻留的区域,例如europe-west1
ZONE1
和ZONE2
:两个磁盘副本所在区域内的可用区,例如europe-west1-b,europe-west1-c
PROJECT_ID
:您的项目 IDREGION
:区域磁盘将驻留的区域,例如europe-west1
DISK_NAME
:新磁盘的名称SNAPSHOT_NAME
:您根据原始磁盘创建的快照的名称。ZONE1
和ZONE2
:新磁盘副本应位于的可用区,例如europe-west1-b,europe-west1-c
DISK_SIZE
:新磁盘的大小(以 GB 为单位)- 装载磁盘 (Linux)
- 在 Windows 虚拟机上格式化和装载非启动磁盘
- 详细了解 Hyperdisk。
- 详细了解存储池。
- 了解如何管理 Hyperdisk 卷。
- 对新的 Hyperdisk 的性能进行基准测试。
REST
如需在本地开发环境中使用本页面上的 REST API 示例,请使用您提供给 gcloud CLI 的凭据。
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
如需了解详情,请参阅 Google Cloud 身份验证文档中的使用 REST 时进行身份验证。
所需的角色和权限
如需获得更改磁盘类型所需的权限,请让管理员向您授予项目上的以下 IAM 角色:
如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限。
这些预定义角色包含更改磁盘类型所需的权限。如需查看所需的确切权限,请展开所需权限部分:
所需权限
如需更改磁盘类型,您需要具备以下权限:
更改磁盘的类型或位置
如需将 Persistent Disk 卷迁移到 Hyperdisk,或者在存储池内外重新创建磁盘,请创建磁盘快照,然后在创建新磁盘时使用该快照。
创建新的 Hyperdisk 卷时,您可以将其创建为独立磁盘,也可以在存储池中创建磁盘(如果存储池存在)。
控制台
gcloud
REST
将可用区磁盘更改为区域级 Hyperdisk Balanced 高可用性磁盘
如需将可用区磁盘更改为 Hyperdisk 平衡高可用性磁盘,请创建可用区磁盘的快照,并在创建区域磁盘时将该快照用作来源。
控制台
gcloud
Terraform
如需创建 Hyperdisk Balanced 高可用性卷,您可以使用
google_compute_region_disk
资源,如以下示例所示,但请将磁盘类型从pd-ssd
更改为hyperdisk-balanced-high-availability
。REST
如需创建 Hyperdisk Balanced 高可用性卷,请构建一个向
compute.regionDisks.insert
方法发出的POST
请求。POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/disks { "name": "DISK_NAME", "sourceSnapshot": "SNAPSHOT_NAME", "region": "projects/PROJECT_ID/regions/REGION", "replicaZones": [ "projects/PROJECT_ID/zones/ZONE1", "projects/PROJECT_ID/zones/ZONE2" ], "sizeGb": "DISK_SIZE", "type": "projects/PROJECT_ID/regions/REGION/diskTypes/hyperdisk-balanced-high-availability" }
替换以下内容:
将新磁盘设为可供虚拟机实例访问
创建磁盘后,您必须先将磁盘挂接或将区域性磁盘挂接到计算实例,然后才能使用它。
由于您创建的新磁盘不是空白磁盘,因此在将磁盘挂接到实例后,您只需装载该磁盘,即可将其提供给操作系统。
如需了解如何装载磁盘,请参阅以下内容:
移除原始磁盘
验证新磁盘后,您可以执行以下操作:
后续步骤
如未另行说明,那么本页面中的内容已根据知识共享署名 4.0 许可获得了许可,并且代码示例已根据 Apache 2.0 许可获得了许可。有关详情,请参阅 Google 开发者网站政策。Java 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2024-12-18。
-