使用离线迁移

借助离线迁移,即使 vSphere 具有 Migrate for Compute Engine 流式传输技术当前不支持的操作系统,您也可使用 Migrate for Compute Engine 迁移在此类 vSphere 上运行的工作负载。

在离线迁移过程中,所有存储会先迁移到云端,然后 Compute Engine 上才启动虚拟机。

离线迁移的另一个用例是对云提供商不支持的虚拟机进行仅存储迁移。此类虚拟机的操作系统通常比较旧,例如 Red Hat 4。通过仅存储迁移,可以迁移卷,然后将卷重新附加到具有受支持的操作系统的虚拟机上。

让虚拟机准备好进行离线迁移

下列步骤介绍了如何让不同的操作系统为离线迁移做好准备。

Ubuntu 12.x

在使用离线迁移之前,请在源平台上对 Linux 分发进行以下更改:

  1. 移除 VMware、Azure 或 AWS 访客代理。
  2. 确保 NTP 配置指向 NTP 服务器“metadata.google.internal”。
  3. 确保已为主以太网接口启用 DHCP。
  4. 确保所有以太网接口的 MTU 均已设置为 1460。
  5. 确保已从软件包或提供的代码库中安装 Compute Engine Linux 访客环境
  6. 移除永久性网络规则,防止实例使用缓存的 MAC 地址。例如,使用以下命令:

    rm -f /etc/udev/rules.d/70-persistent-net.rules
    
  7. 按照以下步骤配置 sshd

    1. 确保已启用 sshd
    2. 将以下行添加到 sshd_config 文件,以允许在 sshd 上进行基于密钥的身份验证。

      AuthorizedKeysFile .ssh/authorized_keys
      
  8. 停用或移除 irqbalance 守护进程。

  9. 按照以下步骤配置引导加载程序:

    1. 确保引导加载程序配置不包含:
      • splashimage=.
      • rhgbquiet 内核命令行参数。
    2. 确保内核命令行参数包含 console=ttyS0,38400n8d,以便实例能够通过互动式串行控制台正常运行。
  10. 修改 /etc/fstab,以便仅包括对已迁移的块设备或迁移后可用的 NFS 导出的引用。

将 Windows 2008(非 R2)或更高版本迁移到 Google Cloud

离线迁移 64 位版本的 Windows Server 2008 或更高版本无需任何准备工作。

在开始离线迁移之前,32 位 Windows Server 2008 系统需要安装软件包。

要安装软件包,请执行以下操作:

  1. 下载页面下载 Windows Server 2008r1 驱动程序。
  2. devcon.zip 解压缩到所选的目录中。
  3. 在同一目录下再下载一个驱动程序软件包:
    gsutil cp gs://gce-windows-drivers-public/win2k3driver/x86/* [DIRECTORY]
    
  4. 从该目录运行 install.cmd 脚本
  5. 运行离线迁移

将 Windows 2003 SP2 迁移到 Google Cloud

Windows Server 2003 的离线迁移无需任何准备工作。

本地到云:离线迁移过程

开始之前,请按照前几部分中的说明进行离线迁移准备。然后,执行以下步骤:

  1. 在 vSphere 网页客户端中,选择虚拟机。
  2. 右键点击虚拟机,然后选择 Velostrata 操作 > 离线迁移
  3. 选择 Velostrata Cloud Extension,再点击下一步
  4. 选择实例类型(虚拟机大小),然后点击下一步
  5. 选择所需的安全组,然后点击下一步
  6. 在 Google Cloud 中选择一个子网。当 Cloud Extension 扩展节点位于不同地区时,Migrate for Compute Engine 将使用选定的子网所在地区中的节点。否则,您需要手动选择节点。
  7. 配置专用 IP 下拉列表中:
    • 选择自动,自动在子网上分配 IP 地址;或者
    • 选择静态,然后输入所需的静态 IP 地址。在“边缘节点”下拉列表中,选择所需节点,然后点击“下一步”。
  8. 选择存储类型,然后点击下一步
  9. 查看摘要信息,然后点击完成

如需查看相关迁移任务,请使用监控 > 任务和事件标签页。

离线迁移后,您可以使用专用 IP 地址或 FQDN 连接到虚拟机。

从 AWS 到 Google Cloud:离线迁移过程

使用波次进行离线迁移

如需执行从 AWS 到 Google Cloud 的离线迁移,请使用波次运行离线迁移作业。

使用 PowerShell 进行离线迁移

要从 AWS 对单个虚拟机执行离线迁移,请从 PowerShell 运行以下命令,填写 AWS EC2 InstanceID 和 Cloud Extension 名称:


Invoke-VelosOfflineMigration [-Id] InstanceID -CloudExtension $ [-EdgeNode ]-StorageSpec  -InstanceType  -CloudDetailsName

例如:


Invoke-VelosOfflineMigration -Id i-04151a4a1067cfe9b -CloudExtension $gcpCe -EdgeNode NodeA -StorageSpec Standard -InstanceType n1-standard-1 -CloudDetailsName aws

从 Azure 到 Google Cloud:离线迁移过程

使用波次进行离线迁移

如需执行从 Azure 到 Google Cloud 的离线迁移,请使用波次运行离线迁移作业。

使用 PowerShell 进行离线迁移

要从 Azure 对单个虚拟机执行离线迁移,请从 PowerShell 运行以下命令,填写 Azure 实例 ID 和 Cloud Extension 名称:


Invoke-VelosOfflineMigration [-Id] InstanceID -CloudExtension $ [-EdgeNode ]-StorageSpec  -InstanceType  -CloudDetailsName

例如:


Invoke-VelosOfflineMigration -Id i-04151a4a1067cfe9b -CloudExtension $gcpCe -EdgeNode NodeA -StorageSpec Standard -InstanceType n1-standard-1 -CloudDetailsName azure