磁盘可以是用于在计算实例上启动和运行操作系统的启动磁盘,也可以是仅供实例用于存储数据的非启动磁盘。
您可以使用快照通过以下方式备份和恢复磁盘数据:
创建启动磁盘或非启动磁盘的快照后,根据快照创建新磁盘。
创建启动磁盘的快照后,根据启动磁盘快照创建新实例。
创建非启动磁盘的快照后,根据快照创建具有新的非启动磁盘的新实例。
准备工作
-
如果您尚未设置身份验证,请进行设置。身份验证是通过其进行身份验证以访问 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
-
After installing the Google Cloud CLI, initialize it by running the following command:
gcloud init
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
- Set a default region and zone.
-
Install the Google Cloud CLI.
-
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
-
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.
If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.
-
Install the Google Cloud CLI.
-
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
-
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.
If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.
-
Install the Google Cloud CLI.
-
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
-
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.
If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.
-
Install the Google Cloud CLI.
-
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
-
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.
If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.
-
通过全球范围快照(默认)创建磁盘:
-
针对项目的
compute.disks.create
权限 -
针对实例的
compute.instances.attachDisk
权限 -
针对要挂接的磁盘的
compute.disks.use
权限 -
针对项目的
compute.snapshots.useReadOnly
、compute.snapshots.create
或compute.disks.createSnapshot
权限
-
针对项目的
-
(预览版)通过区域范围快照创建磁盘:
-
针对项目的
compute.disks.create
权限 -
针对实例的
compute.instances.attachDisk
权限 -
针对要挂接的磁盘的
compute.disks.use
权限 -
针对项目的
compute.snapshots.useReadOnly
权限
-
针对项目的
-
如需通过启动磁盘和非启动磁盘快照创建实例,您至少需要具备以下权限:
-
针对项目的
compute.instances.create
权限 -
快照的
compute.snapshots.useReadOnly
权限 -
针对项目的
compute.disks.create
权限 -
针对磁盘的
compute.disks.use
权限 -
针对实例的
compute.instances.attachDisk
权限
-
针对项目的
新磁盘的大小至少应与快照最初的来源磁盘的大小相同。如果您创建的磁盘容量大于快照最初的来源磁盘,则必须调整该磁盘上的文件系统大小才能添加额外的磁盘可用空间。您可能需要使用其他文件系统大小调整工具,具体取决于您的操作系统和文件系统类型。如需了解详情,请参阅操作系统文档。
您可以通过给定快照创建新的可用区级或区域级磁盘(每十分钟最多创建一次)。如果您想要发出大量创建磁盘快照的请求,可以在 60 分钟内最多发出 6 个请求。通过快照创建区域级磁盘时,此限制不适用。如需了解详情,请参阅快照频率限制。
在 Google Cloud 控制台中,前往快照页面。
找到要恢复的快照的名称。
转到磁盘页面。
点击创建新磁盘。
指定以下配置参数:
- 磁盘的名称。
- 磁盘的类型。
- (可选)您可以覆盖所选的默认区域和地区。 您可以选择任何区域和地区,无论来源快照存储在什么位置。
在来源类型下方,点击快照。
选择要恢复的快照的名称。
选择新磁盘的大小(以 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
命令通过快照创建新的区域级或可用区级磁盘。您可以添加--type
标志来指定要创建的磁盘类型。- 如需通过全球范围快照创建可用区级磁盘,请执行以下操作:
gcloud compute disks create DISK_NAME \ --zone=ZONE \ --size=DISK_SIZE \ --source-snapshot=SNAPSHOT_NAME \ --type=DISK_TYPE
- (预览版)如需通过区域范围快照创建可用区级磁盘,请执行以下操作:
gcloud beta compute disks create DISK_NAME \ --zone=ZONE \ --source-snapshot=SNAPSHOT_NAME \ --source-snapshot-region=SOURCE_REGION \ --type=DISK_TYPE
- 如需通过全球范围快照创建区域级磁盘,请执行以下操作:
gcloud beta compute disks create DISK_NAME \ --size=DISK_SIZE \ --source-snapshot=SNAPSHOT_NAME \ --type=DISK_TYPE \ --region=REGION \ --replica-zones=ZONE1,ZONE2
- (预览版)如需通过区域范围快照创建区域级磁盘,请执行以下操作:
gcloud beta compute disks create DISK_NAME \ --size=DISK_SIZE \ --source-snapshot=SNAPSHOT_NAME \ --source-snapshot-region=SOURCE_REGION \ --type=DISK_TYPE \ --region=REGION \ --replica-zones=ZONE1,ZONE2
替换以下内容:
- DISK_NAME:新磁盘的名称
- DISK_SIZE:新磁盘的大小(以吉比字节 [GiB] 为单位)。此数字必须等于或大于快照最初的来源磁盘大小。
- SNAPSHOT_NAME:要恢复的快照的名称
- DISK_TYPE:磁盘的类型,例如
pd-ssd
、hyperdisk-throughput
或hyperdisk-balanced-high-availability
- REGION:区域级磁盘将驻留的区域,例如
europe-west1
- SOURCE_REGION:来源快照的范围所限的区域
- ZONE:新磁盘将驻留的可用区
- ZONE1,ZONE2:两个磁盘副本所在区域内的可用区,例如
europe-west1-b
和europe-west1-c
可选:使用
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。
构建
POST
请求以使用相应的disks.insert
方法创建可用区级磁盘或区域级磁盘:- 对于可用区级磁盘:
disks.insert
- 对于区域级磁盘:
regionDisks.insert
请求应包含
name
、sizeGb
和type
属性。如需使用快照恢复磁盘,您必须添加sourceSnapshot
属性。- 如需通过全球范围快照创建可用区级磁盘,请执行以下操作:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/disks { "name": "DISK_NAME", "sourceSnapshot": "SNAPSHOT_NAME", "sizeGb": "DISK_SIZE", "type": "zones/ZONE/diskTypes/DISK_TYPE" }
- (预览版)如需通过区域范围快照创建可用区级磁盘,请执行以下操作:
POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/disks { "name": "DISK_NAME", "sourceSnapshot": "projects/PROJECT_ID/regions/SOURCE_REGION/snapshots/SNAPSHOT_NAME", "sizeGb": "DISK_SIZE", "type": "projects/PROJECT_ID/zones/ZONE/diskTypes/DISK_TYPE", "zone": "projects/PROJECT_ID/zones/ZONE" }
- 如需通过全球范围快照创建区域级磁盘,请执行以下操作:
POST https://compute.googleapis.com/compute/beta/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": "zones/ZONE/diskTypes/DISK_TYPE" }
- (预览版)如需通过区域范围快照创建区域级磁盘,请执行以下操作:
POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/disks { "name": "DISK_NAME", "sourceSnapshot": "projects/PROJECT_ID/regions/SOURCE_REGION/snapshots/SNAPSHOT_NAME", "replicaZones": [ "projects/PROJECT_ID/zones/ZONE1", "projects/PROJECT_ID/zones/ZONE2" ], "sizeGb": "DISK_SIZE", "type": "projects/PROJECT_ID/regions/REGION/diskTypes/DISK_TYPE" }
替换以下内容:
- PROJECT_ID:您的项目 ID
- ZONE:您的实例和新磁盘所在的可用区
- DISK_NAME:新磁盘的名称
- SNAPSHOT_NAME:要恢复的磁盘的来源快照
- REGION:区域级磁盘将驻留的区域,例如
europe-west1
- SOURCE_REGION:来源快照的范围所限的区域
- ZONE1 和 ZONE2:新磁盘副本应位于的可用区
- DISK_SIZE:新磁盘的大小(以吉比字节 [GiB] 为单位)。此数字必须等于或大于快照最初的来源磁盘大小。
- DISK_TYPE:磁盘类型的完整或部分网址,例如
PROJECT_ID/zones/ZONE/diskTypes/pd-ssd
、PROJECT_ID/zones/ZONE/diskTypes/hyperdisk-balanced
或PROJECT_ID/zones/ZONE/diskTypes/hyperdisk-balanced-high-availability
- 对于可用区级磁盘:
可选。将新磁盘挂接到现有实例。
构建一个对
instances.attachDisk
方法的POST
请求,并在其中添加您刚刚通过快照创建的磁盘的网址。对于可用区级磁盘:
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" }
对于区域级磁盘:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/attachDisk { "source": "/compute/v1/projects/PROJECT_ID/regions/REGION/disks/DISK_NAME" }
替换以下内容:
- PROJECT_ID:您的项目 ID
- ZONE:您的实例和新磁盘所在的可用区
- REGION:区域级磁盘所在的区域。此区域必须与计算实例所在的区域相同。
- INSTANCE_NAME:您要在其中添加新磁盘的实例的名称
- DISK_NAME:新磁盘的名称
在 Google Cloud 控制台中,前往创建实例页面。
如果出现提示,请选择您的项目并点击继续。 系统会显示创建实例页面,并显示机器配置窗格。
在机器配置窗格中,执行以下操作:
- 在名称字段中,指定实例的名称。如需了解详情,请参阅资源命名惯例。
可选:在可用区字段中,为此实例选择可用区。
默认选择为不限。如果您不更改此默认选择,Google 会根据机器类型和可用性为您自动选择可用区。
为您的实例选择机器家族。然后, Google Cloud 控制台会显示适用于所选机器家族的机器系列。以下机器家族选项可供选择:
- 通用
- 计算优化
- 内存优化
- 存储优化
- GPU 数量
在系列列中,选择实例的机器系列。
如果您在上一步中选择 GPU 作为机器家族,请选择所需的 GPU 类型。然后,系统会为所选 GPU 类型自动选择机器系列。
在机器类型部分中,为实例选择机器类型。
在导航菜单中,点击操作系统和存储空间。在显示的操作系统和存储空间窗格中,执行以下操作来配置启动磁盘:
- 点击更改。系统会显示启动磁盘窗格,并显示公共映像标签页。
- 点击快照。系统会显示快照标签页。
- 在快照列表中,选择要使用的快照。
- 在启动磁盘类型列表中,选择启动磁盘的类型。
- 在大小 (GB) 字段中,指定启动磁盘的大小。
- 可选:对于高级配置选项,展开 显示高级配置部分。
- 如需确认您的启动磁盘选项并返回操作系统和存储空间窗格,请点击选择。
在导航菜单中,点击网络。在显示的网络窗格中,执行以下操作:
- 前往防火墙部分。
- 如需允许 HTTP 或 HTTPS 流量流向实例,请选择允许 HTTP 流量或允许 HTTPS 流量。
Google Cloud 控制台会向您的实例中添加网络标记,并创建对应的入站流量防火墙规则,该规则允许
tcp:80
(HTTP) 或tcp:443
(HTTPS) 上的所有传入流量。网络标记可将防火墙规则与实例相关联。如需了解详情,请参阅虚拟私有云文档中的防火墙规则概览。可选:指定其他配置选项。如需了解详情,请参阅实例创建期间的配置选项。
要创建并启动该实例,请点击创建。
- 只能将一个磁盘用作启动磁盘。
- 必须将启动磁盘作为该实例的第一个磁盘挂接。
- 如果您指定了
source
属性,则不能同时指定initializeParams
属性。提供source
表示启动磁盘已存在,但initializeParams
属性指示 Compute Engine 应创建新启动磁盘。 PROJECT_ID
:您的项目 IDZONE
:您要在其中创建新实例的可用区INSTANCE_NAME
:您要将快照恢复到的实例的名称MACHINE_TYPE
:实例的机器类型BOOT_SNAPSHOT_NAME
:您要用于创建新实例启动磁盘的快照的名称BOOT_DISK_SIZE
(可选):新启动磁盘的大小(以吉比字节 [GiB] 为单位)该大小必须等于或大于用于创建快照的来源磁盘的大小。
BOOT_DISK_TYPE
(可选):启动磁盘的类型,例如PROJECT_ID/zones/ZONE/diskTypes/pd-ssd
或PROJECT_ID/zones/ZONE/diskTypes/hyperdisk-balanced
PROJECT_ID
:您的项目 IDZONE
:您要在其中创建实例的可用区的名称INSTANCE_NAME
:实例的名称BOOT_SNAPSHOT_NAME
:启动磁盘快照的名称REMOTE_ZONE
:区域级磁盘的远程可用区BOOT_DISK_TYPE
(可选):启动磁盘的类型,例如PROJECT_ID/zones/ZONE/diskTypes/pd-ssd
或PROJECT_ID/zones/ZONE/diskTypes/hyperdisk-balanced-high-availability
将每个非启动快照恢复到新磁盘。
在 Google Cloud 控制台中,前往磁盘页面。
点击创建磁盘。
指定磁盘的名称。如需了解详情,请参阅资源命名惯例。
选择此磁盘的区域和地区。 磁盘和实例必须位于同一可用区(对于可用区级磁盘)或同一区域(对于区域级磁盘)。
选择磁盘类型。
在来源类型下,选择快照。
在新的来源快照字段下,选择要恢复到新磁盘的非启动快照。
如需创建磁盘,请点击创建。
重复上述步骤,通过要恢复的每个快照创建磁盘。
在 Google Cloud 控制台中,前往虚拟机实例页面。
选择您的项目并点击继续。
点击创建实例。
为您的实例指定名称。如需了解详情,请参阅资源命名惯例。
为此实例选择区域和地区。 磁盘和实例必须位于同一可用区(对于可用区级磁盘)或同一区域(对于区域级磁盘)。
为您的实例选择机器类型。
如果要允许传入的外部流量,请更改实例的防火墙规则。
如需将磁盘挂接到实例,请展开高级选项部分,然后执行以下操作:
- 展开磁盘部分。
- 点击挂接现有磁盘。
- 在磁盘列表中,选择要挂接到此实例的磁盘。
- 在挂接设置部分中,选择磁盘的挂接模式和删除规则。如需详细了解如何添加新磁盘,请参阅添加 Persistent Disk 或添加 Hyperdisk。
- 点击保存。
针对您要挂接的每个磁盘,重复上述步骤。
要创建并启动该实例,请点击创建。
- 只有一个磁盘可以作为启动磁盘。
- 必须将启动磁盘作为该实例的第一个磁盘挂接。
- 如果您指定了
source
属性,则不能同时指定initializeParams
属性。提供source
表示启动磁盘已存在,但initializeParams
属性指示 Compute Engine 应创建新启动磁盘。 PROJECT_ID
:您的项目 IDZONE
:要在其中创建实例的可用区INSTANCE_NAME
:新实例的名称MACHINE_TYPE
:实例的机器类型DISK_SIZE
(可选):相应磁盘的大小(以吉比字节 [GiB] 为单位)如果提供此属性,则它必须等于或大于用于创建快照的来源磁盘的大小。
DISK_TYPE
(可选):相应磁盘的类型的完整或部分网址,例如PROJECT_ID/zones/ZONE/diskTypes/pd-ssd
或PROJECT_ID/zones/ZONE/diskTypes/hyperdisk-balanced
IMAGE_PROJECT
:包含映像的项目。 例如:debian-cloud
IMAGE_FAMILY
:映像系列。这会通过该系列中最新的未弃用操作系统映像创建实例。例如,如果您指定"sourceImage": "projects/debian-cloud/global/images/family/debian-11"
,则 Compute Engine 会使用 Debian 11 映像系列中最新版本的操作系统映像创建实例。DEVICE_NAME
(可选):实例的客户机操作系统中显示的设备名称SNAPSHOT_NAME
:要恢复到实例上新磁盘的对应非启动磁盘快照的名称
Go
如需在本地开发环境中使用本页面上的 Go 示例,请安装并初始化 gcloud CLI,然后使用您的用户凭证设置应用默认凭证。
如需了解详情,请参阅 Set up authentication for a local development environment。 如需了解详情,请参阅身份验证文档中的为本地开发环境设置 ADC。
Java
如需在本地开发环境中使用本页面上的 Java 示例,请安装并初始化 gcloud CLI,然后使用您的用户凭证设置应用默认凭证。
如需了解详情,请参阅 Set up authentication for a local development environment。 如需了解详情,请参阅身份验证文档中的为本地开发环境设置 ADC。
Node.js
如需在本地开发环境中使用本页面上的 Node.js 示例,请安装并初始化 gcloud CLI,然后使用您的用户凭证设置应用默认凭证。
如需了解详情,请参阅 Set up authentication for a local development environment。 如需了解详情,请参阅身份验证文档中的为本地开发环境设置 ADC。
Python
如需在本地开发环境中使用本页面上的 Python 示例,请安装并初始化 gcloud CLI,然后使用您的用户凭证设置应用默认凭证。
如需了解详情,请参阅 Set up authentication for a local development environment。 如需了解详情,请参阅身份验证文档中的为本地开发环境设置 ADC。
REST
如需在本地开发环境中使用本页面上的 REST API 示例,请使用您提供给 gcloud CLI 的凭据。
After installing the Google Cloud CLI, initialize it by running the following command:
gcloud init
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
如需了解详情,请参阅 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 或 REST。
控制台
gcloud
可用区级启动磁盘
使用
gcloud compute instances create
命令并添加--source-snapshot
标志:gcloud compute instances create INSTANCE_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替换以下内容:
区域级启动磁盘
使用
gcloud compute instances create
命令并在source-snapshot
、replica-zones
和boot
属性中添加--create-disk
标志。gcloud compute instances create INSTANCE_NAME
--zone=ZONE
--create-disk=^:^name=DISK_NAME:source-snapshot=BOOT_SNAPSHOT_NAME:boot=true:type=BOOT_DISK_TYPE: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 根据快照创建实例时,需要遵循以下限制:
可用区级启动磁盘
如需通过启动磁盘快照创建实例,请使用instances.insert
方法,并在disks
属性下指定sourceSnapshot
字段。您可以选择为新启动磁盘指定diskSizeGb
和diskType
属性。 替换以下内容:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances { "name": "INSTANCE_NAME", "machineType": "machineTypes/MACHINE_TYPE", "disks": [{ "boot": true, "initializeParams": { "sourceSnapshot": "global/snapshots/BOOT_SNAPSHOT_NAME", "diskSizeGb": "BOOT_DISK_SIZE", "diskType": "BOOT_DISK_TYPE" } }], "networkInterfaces": [ { "nicType": "GVNIC" } ] }
区域级启动磁盘
如需在使用启动磁盘快照作为来源的情况下,创建具有区域级启动磁盘的计算实例,请使用instances.insert
方法,并在disks
属性中指定sourceSnapshot
和replicaZones
字段。POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances { "name": "INSTANCE_NAME", "disks": [ { "boot": true, "initializeParams": { "sourceSnapshot": "global/snapshots/BOOT_SNAPSHOT_NAME", "replicaZones": [ "projects/PROJECT_ID/zones/ZONE", "projects/PROJECT_ID/zones/REMOTE_ZONE" ], "diskType": "BOOT_DISK_TYPE" } } ], "networkInterfaces": [ { "nicType": "GVNIC" } ] }
替换以下内容:
通过非启动磁盘快照创建计算实例
如果您使用快照备份了非启动磁盘,则可以根据该快照创建具有额外非启动磁盘的实例。
控制台
从控制台将非启动快照恢复到新实例时,首根据每个快照创建一个磁盘。然后,在创建实例时,挂接新磁盘。
gcloud
使用
gcloud compute instances create
命令来创建实例。 对于要恢复的每个非启动快照,请添加--create-disk
标志并指定source-snapshot
。例如,如需将两个非启动磁盘快照恢复到新实例,请使用以下命令:
gcloud compute instances create INSTANCE_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
使用 REST 将非启动快照恢复到新实例时,需要遵循以下限制:
创建对
instances.insert
方法的POST
请求,并在initializeParams
属性下指定sourceSnapshot
字段。通过为要创建的每个非启动磁盘重复initializeParams
属性,您可以添加多个非启动磁盘。对于您创建的任何磁盘,您可以选择指定diskSizeGb
和diskType
属性。例如,如需将两个非启动磁盘快照恢复到新实例,请发出以下请求:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances { "name": "INSTANCE_NAME", "machineType": "machineTypes/MACHINE_TYPE", "networkInterfaces": [ { "nicType": "GVNIC" } ], "disks": [ { "autoDelete": "true", "boot": "true", "diskSizeGb": "BOOT_DISK_SIZE", "diskType": "BOOT_DISK_TYPE", "initializeParams": { "sourceImage": "projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY" } }, { "deviceName": "DEVICE_1_NAME", "initializeParams": { "sourceSnapshot": "global/snapshots/SNAPSHOT_1_NAME", "diskSizeGb": "DISK_1_SIZE", "diskType": "DISK_1_TYPE" } }, { "deviceName": "DEVICE_2_NAME", "initializeParams": { "sourceSnapshot": "global/snapshots/SNAPSHOT_2_NAME", "diskSizeGb": "DISK_2_SIZE", "diskType": "DISK_2_TYPE" } } ] }
替换以下内容:
如未另行说明,那么本页面中的内容已根据知识共享署名 4.0 许可获得了许可,并且代码示例已根据 Apache 2.0 许可获得了许可。有关详情,请参阅 Google 开发者网站政策。Java 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2025-06-24。
-