创建自定义启动磁盘


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

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

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

最佳做法是不要将区域性磁盘用作启动磁盘。在发生故障切换的情况下,这些磁盘无法强制挂接到计算实例。

准备工作

  • 使用 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. Install the Google Cloud CLI, then initialize it by running the following command:

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

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

        Install the Google Cloud CLI, then initialize it by running the following command:

        gcloud init

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

使用映像创建启动磁盘

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

控制台

  1. 在 Google Cloud 控制台中,前往创建磁盘页面。

    前往“创建磁盘”页面

  2. 磁盘来源类型下,选择映像。从列表中选择映像。

  3. 点击创建

gcloud

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

gcloud compute disks create DISK_NAME --image IMAGE_NAME

REST

如需创建新的启动磁盘,请向 disks.insert 方法发出 POST 请求:

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

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

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

{
    "name": "DISK_NAME"
}

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

通过快照创建启动磁盘

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

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

控制台

  1. 在 Google Cloud 控制台中,前往创建磁盘页面。

    前往“创建磁盘”页面

  2. 磁盘来源类型下,选择快照

  3. 从列表中选择快照。

  4. 完成对磁盘属性的设置,然后点击创建

gcloud

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

gcloud compute disks create DISK_NAME --source-snapshot SNAPSHOT_NAME

REST

如需根据快照创建启动磁盘,请向 disks.insert 方法发出 POST 请求:

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

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

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

后续步骤