磁盘可以是用于在虚拟机 (VM) 实例上启动和运行操作系统的启动磁盘,也可以是仅供虚拟机用于存储数据的非启动磁盘。
您可以使用快照通过以下方式备份和恢复磁盘数据:
创建启动磁盘或非启动磁盘的快照后,根据快照创建新磁盘。
创建启动磁盘的快照后,根据启动磁盘快照创建新的虚拟机。
创建非启动磁盘的快照后,根据快照创建具有新的非启动磁盘的新虚拟机。
准备工作
-
设置身份验证(如果尚未设置)。身份验证是通过其进行身份验证以访问 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.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
-
如需通过快照创建磁盘,需要以下权限:
-
针对项目的
compute.disks.create
权限 -
针对虚拟机的
compute.instances.attachDisk
权限 -
针对要挂接的磁盘的
compute.disks.use
权限 -
针对项目的
compute.snapshots.useReadOnly
、compute.snapshots.create
或compute.disks.createSnapshot
权限
-
针对项目的
-
如需通过启动磁盘和非启动磁盘快照创建虚拟机,需要以下权限:
- 针对项目的
compute.instances.create
权限 - 使用自定义映像创建虚拟机:针对映像的
compute.images.useReadOnly
权限 - 使用快照创建虚拟机:针对快照的
compute.snapshots.useReadOnly
权限 - 使用实例模板创建虚拟机:针对实例模板的
compute.instanceTemplates.useReadOnly
权限 - 为虚拟机分配旧版网络:针对项目的
compute.networks.use
权限 - 为虚拟机指定静态 IP 地址:针对项目的
compute.addresses.use
权限 - 使用旧版网络时为虚拟机分配外部 IP 地址:针对项目的
compute.networks.useExternalIp
权限 - 为虚拟机指定子网:针对项目或所选子网的
compute.subnetworks.use
权限 - 在使用 VPC 网络时为虚拟机分配外部 IP 地址:针对项目或所选子网的
compute.subnetworks.useExternalIp
权限 - 为虚拟机设置虚拟机实例元数据:针对项目的
compute.instances.setMetadata
权限 - 为虚拟机设置标记:针对虚拟机的
compute.instances.setTags
权限 - 为虚拟机设置标签:针对虚拟机的
compute.instances.setLabels
权限 - 为虚拟机设置要使用的服务账号:针对虚拟机的
compute.instances.setServiceAccount
权限 - 为虚拟机创建新磁盘:针对项目的
compute.disks.create
权限 - 以只读或读写模式挂接现有磁盘:针对磁盘的
compute.disks.use
权限 - 以只读模式挂接现有磁盘:针对磁盘的
compute.disks.useReadOnly
权限
- 针对项目的
新磁盘的大小至少应与快照最初的来源磁盘的大小相同。如果您创建的磁盘容量大于快照最初的来源磁盘,则必须调整该永久性磁盘上的文件系统大小才能添加额外的磁盘空间。您可能需要使用其他文件系统大小调整工具,具体取决于您的操作系统和文件系统类型。如需了解详情,请参阅操作系统文档。
您可以通过给定快照创建新的可用区或区域磁盘(每十分钟最多创建一次)。如果您想要发出大量截取磁盘快照的请求,可以在 60 分钟内发出最多 6 个请求。通过快照创建区域磁盘时,此限制不适用。如需了解详情,请参阅快照频率限制。
在 Google Cloud Console 中,转到快照页面。
找到要恢复的快照的名称。
转到磁盘页面。
点击创建新磁盘。
指定以下配置参数:
- 磁盘的名称。
- 磁盘的类型。
- (可选)您可以覆盖所选的默认区域和地区。 您可以选择任何区域和地区,无论来源快照存储在什么位置。
在来源类型下方,点击快照。
选择要恢复的快照的名称。
选择新磁盘的大小(以 GB 为单位)。此数字必须等于或大于快照最初的来源磁盘大小。
点击创建以创建磁盘。
- 转到虚拟机实例页面。
- 点击要在其中恢复非启动磁盘的实例的名称。
- 在实例详情页面顶部,点击修改。
- 在额外磁盘下,点击挂接现有磁盘。
- 选择基于快照创建的新磁盘的名称。
- 点击完成以挂接磁盘。
- 在实例详情页面的底部,点击保存以将更改应用于实例。
使用
gcloud compute snapshots list
命令查找要恢复的快照的名称:gcloud compute snapshots list
使用
gcloud compute snapshots describe
命令查找要恢复的快照的大小:gcloud compute snapshots describe SNAPSHOT_NAME
将 SNAPSHOT_NAME 替换为要恢复的快照的名称。
使用
gcloud compute disks create
命令基于快照创建新的区域或可用区磁盘。如果您需要使用 SSD 永久性磁盘来实现更高的吞吐量或 IOPS,请添加--type
标志并指定pd-ssd
。gcloud compute disks create DISK_NAME \ --size=DISK_SIZE \ --source-snapshot=SNAPSHOT_NAME \ --type=DISK_TYPE
请替换以下内容:
- DISK_NAME:新磁盘的名称。
- DISK_SIZE:新磁盘的大小(以 GB 为单位)。此数字必须等于或大于快照最初的来源磁盘大小。
- SNAPSHOT_NAME:要恢复的快照的名称。
- DISK_TYPE:磁盘类型的完整或部分网址。例如
https://www.googleapis.com/compute/v1/projects/PROJECT_ID /zones/ZONE/diskTypes/pd-ssd
。
可选:使用
gcloud compute instances attach-disk
命令将新磁盘挂接到现有实例:gcloud compute instances attach-disk INSTANCE_NAME \ --disk DISK_NAME
替换以下内容:
- INSTANCE_NAME 是实例的名称。
- DISK_NAME 是通过快照创建的磁盘的名称。
构建对
snapshots.list
的GET
请求,以在您的项目中显示快照列表。GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/snapshots
将 PROJECT_ID 替换为您的项目 ID。
使用相应的
disks.insert
方法构建POST
请求以创建区域磁盘或可用区磁盘:- 对于可用区磁盘:
disks.insert
- 对于区域磁盘:
regionDisks.insert
请求应包含
name
、sizeGb
和type
属性。如需使用快照恢复磁盘,您必须添加sourceSnapshot
属性。例如,以下请求会创建可用区磁盘:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/disks { "name": "DISK_NAME", "sizeGb": "DISK_SIZE", "type": "zones/ZONE/diskTypes/DISK_TYPE" "sourceSnapshot": "SNAPSHOT_NAME" }
请替换以下内容:
- PROJECT_ID:您的项目 ID。
- ZONE:您的实例和新磁盘所在的可用区。
- DISK_NAME:新磁盘的名称。
- DISK_SIZE:新磁盘的大小(以 GB 为单位)。此数字必须等于或大于快照最初的来源磁盘大小。
- DISK_TYPE:磁盘类型的完整或部分网址。例如:
https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ ZONE/diskTypes/pd-ssd
。 - SNAPSHOT_NAME:要恢复的磁盘的来源快照。
- 对于可用区磁盘:
(可选)您随后可以通过以下方法将新磁盘挂接到现有实例:构建一个对
instances.attachDisk
方法发出的POST
请求,并添加指向您刚刚从快照创建的磁盘的网址。对于区域磁盘,请将
zones/ZONE
替换为regions/REGION
。POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/attachDisk { "source": "/compute/v1/projects/PROJECT_ID/zones/ZONE/disks/DISK_NAME" }
请替换以下内容:
- PROJECT_ID 是项目 ID。
- ZONE 是您的实例和新磁盘所在的地区。
- INSTANCE_NAME 是您要在其中添加新磁盘的实例名称。
- DISK_NAME 是新磁盘的名称。
在 Google Cloud 控制台中,转到虚拟机实例页面。
选择您的项目并点击继续。
点击创建实例。
为您的虚拟机指定名称。如需了解详情,请参阅资源命名惯例。
可选操作:更改此虚拟机的可用区。Compute Engine 会随机列出每个区域内的可用区,以鼓励跨多个可用区使用。
为您的虚拟机选择机器配置。
在启动磁盘部分,点击更改,然后执行以下操作:
- 点击快照标签页。
- 在快照列表中,点击一个快照。
- 指定启动磁盘类型和大小。
- 可选:对于高级配置选项,点击显示高级配置。
- 如需确认您的启动磁盘选项,请点击选择。
在防火墙部分中,如需允许 HTTP 或 HTTPS 流量流向虚拟机,请选择允许 HTTP 流量或允许 HTTPS 流量。
Google Cloud 控制台会向您的虚拟机中添加网络标记,并创建对应的入站防火墙规则,该规则允许
tcp:80
(HTTP) 或tcp:443
(HTTPS) 上的所有传入流量。网络标记可将防火墙规则与虚拟机相关联。如需了解详情,请参阅虚拟私有云文档中的防火墙规则概览。要创建并启动该虚拟机,请点击创建。
VM_NAME
:新虚拟机的名称ZONE
:要在其中创建虚拟机的可用区DISK_NAME
(可选):磁盘的名称BOOT_SNAPSHOT_NAME
:要恢复到新虚拟机的启动磁盘的启动磁盘快照名称。REMOTE_ZONE
:区域永久性磁盘复制到的区域。replica-zones
属性需要两个可用区(以英文逗号分隔),并且其中一个可用区必须与虚拟机的可用区相同。- 只能将一个永久性磁盘用作启动磁盘。
- 必须将启动磁盘作为该虚拟机的第一个磁盘挂接。
- 如果您指定了
source
属性,则不能同时指定initializeParams
属性。提供source
表示永久性启动磁盘已存在,但initializeParams
属性指示 Compute Engine 应创建新的永久性启动磁盘。 PROJECT_ID
:您的项目 IDZONE
:您要在其中创建虚拟机的可用区的名称VM_NAME
:虚拟机的名称BOOT_SNAPSHOT_NAME
:启动磁盘快照的名称REMOTE_ZONE
:区域级永久性磁盘的远程可用区将每个非启动快照恢复到新磁盘。
在 Google Cloud Console 中,转到磁盘页面。
点击创建磁盘。
指定磁盘的名称。如需了解详情,请参阅资源命名惯例。
选择此磁盘的区域和地区。 磁盘和虚拟机必须位于同一可用区(对于可用区磁盘)或区域(对于区域磁盘)。
选择磁盘类型。
在来源类型下,选择快照。
在新的来源快照字段下,选择要恢复到新磁盘的非启动快照。
如需创建磁盘,请点击创建。
重复上述步骤,根据要恢复的每个快照创建磁盘。创建虚拟机时,您最多可以添加 15 个非启动磁盘。
在 Google Cloud Console 中,转到虚拟机实例页面。
选择您的项目并点击继续。
点击创建实例。
- 为您的虚拟机指定名称。如需了解详情,请参阅资源命名惯例。
- 为此虚拟机选择区域和可用区。磁盘和虚拟机必须位于同一可用区(对于可用区磁盘)或区域(对于区域磁盘)。
- 为您的虚拟机选择机器类型。
- 如果要允许传入的外部流量,请更改虚拟机的防火墙规则。
如需将磁盘挂接到虚拟机,请展开高级选项部分,然后执行以下操作:
- 展开磁盘部分。
- 点击挂接现有磁盘。
- 在磁盘列表中,选择要挂接到此虚拟机的磁盘。
- 在挂接设置部分中,选择磁盘的挂接模式和删除规则。如需详细了解如何添加新磁盘,请参阅向虚拟机添加永久性磁盘。
- 点击保存。
针对您要挂接的每个磁盘,重复上述步骤。创建虚拟机时,您最多可以添加 15 个非启动磁盘。
要创建并启动该虚拟机,请点击创建。
VM_NAME
:新虚拟机的名称SNAPSHOT_1_NAME
和SNAPSHOT_2_NAME
:您要恢复的非启动快照的名称DISK_1_NAME
和DISK_2_NAME
:此虚拟机的新非启动磁盘的名称DISK_1_SIZE
(可选)和DISK_2_SIZE
(可选):每个新非启动磁盘的大小(以 GB 为单位)该大小必须等于或大于用于创建快照的来源磁盘的大小。
DISK_1_TYPE
(可选)和DISK_2_TYPE
(可选):永久性磁盘的类型例如
https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/diskTypes/pd-ssd
。- 永久性启动磁盘只能有一个。
- 必须将永久性启动磁盘作为该虚拟机的第一个磁盘挂接。
- 如果您指定了
source
属性,则不能同时指定initializeParams
属性。提供source
表示永久性启动磁盘已存在,但initializeParams
属性指示 Compute Engine 应创建新的永久性启动磁盘。 PROJECT_ID
:您的项目 IDZONE
:要在其中创建虚拟机的可用区VM_NAME
:您要将快照恢复到的虚拟机的名称MACHINE_TYPE
:虚拟机的机器类型DISK_SIZE
(可选):相应磁盘的大小(以 GB 为单位)如果提供此属性,则它必须等于或大于用于创建快照的来源磁盘的大小。
DISK_TYPE
(可选):相应永久性磁盘的类型的完整或部分网址例如
https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/diskTypes/pd-ssd
。SNAPSHOT_1_NAME
和SNAPSHOT_2_NAME
:要恢复到新虚拟机上的新非启动磁盘的非启动快照名称
Go
如需在本地开发环境中使用本页面上的 Go 示例,请安装并初始化 gcloud CLI,然后使用您的用户凭据设置应用默认凭据。
如需了解详情,请参阅 Set up authentication for a local development environment。
Java
如需在本地开发环境中使用本页面上的 Java 示例,请安装并初始化 gcloud CLI,然后使用您的用户凭据设置应用默认凭据。
如需了解详情,请参阅 Set up authentication for a local development environment。
Node.js
如需在本地开发环境中使用本页面上的 Node.js 示例,请安装并初始化 gcloud CLI,然后使用您的用户凭据设置应用默认凭据。
如需了解详情,请参阅 Set up authentication for a local development environment。
Python
如需在本地开发环境中使用本页面上的 Python 示例,请安装并初始化 gcloud CLI,然后使用您的用户凭据设置应用默认凭据。
如需了解详情,请参阅 Set up authentication for a local development environment。
REST
如需在本地开发环境中使用本页面上的 REST API 示例,请使用您提供给 gcloud CLI 的凭据。
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
如需了解详情,请参阅 Google Cloud 身份验证文档中的使用 REST 时进行身份验证。
所需的角色
如需获得使用快照进行恢复所需的权限,请让您的管理员为您授予项目的 Compute Instance Admin (v1) (
roles/compute.instanceAdmin.v1
) IAM 角色。 如需详细了解如何授予角色,请参阅管理访问权限。此预定义角色可提供使用快照进行恢复所需的权限。如需查看所需的确切权限,请展开所需权限部分:
所需权限
使用快照进行恢复需要以下权限:
根据快照创建磁盘,(可选)并将其挂接到虚拟机
如果您使用快照备份了启动磁盘或非启动磁盘,则可以根据该快照创建新磁盘。
限制
控制台
(可选)您随后可以将新磁盘挂接到现有实例。
gcloud
Go
Go
试用此示例之前,请按照《Compute Engine 快速入门:使用客户端库》中的 Go 设置说明进行操作。如需了解详情,请参阅 Compute Engine Go API 参考文档。
如需向 Compute Engine 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Java
Java
试用此示例之前,请按照《Compute Engine 快速入门:使用客户端库》中的 Java 设置说明进行操作。如需了解详情,请参阅 Compute Engine Java API 参考文档。
如需向 Compute Engine 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Node.js
Node.js
试用此示例之前,请按照《Compute Engine 快速入门:使用客户端库》中的 Node.js 设置说明进行操作。如需了解详情,请参阅 Compute Engine Node.js API 参考文档。
如需向 Compute Engine 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Python
Python
试用此示例之前,请按照《Compute Engine 快速入门:使用客户端库》中的 Python 设置说明进行操作。如需了解详情,请参阅 Compute Engine Python API 参考文档。
如需向 Compute Engine 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
REST
创建新磁盘并将其挂接到实例后,您必须装载该磁盘,以便操作系统可以使用可用的存储空间。
通过现有磁盘创建虚拟机
您可以通过快照创建启动磁盘和数据磁盘,然后将这些磁盘挂接到新虚拟机。
Go
Go
试用此示例之前,请按照《Compute Engine 快速入门:使用客户端库》中的 Go 设置说明进行操作。如需了解详情,请参阅 Compute Engine Go API 参考文档。
如需向 Compute Engine 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Java
Java
试用此示例之前,请按照《Compute Engine 快速入门:使用客户端库》中的 Java 设置说明进行操作。如需了解详情,请参阅 Compute Engine Java API 参考文档。
如需向 Compute Engine 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Node.js
Node.js
试用此示例之前,请按照《Compute Engine 快速入门:使用客户端库》中的 Node.js 设置说明进行操作。如需了解详情,请参阅 Compute Engine Node.js API 参考文档。
如需向 Compute Engine 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Python
Python
试用此示例之前,请按照《Compute Engine 快速入门:使用客户端库》中的 Python 设置说明进行操作。如需了解详情,请参阅 Compute Engine Python API 参考文档。
如需向 Compute Engine 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
通过启动磁盘快照创建虚拟机
如果您使用快照备份了虚拟机的启动磁盘,则可以使用该快照创建新的虚拟机。
如需通过快照创建具有区域永久性磁盘启动磁盘的虚拟机,请使用 Google Cloud CLI 或 Compute Engine API。
控制台
gcloud
Persistent Disk 启动磁盘
使用
gcloud compute instances create
命令并添加--source-snapshot
标志:gcloud compute instances create VM_NAME \ --source-snapshot=BOOT_SNAPSHOT_NAME \ --boot-disk-size=BOOT_DISK_SIZE \ --boot-disk-type=BOOT_DISK_TYPE \ --boot-disk-device-name=BOOT_DISK_NAME
请替换以下内容:
区域 Persistent Disk 启动磁盘
使用
gcloud compute instances create
命令并添加具有source-snapshot
、replica-zones
和boot
属性的--create-disk
标志。gcloud compute instances create VM_NAME \ --zone=ZONE \ --create-disk=^:^name=DISK_NAME:source-snapshot=BOOT_SNAPSHOT_NAME:boot=true:replica-zones=ZONE,REMOTE_ZONE
字符
^:^
指定英文冒号:
作为每个磁盘属性之间的分隔符。这是必需操作,因此您可以在为replica-zones
指定可用区时使用英文逗号,
。请替换以下内容:
Go
Go
试用此示例之前,请按照《Compute Engine 快速入门:使用客户端库》中的 Go 设置说明进行操作。如需了解详情,请参阅 Compute Engine Go API 参考文档。
如需向 Compute Engine 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Java
Java
试用此示例之前,请按照《Compute Engine 快速入门:使用客户端库》中的 Java 设置说明进行操作。如需了解详情,请参阅 Compute Engine Java API 参考文档。
如需向 Compute Engine 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Node.js
Node.js
试用此示例之前,请按照《Compute Engine 快速入门:使用客户端库》中的 Node.js 设置说明进行操作。如需了解详情,请参阅 Compute Engine Node.js API 参考文档。
如需向 Compute Engine 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Python
Python
试用此示例之前,请按照《Compute Engine 快速入门:使用客户端库》中的 Python 设置说明进行操作。如需了解详情,请参阅 Compute Engine Python API 参考文档。
如需向 Compute Engine 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
REST
通过 API 通过快照创建虚拟机时,需要遵循以下限制:
Persistent Disk 启动磁盘
如需通过启动磁盘快照创建虚拟机,请使用instances.insert
方法并在disks
属性下指定sourceSnapshot
字段。可选操作:为新启动磁盘指定diskSizeGb
和diskType
属性。
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances { "name": "VM_NAME", "machineType": "machineTypes/MACHINE_TYPE" "networkInterfaces": [{ "accessConfigs": [{ "type": "ONE_TO_ONE_NAT", "name": "External NAT" }], "network": "global/networks/default" }], "disks": [{ "boot": true, "initializeParams": { "sourceSnapshot": "global/snapshots/BOOT_SNAPSHOT_NAME", "diskSizeGb": "BOOT_DISK_SIZE", "diskType": "BOOT_DISK_TYPE" } }], }
请替换以下内容:区域 Persistent Disk 启动磁盘
如需通过启动磁盘快照为启动磁盘创建具有区域永久性磁盘的虚拟机,请使用instances.insert
方法并指定sourceSnapshot
和disks
属性中的replicaZones
字段。POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances { "name": "VM_NAME", "disks": [{ "boot": true, "initializeParams": { "sourceSnapshot": "global/snapshots/BOOT_SNAPSHOT_NAME", "replicaZones": [ "projects/PROJECT_ID/zones/ZONE", "projects/PROJECT_ID/zones/REMOTE_ZONE"] } }], }
请替换以下内容:
通过非启动磁盘快照创建虚拟机
如果您使用快照备份了非启动磁盘,则可以根据该快照创建具有新的非启动磁盘的虚拟机。
控制台
从控制台将非启动快照恢复到新虚拟机时,首先根据每个快照创建一个磁盘。然后,在创建虚拟机时挂接新磁盘。
gcloud
使用
gcloud compute instances create
命令创建虚拟机。对于要恢复的每个非启动快照,请添加--create-disk
标志并指定source-snapshot
。创建虚拟机时,您最多可以添加 15 个非启动磁盘。例如,如需将两个非启动快照恢复到新虚拟机,请使用以下命令:
gcloud compute instances create VM_NAME \ --create-disk source-snapshot=SNAPSHOT_1_NAME,name=DISK_1_NAME,size=DISK_1_SIZE,type=DISK_1_TYPE \ --create-disk source-snapshot=SNAPSHOT_2_NAME,name=DISK_2_NAME,size=DISK_2_SIZE,type=DISK_2_TYPE
请替换以下内容:
REST
使用 API 将非启动快照恢复到新虚拟机时,需要遵循以下限制:
使用测试版 API,在
initializeParams
属性下指定sourceSnapshot
字段。通过为要创建的每个非启动磁盘重复使用initializeParams
属性,您最多可以添加 15 个非启动磁盘。对于您创建的任何磁盘,您可以选择指定diskSizeGb
和diskType
属性。例如,如需将两个非启动快照恢复到新虚拟机,请发出以下请求:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances { "name": "VM_NAME", "machineType": "machineTypes/MACHINE_TYPE" "networkInterfaces": [{ "accessConfigs": [{ "type": "ONE_TO_ONE_NAT", "name": "External NAT" }], "network": "global/networks/default" }], "disks": [{ "autoDelete": "true", "boot": "true", "type": "PERSISTENT", "diskSizeGb": "DISK_SIZE", "diskType": "DISK_TYPE" }, { "initializeParams": { "sourceSnapshot": "global/snapshots/SNAPSHOT_1_NAME", "diskSizeGb": "DISK_SIZE", "diskType": "DISK_TYPE" } }, { "initializeParams": { "sourceSnapshot": "global/snapshots/SNAPSHOT_2_NAME", "diskSizeGb": "DISK_SIZE", "diskType": "DISK_TYPE" } }] }
请替换以下内容:
如未另行说明,那么本页面中的内容已根据知识共享署名 4.0 许可获得了许可,并且代码示例已根据 Apache 2.0 许可获得了许可。有关详情,请参阅 Google 开发者网站政策。Java 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2024-10-04。
-