将启动磁盘映像导入 Compute Engine

从物理数据中心、本地工作站上的虚拟机或其他云平台上运行的虚拟机向 Compute Engine 导入启动磁盘映像的推荐方法是使用虚拟磁盘导入工具,该工具会自动执行本指南中的所有步骤。

如果您不想使用此自动工具,可以按照本指南中的手动分步说明进行操作。

此映像导入过程一次只能导入一个磁盘,本指南将着重介绍如何导入启动磁盘映像。

只有当您无法构建或迁移应用以在 Compute Engine 公开映像上运行时,才应导入现有的启动磁盘。公开映像均已配置为在 Compute Engine 环境中运行,因此您可以在这些映像上运行应用,而无需担心引导加载程序和操作系统配置。但是在下列情况中,您可能需要导入自己的启动磁盘映像:

  • 您的应用需要一个未作为公开映像提供的操作系统。
  • 您已经拥有一组用于在另一个云平台中创建虚拟机的基本映像。
  • 将应用代码迁移到其中一个公开映像所需的工作量大于完成启动磁盘映像导入过程所需的工作量。

或者,您也可以使用合作伙伴服务获得虚拟机迁移方面的帮助。如需了解详情,请参阅将虚拟机迁移到 Compute Engine

概览

要将某个启动磁盘映像导入到 Compute Engine 中,请执行以下过程:

  1. 规划您的导入路径。您必须确定在上传启动磁盘映像之前要在哪里准备该映像,以及该映像在 Compute Engine 环境中启动后,您将如何连接到该映像。
  2. 准备您的启动磁盘,以便它可以在 Compute Engine 环境中启动,而且在启动后可供您访问。
  3. 创建并压缩启动磁盘映像文件。
  4. 将此映像文件上传到 Google Cloud Storage,并将映像作为新的自定义映像导入到 Compute Engine 中。
  5. 使用已导入的映像创建虚拟机实例并确保其正常启动。
  6. 如果该映像未能成功启动,您可以通过将启动磁盘映像挂接到另一个实例并重新配置它来解决此问题。
  7. 优化映像并安装 Linux 客机环境,以便您导入的操作系统映像可以与元数据服务器通信并使用其他 Compute Engine 功能。

要求

要将启动磁盘导入到 Compute Engine 中,现有的启动磁盘必须满足以下要求:

  • 如果您构建了自定义操作系统内核,则该内核必须满足硬件和内核配置要求。大多数现有的 Linux 发行版已经满足这些要求,所以此项要求仅针对构建自己的自定义操作系统以在 Compute Engine 上运行的高级用户。
  • 启动磁盘不得大于 2048GB (2TB)。
  • 您导入的启动磁盘必须具有一个有效的 MBR 分区表,或者由 MBR 引导加载程序与 GPT 分区表组成的混合配置。
  • 只要启动磁盘从 MBR 引导加载程序正常启动,该启动磁盘上的主分区就可以采用您喜欢的任何格式。
  • 启动磁盘上的引导加载程序不得包含 quietrhgbsplashimage= 内核命令行参数。Compute Engine 不支持在启动时呈现启动画面。您可以在执行引导加载程序配置步骤时从 GRUB 配置中移除这些值。

您导入的映像文件必须符合以下要求:

  • 磁盘映像文件的名称必须是 disk.raw
  • RAW 映像文件的大小必须为 1 GB 的整数倍。例如,该文件的大小可以是 10 GB 或 11 GB,而不能是 10.5 GB。
  • 压缩文件必须是使用了 gzip 压缩tar 实用程序的 oldgnu 格式选项.tar.gz 文件。

您可以导入自己喜欢的任何操作系统的启动磁盘映像,但针对 Compute Engine 环境进行配置时,有些系统比其他系统更容易配置。本指南对以下操作系统进行了测试:

  • Debian 7 和 Debian 8
  • RHEL/CentOS 6
  • openSUSE 13.x
  • Ubuntu 12.04、14.04 和 16.04

以下操作系统可能需要采用本指南未涵盖的其他配置步骤:

  • Debian 6 及更早版本
  • RHEL/CentOS 7
  • RHEL/CentOS 5 及更早版本
  • Ubuntu 10.04 及更早版本

映像导入费用

