创建自定义启动磁盘


创建虚拟机 (VM) 实例时,您还必须为虚拟机创建启动磁盘。您可以使用公共映像、自定义映像或从其他启动磁盘截取的快照。创建启动磁盘时,请将磁盘大小限制为 2 TiB,以符合 MBR 分区的限制。

当您创建实例时,Compute Engine 会自动创建启动磁盘。如果实例需要额外的数据存储空间,请向实例添加一个或多个辅助实例存储磁盘

执行本文档中所述的过程创建稍后可用于创建虚拟机的启动磁盘。如需提高启动磁盘的性能或为其他应用或操作系统文件添加空间,您可以调整 Persistent DiskGoogle Cloud Hyperdisk 启动磁盘的大小。

最佳做法是不要将区域级 Persistent Disk 永久性磁盘用作启动磁盘。在发生故障切换的情况下,这些磁盘无法强制挂接到虚拟机。

准备工作

  • 使用 Google Cloud CLI 或 REST 从映像或磁盘创建虚拟机 (VM) 时,每秒不能超过 20 个虚拟机实例。如果您需要每秒创建更多的虚拟机,请为映像资源申请更高的配额限制
  • 设置身份验证(如果尚未设置)。身份验证是通过其进行身份验证以访问 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

    1. 安装 Google Cloud CLI,然后通过运行以下命令初始化 Google Cloud CLI:

      gcloud init
    2. Set a default region and zone.
    3. REST

      如需在本地开发环境中使用本页面上的 REST API 示例,请使用您提供给 gcloud CLI 的凭据。

        安装 Google Cloud CLI,然后通过运行以下命令初始化 Google Cloud CLI:

        gcloud init

      如需了解详情,请参阅 Google Cloud 身份验证文档中的使用 REST 时进行身份验证

使用映像创建启动 Persistent Disk 永久性磁盘

除了创建实例外,您还可以创建独立的启动磁盘,然后将其挂接到实例。

控制台

  1. 在 Google Cloud Console 中,转到创建磁盘页面。

    转到“创建磁盘”页面

  2. 磁盘来源类型下,选择映像。从列表中选择映像。
  3. 点击创建

gcloud

如需创建独立的启动磁盘,请使用 gcloud compute disks create 命令:

gcloud compute disks create DISK_NAME --image IMAGE_NAME

REST

如需使用 REST 创建新的启动磁盘,请使用以下 URI:

https://compute.googleapis.com/compute/v1/projects/PROJECT_NAME/zones/ZONE/disks?sourceImage=IMAGE

IMAGE 替换为要应用到此启动磁盘的来源映像的 URI(采用网址编码且完全限定)。

请求正文必须包含此新磁盘的名称:

{
    "name": "DISK_NAME"
}

如果您创建的启动磁盘比映像大,则可能需要将启动磁盘重新分区

通过快照创建启动磁盘

创建启动磁盘的快照后,可以使用该快照创建新的启动磁盘。

只有在首次创建磁盘时,才能应用快照中的数据。您无法将快照应用到现有磁盘,也不能将快照应用到不属于该快照所在项目的磁盘。

控制台

  1. 在 Google Cloud Console 中,转到创建磁盘页面。

    转到“创建磁盘”页面

  2. 磁盘来源类型下,选择快照
  3. 从列表中选择快照。
  4. 完成对磁盘属性的设置,然后点击创建

gcloud

要应用磁盘快照中的数据,请运行以下命令:

gcloud compute disks create DISK_NAME --source-snapshot SNAPSHOT_NAME

REST

如需从快照创建启动磁盘,请向以下 URI 发出 POST 请求:

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_NAME/zones/ZONE/disks

请求正文必须包含此新磁盘的名称以及要使用的快照的网址:

{
    "name": "DISK_NAME",
    "sourceSnapshot": "zones/ZONE/snapshots/SNAPSHOT_NAME"
}

后续步骤