调整虚拟机,使其能够在 Google Cloud 上运行

为了在 Google Cloud 上正常运行,迁移后的虚拟机可能需要更改配置。Migrate for Compute Engine 会自动处理一些配置更改,但您也可以编写适用于 WindowsLinux 的自定义配置脚本。

使用自定义配置,虚拟机及其操作系统 (OS) 和您的应用可以在 Google Cloud 中运行。这些自定义配置称为适配。以下部分介绍了如何自定义虚拟机和操作系统适配。

自定义虚拟机适配

Migrate for Compute Engine 会自动处理许多虚拟机适配,但您可以根据需要编写适用于 LinuxWindows 的自定义配置。例如,您可以安装驱动程序来启动虚拟机。

Migrate for Compute Engine 可以在迁移期间执行脚本以启用这些适配。脚本可以由客户开发,也可以由 Migrate for Compute Engine 在支持套餐中提供。

脚本可以在三种机器状态(对于 Windows 虚拟机)或阶段(对于 Linux 虚拟机)下运行:

MachineState(Windows 虚拟机) 阶段(Linux 虚拟机) 说明
来源 来源 本地
Migrate for Compute Engine velos 当虚拟机在缓存模式下运行时运行
分离 分离 在分离操作之后运行

要详细了解适配,请参阅 Linux 适配Windows 适配

操作系统适配

本部分介绍由 Migrate for Compute Engine 执行的默认适配,以及针对云端运行和分离操作向 Windows 和 Linux 虚拟机所做的修改。

虚拟机更改自动执行

Migrate for Compute Engine 使用自动安装的软件包来准备 Linux 虚拟机,以便在 Google Cloud 中启动。只有当 Migrate for Compute Engine 检测到您的虚拟机在 Google Cloud 上运行时,这些更改才会生效。迁移虚拟机后,软件包可以保持安装状态。如果卸载了软件包,则所有更改都会还原,并且虚拟机可能无法启动。

对 Linux 和 Windows 进行的一组更改包括:

  • 允许在 Google Cloud 上启动。
  • 启用串行控制台。
  • 针对 Migrate for Compute Engine 存储渠道进行的特定于云端的更改。
  • 针对云迁移进行的特定于硬件的适配。

以下部分介绍了针对 Linux 和 Windows 适配的其他更改。

默认 Windows 修改

这些部分介绍了迁移过程中 Migrate for Compute Engine 对 Windows 虚拟机所做的默认修改。

针对 Windows 虚拟机上云端运行操作的修改

当您在 Windows 虚拟机上启动云端运行操作时,Migrate for Compute Engine 会关闭该虚拟机并截取快照。然后,Migrate for Compute Engine 修改网络和存储驱动程序,使虚拟机能够在云端启动。

这可能包括:

  • 安装适用于 Migrate for Compute Engine 的 NETKVM 驱动程序。
  • 更改网络配置。
  • 调节系统,以访问 iSCSI 和 MPIO。
  • 将许可/版本更改为与云兼容。
  • 停用 VMware 工具。
  • 更改页面文件位置。
  • 确保已停用休眠功能。
  • 更改恢复选项。
  • 启用 RDP。
  • 部署 Migrate for Compute Engine 框架,以便您可以运行自定义操作。

针对 Windows 虚拟机分离操作的修改

在 Windows 虚拟机分离期间,Migrate for Compute Engine 还会安装 Google Cloud 云代理。安装 Google Cloud 代理需要启用外部 IP 地址或专用访问通道。这些是对云端运行期间所做更改的补充。

默认 Linux 修改

这些部分介绍了迁移过程中 Migrate for Compute Engine 对 Linux 虚拟机所做的默认修改。

针对 Linux 虚拟机上的云端运行操作的修改

迁移安装了 VMware 工具的虚拟机后,Migrate for Compute Engine 会正常关停虚拟机并拍摄虚拟机快照。然后,Migrate for Compute Engine 修改网络和存储驱动程序,使虚拟机能够在 Google Cloud 上启动。这些修改包括:

  • 更改为启动序列 (initrd)。
  • 启用串行控制台。
  • 在云端动态应用以下修改:
    • 使用 _netdev 选项移动装载点以正确关停。
    • 重新映射交换文件。
    • 启动 Migrate for Compute Engine keep-alive 服务。
    • 执行磁盘优化。
    • 安装 Compute Engine Linux 访客环境软件包。
    • 将未迁移的磁盘从 /etc/fstab 中移除。
    • 更改网络配置,包括:
      • 启用 sshd(使用基于密钥的身份验证)。
      • 移除静态 IP 和路由:Migrate for Compute Engine 软件包会删除所有静态配置。
      • 重新配置默认网络接口 (eth0) 以使用 DHCP。
      • 更新 /etc/hosts 中主机名的主 IP 地址:某些应用依靠 /etc/hosts 提取本地 IP 地址。软件包使用新 IP 地址更新 /etc/hosts 以保持兼容性。
      • 将 NTP 配置更新为 metadata.google.internal
      • 如有必要,请配置虚拟机网络接口的 MTU,以匹配 VPC 网络 MTU。如需详细了解网络 MTU,请参阅最大传输单元概览
      • 移除永久性 MAC 地址配置,例如:rm -f /etc/udev/rules.d/70-persistent-net.rules
  • 根据需要对 Google Cloud 进行特定的更改。

在 Compute Engine 上进行流式传输时,每次启动时所做的更改

  • _netdev 启用状态下,重新装载卷。
  • 将交换文件移动到临时卷。
  • 启动 Migrate for Compute Engine keep-alive 服务。
  • 删除(取消映射)未使用的磁盘空间。
  • 移除静态 IP 和路由。
  • 更新 /etc/hosts 中主机名的主 IP。

针对 Linux 虚拟机分离操作的修改

除了针对云端运行操作所做的修改之外,软件包还会在分离后调节网络配置。

  • 移除静态 IP、网络掩码和路由。
  • 移除未使用的 NICS。
  • 移除 NIC 硬件附件。
  • 在 eth0 上实施 DHCP。
  • 实施默认 GW。
  • 配置自定义 DNS 服务器。
  • 配置别名 IP 范围。
  • 移除 VMware、Azure 或 AWS 访客代理。
  • 安装 Google Cloud 云代理(需要启用外部 IP 地址或专用访问通道)。

后续步骤