在开始之前,先了解一下导入过程的费用。将启动磁盘映像文件上传到 Google Cloud Storage 的网络入站流量是免费的,将该映像导入为 Compute Engine 自定义映像也是免费的。但是,导入过程中的某些特定步骤会产生费用:

  • 将压缩后的映像文件临时存储在某个 Google Cloud Storage 标准存储分区中的费用。您必须先使用临时 Google Cloud Storage 存储分区来保存您的文件,然后才能将其导入为 Compute Engine 自定义映像。在完成导入过程后,您可以移除该存储分区。
  • 完成将自定义映像导入到 Compute Engine 中的操作后,存储自定义映像的费用。
  • 您现有的数据中心、网络提供商或当前云服务上数据出站流量的潜在费用。映像文件即使在压缩之后仍可能非常大,因此在某些平台上,将这些文件复制到 Compute Engine 中可能会产生很高的出站流量费用。
  • Compute Engine 永久性磁盘虚拟机实例的费用,您可以在将映像导入到 Compute Engine 后,在此类实例中对映像进行配置。

规划并准备您的导入路径

用来导入磁盘的方法取决于要移至 Compute Engine 的系统的当前配置。您需要一个可以在其中创建并压缩启动磁盘映像文件的系统,以及一个可以用于将映像文件上传到 Google Cloud Storage 的系统。在规划导入路径时,请考虑以下事项:

  • 映像导入路径要求您必须在正常工作的操作系统环境中配置启动磁盘。此过程可能会导致启动磁盘无法在 Compute Engine 环境以外的任何位置启动。您要负责确保在将系统导入到 Compute Engine 中时,不会丢失磁盘上的数据或中断正在运行的业务应用。
  • 确定您现有的系统访问配置是什么,并规划在将系统导入到 Compute Engine 中后您要如何访问该系统。
    • 如果您的系统已有现成的用户登录或 SSH 配置,那么您只能先配置引导加载程序,然后再配置映像以便能在 Compute Engine 上以最佳方式运行。您将可以通过现有的 SSH 配置或在交互式串行控制台中直接进行用户登录来访问实例。
    • 如果您的系统没有现成的用户登录或 SSH 配置,则您必须配置启动磁盘,以便该磁盘在 Compute Engine 中启动后您可以访问它。
  • 导入过程可能需要几个小时或几天的时间,具体取决于启动磁盘的大小和网络连接的速度。
  • 用来创建并压缩启动磁盘映像的系统必须在启动磁盘本身以外的某个存储设备上具有足够的存储空间才能创建映像文件。通常,您的映像和 tar.gz 文件将占用大小为启动磁盘本身 2-3 倍的存储空间。
  • 了解您要导入的现有系统的文件系统结构。
    • 如果您的操作系统和应用文件分布在多块磁盘上,请分别导入每一块磁盘,并使用每个映像为您的 Compute Engine 虚拟机实例创建一块唯一的永久性磁盘。
    • 如果您的系统在某个 RAID 配置中具有多个启动卷,并且多块磁盘作为单个逻辑卷使用,请为整个磁盘阵列创建一个映像,而不是为磁盘阵列中的每块磁盘分别创建一个映像。Compute Engine 永久性磁盘不需要 RAID 配置。
  • 如果您的系统使用可信平台模块或软件级加密对启动磁盘的内容进行了加密,请先解密该启动磁盘,然后再创建启动磁盘映像文件。如果您的映像经过了加密,那么 Google 将无法读取这些映像。在您上传映像后,Google 会为您加密这些映像,并且允许您为永久性磁盘Cloud Storage 存储分区提供您自己的加密密钥。

在您找到或创建了可以在其中完成导入过程的系统后,请连接到该系统并配置引导加载程序

准备启动磁盘映像

在正在运行的系统上准备启动磁盘映像,以使它能够在 Compute Engine 环境中正常运行。

  • 在启动磁盘上配置引导加载程序,以便该映像能够在 Compute Engine 上启动。
  • 在启动磁盘上配置 SSH 或用户登录访问权限,以便您在将其导入 Compute Engine 并作为虚拟机实例启动后能够访问它。

此过程可能会导致系统无法在 Compute Engine 以外的环境中启动,因此最佳做法是使用您要导入的启动磁盘的副本在隔离的系统上完成此步骤。

配置引导加载程序

