当您创建计算实例时,可以同时创建额外的非启动磁盘并将其挂接到相应实例。您还可以选择现有磁盘以作为非启动磁盘进行挂接。
如果您要创建多写入者模式下的磁盘,则无法在创建实例的同时创建该磁盘。您必须先创建磁盘,然后才能将磁盘挂接到实例。
准备工作
-
如果您尚未设置身份验证,请进行设置。身份验证用于验证您的身份,以便访问 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
如果您使用的是外部身份提供方 (IdP),则必须先使用联合身份登录 gcloud CLI。
- Set a default region and zone.
REST
如需在本地开发环境中使用本页面上的 REST API 示例,请使用您提供给 gcloud CLI 的凭证。
安装 Google Cloud CLI。 安装完成后,运行以下命令来初始化 Google Cloud CLI:
gcloud init
如果您使用的是外部身份提供方 (IdP),则必须先使用联合身份登录 gcloud CLI。
如需了解详情,请参阅 Google Cloud 身份验证文档中的使用 REST 时进行身份验证。
所需的角色
如需获得创建添加了非启动磁盘的实例所需的权限,请让管理员向您授予项目的 Compute Instance Admin (v1) (
roles/compute.instanceAdmin.v1
) IAM 角色。如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限。此预定义角色包含创建添加了非启动磁盘的实例所需的权限。如需查看所需的确切权限,请展开所需权限部分:
所需权限
如需创建添加了非启动磁盘的实例,需要具备以下权限:
-
针对项目的
compute.instances.create
权限 -
为实例创建新磁盘:针对项目的
compute.disks.create
权限
创建具有新的额外非启动磁盘的实例
如需创建已创建并挂接了额外非启动磁盘的实例,请按以下步骤操作:
控制台
在 Google Cloud 控制台中,前往创建实例页面。
如果出现提示,请选择您的项目并点击继续。
此时将显示创建实例页面,并显示机器配置窗格。
在机器配置窗格中,执行以下操作:
- 在名称字段中,指定实例的名称。如需了解详情,请参阅资源命名惯例。
可选:在可用区字段中,为此实例选择可用区。
默认选择为不限。如果您不更改此默认选择,Google 会根据机器类型和可用性为您自动选择可用区。
为您的实例选择机器家族。然后, Google Cloud 控制台会显示适用于所选机器家族的机器系列。以下机器家族选项可供选择:
- 通用
- 计算优化
- 内存优化
- 存储优化
- GPU 数量
在系列列中,选择实例的机器系列。
如果您在上一步中选择 GPU 作为机器家族,请选择所需的 GPU 类型。然后,系统会为所选 GPU 类型自动选择机器系列。
在机器类型部分中,为实例选择机器类型。
在导航菜单中,点击操作系统和存储空间。在显示的操作系统和存储空间窗格中,完成后续步骤。
如需详细了解您可以在添加新磁盘时配置的参数,请参阅 Persistent Disk 简介和 Google Cloud Hyperdisk 简介。
如需配置启动磁盘,请点击更改。系统会显示启动磁盘窗格,其中包含公共映像标签页。
通过以下任一方式为启动磁盘配置数据源:
如需选择公共映像作为启动磁盘的数据源,请在公共映像标签页中指定以下内容:
- 在操作系统列表中,选择操作系统类型。
- 在版本列表中,选择操作系统版本。
- 在启动磁盘类型列表中,选择启动磁盘的类型。
- 在大小 (GB) 字段中,指定启动磁盘的大小。
如需选择自定义映像作为启动磁盘的数据源,请点击自定义映像,然后在显示的自定义映像标签页中指定以下内容:
- 如需选择映像项目,请点击更改,然后选择包含映像的项目。
- 在映像列表中,选择要导入的映像。
- 在启动磁盘类型列表中,选择启动磁盘的类型。
- 在大小 (GB) 字段中,指定启动磁盘的大小。
如需选择标准快照作为启动磁盘的数据源,请点击快照,然后在显示的快照标签页中指定以下内容:
- 在快照列表中,选择相应的快照。
- 在启动磁盘类型列表中,选择启动磁盘的类型。
- 在大小 (GB) 字段中,指定启动磁盘的大小。
如需选择归档快照作为启动磁盘的数据源,请点击归档快照,然后在显示的归档快照标签页中指定以下内容:
- 在归档快照列表中,选择相应的归档快照。
- 在启动磁盘类型列表中,选择启动磁盘的类型。
- 在大小 (GB) 字段中,指定启动磁盘的大小。
如需选择现有磁盘作为启动磁盘,请点击现有磁盘。然后,在显示的现有磁盘标签页中,从磁盘列表中选择现有的区域级 Persistent Disk 卷或 Hyperdisk Balanced High Availability 卷。
可选:对于高级配置选项,展开
显示高级配置部分。如需确认您的启动磁盘选项并返回操作系统和存储空间窗格,请点击选择。
如需创建新的非启动磁盘并将其挂接到实例,请在额外的存储空间和虚拟机备份部分中点击添加新磁盘。
在显示的添加新磁盘窗格中,执行以下操作:
- 在名称字段中,为非启动磁盘指定名称。
- 在磁盘来源类型列表中,为非启动磁盘选择来源类型。
- 在磁盘类型列表中,为非启动磁盘选择类型。
- 在大小字段中,指定非启动磁盘的大小。
- 在挂接设置部分,执行以下操作:
- 在模式字段中,选择磁盘挂接模式。
- 在删除规则字段中,选择一个选项以指定在删除实例时磁盘会发生什么情况。
针对您要创建并挂接到实例的每个非启动磁盘,重复此步骤。
在导航菜单中,点击数据保护。在显示的数据保护窗格中,通过执行以下操作,指定要如何备份和复制实例的数据。
在导航菜单中,点击网络。在显示的网络窗格中,执行以下操作:
- 前往防火墙部分。
如需允许 HTTP 或 HTTPS 流量流向实例,请选择允许 HTTP 流量或允许 HTTPS 流量。
Compute Engine 会向您的实例中添加网络标记,并创建对应的入站流量防火墙规则,该规则允许
tcp:80
(HTTP) 或tcp:443
(HTTPS) 上的所有传入流量。网络标记可将防火墙规则与实例相关联。如需了解详情,请参阅 Cloud Next Generation Firewall 文档中的防火墙规则概览。
可选:指定其他配置选项。如需了解详情,请参阅实例创建期间的配置选项。
要创建并启动该实例,请点击创建。
gcloud
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
运行
gcloud compute instances create
命令以创建具有额外非启动磁盘的实例。创建实例时,您最多可以添加 127 个非启动磁盘。为您创建的每个非启动磁盘指定
--create-disk
标志。如需通过公共映像或库存映像创建非启动磁盘,请使用
--create-disk
标志指定image
或image-family
和image-project
属性。如需创建空白磁盘,请勿包含这些属性。您可以选择针对以下内容添加相应属性:
- 磁盘大小:使用
--size
属性。 - 磁盘类型:使用
--type
属性。 - 区域级磁盘:添加
replica-zones
属性。
gcloud compute instances create INSTANCE_NAME \ --zone=ZONE \ --image-project=IMAGE_PROJECT \ IMAGE_FLAG \ --create-disk DISK_IMAGE,image-project=DISK_IMAGE_PROJECT,size=SIZE_GB,type=DISK_TYPE \ --create-disk device-name=DISK_NAME,replica-zones=^:^ZONE:REMOTE-ZONE,boot=false
替换以下内容:
INSTANCE_NAME
:新实例的名称ZONE
:要在其中创建实例的可用区IMAGE_PROJECT
:包含映像的项目IMAGE_FLAG
:指定以下其中一项:使用
--image IMAGE_NAME
标志指定公共映像或自定义映像的特定版本。例如--image debian-12-bookworm-v20241112
。使用
--image-family IMAGE_FAMILY_NAME
标志指定映像系列。这会创建使用映像系列中最新的未弃用操作系统映像的实例。例如,如果您指定--image-family debian-12
,则 Compute Engine 会在创建实例时使用 Debian 12 映像系列中最新版本的操作系统映像。
对于额外的磁盘,请替换以下内容:
DISK_IMAGE
:指定以下其中一项:image=DISK_IMAGE_NAME
:创建非启动磁盘时要使用的映像的名称image-family=DISK_IMAGE_FAMILY
>:创建非启动磁盘时要使用的映像系列
DISK_IMAGE_PROJECT
:磁盘映像所属的映像项目SIZE_GB
(可选):非启动磁盘的大小DISK_TYPE
(可选):磁盘类型的完整或部分网址例如
https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/diskTypes/hyperdisk-balanced
。如需查看一个或多个可用区中的可用磁盘类型,请使用gcloud compute disk-types list --zones=ZONE_LIST
命令。将ZONE_LIST
替换为可用区的英文逗号分隔列表。DISK_NAME
(可选):创建实例后向客户机操作系统显示的磁盘名称。REMOTE_ZONE
:磁盘应复制到的可用区
对于空白磁盘,请勿指定
image
、image-project
或image-family
参数。对于可用区磁盘,请勿指定磁盘属性
replica-zones
。
- 磁盘大小:使用
- 在 Google Cloud 控制台中,前往虚拟机实例页面。
- 点击创建实例。
- 指定所需的参数。
- 在页面顶部或底部,点击等效代码,然后点击 Terraform 标签页以查看 Terraform 代码。
PROJECT_ID
:要在其中创建虚拟机的项目的 IDZONE
:要在其中创建虚拟机的可用区MACHINE_TYPE_ZONE
:包含新虚拟机将使用的机器类型的可用区MACHINE_TYPE
:新虚拟机的预定义或自定义机器类型VM_NAME
:新虚拟机的名称IMAGE_PROJECT
:包含映像的项目
例如,如果您将debian-10
指定为映像系列,请将debian-cloud
指定为映像项目。IMAGE
:指定以下其中一项:IMAGE
:公共映像的特定版本例如,
"sourceImage": "projects/debian-cloud/global/images/debian-10-buster-v20200309"
IMAGE_FAMILY
:映像系列这会通过最新的未弃用操作系统映像创建虚拟机。例如,如果您指定
"sourceImage": "projects/debian-cloud/global/images/family/debian-10"
,则 Compute Engine 会通过Debian 10
映像系列中最新版本的操作系统映像创建虚拟机。
-
对于额外的磁盘,请替换以下内容:
SIZE_GB
:磁盘大小DISK_IMAGE
或DISK_IMAGE_FAMILY
:为非启动磁盘指定来源映像或映像系列:DISK_IMAGE
:要用作非启动磁盘的映像的名称。例如"sourceImage": "projects/DISK_IMAGE_PROJECT/global/images/DISK_IMAGE"
。DISK_IMAGE_FAMILY
:要用作非启动磁盘的映像系列。例如"sourceImage": "projects/DISK_IMAGE_PROJECT/global/images/family/DISK_IMAGE_FAMILY"
。
DISK_TYPE
:磁盘类型的类型的完整或部分网址。例如https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/diskTypes/hyperdisk-balanced
。DISK_NAME
:可选。创建虚拟机后向客户机操作系统显示的磁盘名称。REMOTE_ZONE
:要将区域磁盘复制到的可用区
对于空白磁盘,请勿指定
sourceImage
属性。对于可用区级磁盘,请勿指定
replicaZones
属性。 NETWORK_NAME
:您要用于虚拟机的 VPC 网络。您可以指定default
来使用默认网络。ENABLE_SECURE_BOOT
(可选):如果您选择了支持安全强化型虚拟机功能的映像,则 Compute Engine 会默认启用虚拟可信平台模块 (vTPM) 和完整性监控。默认情况下,Compute Engine 不会启用安全启动。如果为
enableSecureBoot
指定true
,则 Compute Engine 会创建一个启用了所有三项安全强化型虚拟机功能的虚拟机。在 Compute Engine 启动您的虚拟机后,如需修改安全强化型虚拟机选项,您必须停止该虚拟机。
Terraform
如需生成 Terraform 代码,您可以使用 Google Cloud 控制台中的等效代码组件。Go
试用此示例之前,请按照《Compute Engine 快速入门:使用客户端库》中的 Go 设置说明进行操作。 如需了解详情,请参阅 Compute Engine Go API 参考文档。
如需向 Compute Engine 进行身份验证,请设置应用默认凭证。如需了解详情,请参阅为本地开发环境设置身份验证。
Java
试用此示例之前,请按照《Compute Engine 快速入门:使用客户端库》中的 Java 设置说明进行操作。 如需了解详情,请参阅 Compute Engine Java API 参考文档。
如需向 Compute Engine 进行身份验证,请设置应用默认凭证。如需了解详情,请参阅为本地开发环境设置身份验证。
Node.js
试用此示例之前,请按照《Compute Engine 快速入门:使用客户端库》中的 Node.js 设置说明进行操作。 如需了解详情,请参阅 Compute Engine Node.js API 参考文档。
如需向 Compute Engine 进行身份验证,请设置应用默认凭证。如需了解详情,请参阅为本地开发环境设置身份验证。
Python
试用此示例之前,请按照《Compute Engine 快速入门:使用客户端库》中的 Python 设置说明进行操作。 如需了解详情,请参阅 Compute Engine Python API 参考文档。
如需向 Compute Engine 进行身份验证,请设置应用默认凭证。如需了解详情,请参阅为本地开发环境设置身份验证。
REST
通过对每个额外磁盘使用
initializeParams
属性,您可以在创建实例时创建多达 127 个非启动磁盘。使用公共映像或私有映像创建额外磁盘。 如需添加空白磁盘,请定义不带sourceImage
值的initializeParams
条目。 添加磁盘属性replicaZones
可创建区域级磁盘,而不是可用区级磁盘。POST https://compute.googleapis.com/compute/v1/projects/
PROJECT_ID
/zones/ZONE
/instances { "machineType":"zones/MACHINE_TYPE_ZONE/machineTypes/MACHINE_TYPE", "name":"VM_NAME
", "disks":[ { "initializeParams":{ "sourceImage":"projects/IMAGE_PROJECT/global/images/IMAGE" }, "boot":true }, { "initializeParams":{ "diskSizeGb":"SIZE_GB", "sourceImage":"projects/DISK_IMAGE_PROJECT/global/images/DISK_IMAGE", "diskType":"DISK_TYPE" } }, { "initializeParams":{ "diskSizeGb":"SIZE_GB", "diskType":"DISK_TYPE" }, }, { "boot": false, "deviceName":"DISK_NAME", "initializeParams": { "diskType": "DISK_TYPE", "replicaZones": [ "projects/PROJECT_ID/zones/ZONE", "projects/PROJECT_ID/zones/REMOTE_ZONE" ] } } ], "networkInterfaces":[ { "network":"global/networks/NETWORK_NAME" } ], "shieldedInstanceConfig":{ "enableSecureBoot":"ENABLE_SECURE_BOOT" } }替换以下内容:
在使用磁盘之前,格式化并装载磁盘。
如未另行说明,那么本页面中的内容已根据知识共享署名 4.0 许可获得了许可,并且代码示例已根据 Apache 2.0 许可获得了许可。有关详情,请参阅 Google 开发者网站政策。Java 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2025-09-05。
-