为了在 Google Cloud 上正常运行,迁移后的虚拟机可能需要更改配置。Migrate for Compute Engine 会自动处理一些配置更改,但您也可以编写适用于 Windows 和 Linux 的自定义配置脚本。
使用自定义配置,虚拟机及其操作系统 (OS) 和您的应用可以在 Google Cloud 中运行。这些自定义配置称为适配。以下部分介绍了如何自定义虚拟机和操作系统适配。
自定义虚拟机适配
Migrate for Compute Engine 会自动处理许多虚拟机适配,但您可以根据需要编写适用于 Linux 或 Windows 的自定义配置。例如,您可以安装驱动程序来启动虚拟机。
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 框架,以便您可以运行自定义操作。
安装 Compute Engine 操作系统补丁程序管理代理。要使用操作系统补丁程序管理功能,或者要卸载或停用代理,请执行以下操作:
针对 Windows 虚拟机分离操作的修改
在 Windows 虚拟机分离期间,Migrate for Compute Engine 还会安装 Google Cloud 云代理。安装 Google Cloud 代理需要启用外部 IP 地址或专用 Google 访问通道。这些是对云端运行期间所做更改的补充。
默认 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 重置为 1460。
- 移除永久性 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 地址或专用 Google 访问通道)。
安装 Compute Engine 操作系统补丁程序管理代理。要使用操作系统补丁程序管理功能,或者要卸载或停用代理,请执行以下操作:
后续步骤
- 阅读自定义 Linux 适配方法指南。
- 阅读自定义 Windows 适配方法指南