在系统上配置引导加载程序,以使它能够在 Compute Engine 上启动。

  1. 连接到您计划导入的启动磁盘所在系统上的终端。

  2. 修改 GRUB 配置文件。此文件通常位于 /etc/default/grub,但在一些较早的发行版中,它可能位于某个非标准目录中。

  3. 对 GRUB 配置文件进行以下更改:

    • 移除所有包含 splashimage= 的行。Compute Engine 不支持在启动时呈现启动画面。
    • 移除 rhgbquiet 内核命令行参数。
    • console=ttyS0,38400n8d 添加到内核命令行参数中,以便您能够通过交互式串行控制台来操控实例。
  4. 重新生成 grub.cfg 文件。根据您的发行版本使用以下命令之一。

    • Debian 和 Ubuntu:sudo update-grub
    • RHEL、CentOS、SUSE、openSUSE:sudo grub-mkconfig -o /boot/grub/grub.cfg
  5. 修改 /etc/fstab 文件并移除对除了启动磁盘本身和该启动磁盘上分区以外的所有磁盘和分区的引用。/etc/fstab 中的无效条目可能会导致系统启动过程停止。

配置完引导加载程序后,请创建并压缩磁盘映像文件

在映像上配置 SSH 或用户登录访问权限

您的映像以虚拟机实例的形式在 Compute Engine 中运行后,您必须拥有访问该实例的途径。您可以使用现有的 SSH 配置连接到该实例,也可以通过连接到交互式串行控制台来使用用户名和密码进行登录。

请先完成 SSH 或用户登录配置,然后再创建并压缩磁盘映像文件

创建并压缩磁盘映像文件

为您要导入到 Compute Engine 中的系统创建并压缩启动磁盘映像文件。创建并压缩映像文件的过程因用于运行系统的平台而异。

通用方法

在几乎所有的系统上,您都可以通过执行以下过程来创建可导入到 Compute Engine 中的 RAW 映像文件。您可以在将要导入的正在运行的系统上完成此过程,也可以将您的启动磁盘作为一块辅助磁盘连接到另一个系统上,并为已停止运行的磁盘创建启动磁盘映像。请确保您有足够的可用存储空间来临时保存磁盘映像文件。本示例将为一个正在运行的系统创建映像。

  1. 连接到您计划导入的启动磁盘所在系统上的终端。

  2. 使用 lsblk 命令来确定您要从中创建映像的源启动磁盘,以及具有足够空间来写入映像文件的存储位置。在本示例中,/dev/sda 是源启动磁盘,/dev/sdb 是一块已装载到 /tmp 目录上的大容量辅助磁盘。虽然 /dev/sda 正在运行,但您仍然可以通过其创建映像。建议您最好在当前未在处理数据或运行应用的无提示系统上执行此操作。

    $ lsblk
    
    NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
    sda      8:0    0  100G  0 disk
    ├─sda1   8:1    0   96G  0 part /
    ├─sda2   8:2    0    1K  0 part
    └─sda3   8:5    0    4G  0 part [SWAP]
    sdb      8:16   0  500G  0 disk /tmp
    sr0     11:0    1 1024M  0 rom
    
  3. 基于您的启动磁盘创建映像文件。

    $ sudo dd if=/dev/sda of=/tmp/disk.raw bs=4M conv=sparse
    
  4. 切换到您已向其中写入了 disk.raw 文件的目录。

    $ cd /tmp
    
  5. 将 RAW 磁盘压缩为 tar.gz 格式。此步骤会压缩映像文件,以便您可以更快速地将其上传到 Google Cloud Storage。在 OSX 上,请安装 gtar 并使用该工具而非 tar 来执行此步骤。

    $ sudo tar -Sczf /tmp/compressed-image.tar.gz disk.raw
    

AWS EC2

如果您要导入 Amazon EC2 实例,请使用 AMI 工具将 Amazon EBS 卷打包:

  1. “帐号设置”控制台上查找并记下您的 Amazon 帐号 ID

  2. 在您的 Amazon EC2 实例上,下载并安装 EC2 AMI 工具。

  3. 使用以下参数以 root 用户身份运行 ec2-bundle-vol,运行时将 cert-<hash>.pem 替换为证书文件,将 pk-<hash>.pem 替换为私钥,并将 AWS_ACCOUNT_ID 替换为您的 Amazon 帐号 ID。此命令将创建 image 文件。

    ec2-bundle-vol -c /tmp/build/cert-<hash>.pem \
        -k /tmp/build/pk-<hash>.pem -u AWS_ACCOUNT_ID \
        -r x86_64 --no-filter --exclude /tmp/build \
        --grub-config /tmp/build/menu.lst \
        --fstab /tmp/build/fstab
    
  4. 将 RAW 磁盘压缩为 tar.gz 格式。此步骤会压缩映像文件,以便您可以更快速地将其上传到 Google Cloud Storage。在 OSX 上,请安装 gtar 并使用该工具而非 tar 来执行此步骤。

    $ sudo tar -Sczf /tmp/compressed-image.tar.gz disk.raw
    

VirtualBox

如果您之前是在 VirtualBox 环境中准备系统的,此时可以使用 VBoxManage 工具将 .vdi.qcow2 磁盘映像转换为 disk.raw 格式。

  1. 关停您要导入的 VirtualBox 客机。您可以使用 VirtualBox 界面或 VBoxManage 实用程序来关停客机。

    VBoxManage controlvm [GUEST_NAME] acpipowerbutton
    

    其中,[GUEST_NAME] 是客机的名称。

  2. 使用 VBoxManage 实用程序将客机映像转换为 RAW 格式:

    VBoxManage clonemedium [GUEST_IMAGE] \
        ~/disk.raw --format RAW
    

    其中,[GUEST_IMAGE] 是客机映像 .vdi.qcow2 文件的路径。

  3. 将 RAW 磁盘压缩为 tar.gz 格式。此步骤会压缩映像文件,以便您可以更快速地将其上传到 Google Cloud Storage。在 OSX 上,请安装 gtar 并使用该工具而非 tar 来执行此步骤。

    $ sudo tar --format=oldgnu -Sczf /tmp/compressed-image.tar.gz disk.raw
    

映像文件已压缩,可以上传到 Google Cloud Storage。

将映像导入到您的自定义映像列表中

将文件上传到 Google Cloud Storage 并将映像导入到您的自定义映像列表中。在映像导入步骤中,您还可以选择加密映像

通过控制台或 Cloud SDK 工具导入映像:

Console

compressed-image.tar.gz 文件复制到您的本地工作站,然后使用 GCP Console 创建存储分区并上传文件

  1. 在 GCP Console 中,转到 Cloud Storage“浏览器”页面。

    转到“浏览器”页面

  2. 在页面顶部,点击创建存储分区
  3. 指定唯一的存储分区名称、“标准”存储类别以及您要用来存储映像文件的位置。
  4. 点击创建以创建存储分区。“浏览器”页面将导航到新的存储分区。
  5. 在页面顶部,点击上传文件
  6. 在文件对话框中,选择之前从您的系统下载的 compressed-image.tar.gz 文件。该文件将从您的本地工作站上传到 Google Cloud Storage。此步骤可能需要几个小时,具体取决于压缩映像文件的大小和网络连接的速度。

当您将映像上传到 Google Cloud Storage 后,请将该映像文件导入到您的自定义映像列表中。

  1. 在 GCP Console 中,转到“映像”页面。

    转到“映像”页面

  2. 在页面顶部,点击创建映像
  3. 名称字段中,为映像指定一个唯一的名称。
  4. (可选)为您的新映像指定映像系列,或为该映像配置特定的加密设置。
  5. 点击来源菜单并选择 Cloud Storage 文件
  6. 输入您之前上传到 Cloud Storage 的 compressed-image.tar.gz 文件的路径。

    [BUCKET_NAME]/compressed-image.tar.gz
    
  7. 点击创建按钮导入该映像。此过程可能需要几分钟,具体取决于启动磁盘映像的大小。

现在“映像”页面中已包含该映像,但您必须先配置引导加载程序,然后才能使用该映像创建可正常运行的虚拟机实例。

gcloud 和 gsutil

使用 gsutil 工具和 gcloud 工具上传压缩后的启动磁盘映像文件。您可以在之前创建启动磁盘映像的系统上完成此过程,也可以将该文件复制到另一个系统中,然后在该系统上完成上传过程。

  1. 在您计划上传 compressed-image.tar.gz 的系统上安装并初始化 Cloud SDK

  2. 使用 gsutil 工具创建新的 Cloud Storage 存储分区。

     $ gsutil mb gs://[BUCKET_NAME]
     

  3. compressed-image.tar.gz 文件上传到这个新存储分区。

     $ gsutil cp compressed-image.tar.gz gs://[BUCKET_NAME]
     

  4. 将该映像文件导入为新的自定义映像。

     $ gcloud compute images create [IMAGE_NAME] --source-uri gs://[BUCKET_NAME]/compressed-image.tar.gz
     

现在自定义映像列表中已包含了该映像,但您必须先配置引导加载程序,然后才能使用该映像创建可正常运行的虚拟机实例。

  $ gcloud compute images list --no-standard-images
  
  NAME                                            PROJECT                  FAMILY                    DEPRECATED  STATUS
  [IMAGE_NAME]                                    [PROJECT_ID]                                                   READY
  

测试导入的映像以确保其正常工作

确认已导入的映像是否可按预期工作。通过某个使用已导入的映像的启动磁盘创建一个实例。

Console

  1. 在 GCP Console 中,转到“虚拟机实例”页面。

    转到“实例”页面

  2. 点击“创建实例”按钮。
  3. 在“启动磁盘”部分,点击更改以开始配置您的启动磁盘。
  4. 自定义映像标签页中,点击您之前导入的映像。
  5. 点击选择确认启动磁盘的配置。
  6. 点击创建按钮以创建实例。

gcloud

gcloud compute instances create [INSTANCE_NAME] --zone [ZONE] --image [IMAGE_NAME]

其中:

  • [INSTANCE_NAME] 是您实例的唯一名称。
  • [ZONE] 是您之前创建独立磁盘的地区。
  • [IMAGE_NAME] 是您之前导入的映像的名称。

在您创建实例后,请确认它是否已正确启动。请检查串行端口输出:

Console

  1. 在 GCP Console 中,转到“虚拟机实例”页面。

    转到“实例”页面

  2. 在实例列表中,点击您基于已导入的映像创建的实例的名称。实例详情页面会打开。
  3. 在实例详情页面的底部,点击查看串行端口以查看此实例的串行端口输出内容。

如果实例在 Booting from Hard Disk 0... 处停止,则您必须从 Compute Engine 环境内部进行问题排查,或者您可以在原始系统上重新配置启动磁盘并重复导入过程。

gcloud

gcloud compute instances get-serial-port-output [INSTANCE_NAME]

如果实例在 Booting from Hard Disk 0... 处停止,则您必须从 Compute Engine 环境内部进行问题排查,或者您可以在原始系统上重新配置启动磁盘并重复导入过程。

您也可以通过连接到实例来测试该实例。请通过以下选项之一连接到实例:

  • SSH:如果实例具有有效的 SSH 配置,您便可以使用 SSH 和您的私钥连接到该实例。您可以在“实例”页面上找到实例 IP 地址。
  • 交互式串行控制台:如果您需要在不使用 SSH 的情况下直接登录到实例,则可以启用交互式串行控制台,并使用用户名和密码进行登录。

对启动磁盘进行问题排查

如果您的实例无法启动,并且您无法连接到该实例或通过交互式串行控制台登录,请确定启动磁盘未能完成引导和启动过程的原因。

在确定引导和启动过程失败的位置后,您可以使用以下两种方式之一来纠正问题:

在 Compute Engine 中对启动磁盘进行问题排查

将导入的映像装载到某块已连接到临时虚拟机实例的辅助磁盘上。使用 GCP Console 或 gcloud 工具基于您上传的映像创建一块独立磁盘,并创建一个与该独立磁盘相连接的临时虚拟机。您可以使用此实例修改独立磁盘上的文件,并修复导致映像启动过程失败的各种问题。

Console

基于导入的启动磁盘映像创建独立磁盘。或者,您也可以将启动磁盘与实例分离,并使用分离后的启动磁盘创建实例。

创建您可以在其中连接独立磁盘的临时实例,并将引导加载程序配置为在 GCP Console 环境中运行。

  1. 在 Cloud Platform Console 中,转到“虚拟机实例”页面。

    转到“实例”页面

  2. 点击创建实例按钮。
  3. 创建新实例页面上,指定实例名称和该实例所在的地区。此地区必须与您之前创建独立磁盘的地区相同。
  4. 展开管理、安全、磁盘、网络、单独租用部分。
  5. 磁盘标签页下的额外磁盘部分,点击挂接现有磁盘。将出现一个新的部分。
  6. 磁盘部分下,从下拉菜单中选择您创建的独立磁盘。此操作会将独立磁盘挂接到实例,以便您稍后可以装载它并修改磁盘内容。
  7. 点击完成以完成挂接磁盘操作。
  8. 点击“创建”按钮以创建实例。

gcloud

基于导入的启动磁盘映像创建独立磁盘。或者,您也可以将启动磁盘与实例分离,并使用分离后的启动磁盘创建实例。

gcloud compute disks create [DISK_NAME] --zone [ZONE] --image [IMAGE_NAME]

其中:

  • [DISK_NAME] 是新的独立磁盘的名称。
  • [ZONE] 是离您比较近的地区。在创建临时实例时,您必须使用该地区。
  • [IMAGE_NAME] 是您之前导入的启动磁盘映像的名称。

创建您可以在其中连接独立磁盘的临时实例,并将引导加载程序配置为在 GCP Console 环境中运行。

gcloud compute instances create [INSTANCE_NAME] --zone [ZONE] --disk name=[DISK_NAME]

其中:

  • [INSTANCE_NAME] 是您实例的唯一名称。
  • [ZONE] 是您之前创建独立磁盘的地区。
  • [DISK_NAME] 是您基于导入的启动磁盘映像创建的独立磁盘的名称。

在使用挂接的独立磁盘创建实例后,您将拥有一个虚拟环境,可以在其中从原始启动磁盘映像修改引导加载程序。

连接到实例,装载独立磁盘并配置引导加载程序,以便该实例能够在 Compute Engine 上正常启动。

  1. 在浏览器中使用 SSH 或通过 gcloud compute ssh 命令连接到临时实例
  2. 使用 blkid 命令来标识您要修改的磁盘和需要装载的分区。在本示例中,/dev/sdb 是您已导入的磁盘。

    $ lsblk
    
    NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
    sda      8:0    0   10G  0 disk
    └─sda1   8:1    0   10G  0 part /
    sdb      8:16   0  100G  0 disk
    ├─sdb1   8:17   0   96G  0 part
    ├─sdb2   8:18   0    1K  0 part
    └─sdb5   8:21   0    4G  0 part
    
  3. 将独立磁盘的根分区装载到 /tmp 目录。在本示例中,/dev/sdb1 是根分区,其他分区不需要做任何修改。您的分区方案可能要求您必须装载多个分区才能访问所有需要更改的文件。

    $ sudo mount /dev/sdb1 /tmp
    
  4. 修改可能导致磁盘启动过程失败的文件。如需了解详情,请参阅引导加载程序配置说明

  5. 从临时实例中卸载启动磁盘。

    $ sudo umount /tmp
    

完成这块磁盘的配置后,请将其分离并用作新实例的启动磁盘。

Console

从临时实例中分离独立磁盘。

  1. 在 Cloud Platform Console 中,转到“虚拟机实例”页面。

    转到“实例”页面

  2. 在实例列表中,点击您修改了其独立启动磁盘的临时实例的名称。实例详情页面会打开。
  3. 在实例详情页面顶部,点击修改
  4. 额外磁盘部分下,点击独立磁盘旁边的 X 以表示您想要将其从临时实例中分离出来。
  5. 在实例详情页面的底部,点击保存以保存更改。

使用已分离的独立磁盘创建一个新实例。

  1. 在 Cloud Platform Console 中,转到“虚拟机实例”页面。

    转到“实例”页面

  2. 点击创建实例按钮。
  3. 创建新实例页面上,指定实例名称和该实例所在的地区。此地区必须与您之前创建独立磁盘的地区相同。
  4. 启动磁盘部分,点击更改以开始配置您的启动磁盘。
  5. 现有磁盘标签页中,选择独立启动磁盘以将其用作此新实例的启动磁盘。
  6. 点击“创建”按钮以创建实例。

gcloud

从临时实例中分离独立磁盘。

gcloud compute instances detach-disk [INSTANCE_NAME] --disk [DISK_NAME]

其中:

  • [INSTANCE_NAME] 是您实例的唯一名称。
  • [DISK_NAME] 是新的独立磁盘的名称。

使用已分离的独立磁盘创建一个新实例。

gcloud compute instances create [INSTANCE_NAME] --zone [ZONE] --disk name=[DISK_NAME],boot=yes

其中:

  • [INSTANCE_NAME] 是您实例的唯一名称。
  • [ZONE] 是独立磁盘所在的地区。
  • [DISK_NAME] 是您基于导入的启动磁盘映像创建的独立磁盘的名称。

测试您使用修改后的启动磁盘创建的实例。如果您仍然无法连接到实例,请再次读取串行控制台输出以确定启动过程失败的位置。重复此问题排查过程,直到您纠正了启动磁盘映像的各种问题为止。

后续步骤

此页内容是否有用?请给出您的反馈和评价:

发送以下问题的反馈:

此网页
Compute Engine 文档