使用 Migrate for Compute Engine 迁移虚拟机:迁移虚拟机

本文档旨在帮助您使用 Migrate for Compute Engine 将虚拟机 (VM) 从来源环境迁移到 Google Cloud。您的来源环境可能在本地环境、私有托管环境或其他公有云中运行。

本文档是以下系列文章中的一篇:

如果您计划使用 Migrate for Compute Engine 将虚拟机从支持的来源环境迁移到 Compute Engine,则本文档非常有用。这些来源环境可能包括以下环境:

本文档假定您已经按照《使用 Migrate for Compute Engine 迁移虚拟机:构建您的基础》中的说明为 Migrate for Compute Engine 规划并构建了基础。在迁移框架的部署阶段,您会将虚拟机迁移到 Google Cloud。

迁移的结构

以下术语对于了解如何组织从支持的来源环境到 Google Cloud 的虚拟机迁移至关重要:

  • 工作负载是由一个或多个虚拟机组成的集合,这些虚拟机是按照所关注的业务使用场景来组织的。
  • 迁移是将工作负载从来源环境移动到目标环境的过程。
  • 一个 Sprint 是迁移工作的一个部分。多个 Sprint 可以构成一项迁移。
  • 波次是一种组织您要分批迁移的虚拟机的方式。此组织方式可以避免单次高风险的迁移。Sprint 由一个或多个波次组成。
  • Runbook 是一种文件,用于指定包含在波次中的虚拟机,以及描述来源虚拟机和目标虚拟机的属性。一个波次包含一个 Runbook。
  • 作业是 Migrate for Compute Engine 对 Runbook 中的虚拟机执行的操作。一个波次可以包含一个或多个作业。
  • 运行组定义多个虚拟机在波次中进行迁移的逻辑顺序。
  • 存根虚拟机是 Migrate for Compute Engine 在 VMware vSphere 上创建的一种管理对象,用于在迁移过程中与物理服务器进行交互。

以下统一建模语言 (UML) 图使用 Sprint、波次、Runbook、运行组、作业等术语展示了迁移的结构。

迁移的结构。

使用 Migrate for Compute Engine 迁移虚拟机

如需使用 Migrate for Compute Engine 迁移虚拟机,请执行以下步骤:

  1. 准备虚拟机。
  2. 以 Sprint 形式组织迁移。
  3. 创建 Runbook。
  4. 创建波次。
  5. 对波次运行作业。

准备和调整虚拟机

在使用 Migrate for Compute Engine 迁移虚拟机之前,您必须执行以下操作:

  • 为迁移准备虚拟机和物理服务器。
  • 调整虚拟机以便在 Google Cloud 环境中运行。

准备虚拟机和物理服务器

在迁移前后和迁移期间,Migrate for Compute Engine 会自动修改 LinuxWindows 虚拟机的配置。例如,Migrate for Compute Engine 会在虚拟机上安装操作系统软件包和驱动程序。

您还可以使用 Migrate for Compute Engine 将物理服务器迁移到 Google Cloud。您需要为迁移准备每个物理服务器,然后 Migrate for Compute Engine 可以像迁移任何其他虚拟机一样迁移物理服务器。

如需为迁移准备物理服务器,请执行以下操作

  1. 在物理服务器上配置 Migrate for Compute Engine 物理服务器连接器。
  2. 注册存根虚拟机,Migrate for Compute Engine 会使用它来迁移物理服务器。

调整虚拟机

除了 Migrate for Compute Engine 应用于虚拟机的默认配置修改之外,Migrate for Compute Engine 还会提供自定义配置脚本,以便在迁移前后和迁移期间调整虚拟机。例如,您可以安装操作系统软件包或修改虚拟机配置。在迁移的以下阶段,您可以选择运行这些调整脚本:

  1. 在迁移之前(此时虚拟机仍在来源环境中)。
  2. 在迁移期间(此时虚拟机正在目标环境中以缓存模式运行)。
  3. 在迁移之后(在虚拟机分离操作之后)。

以 Sprint 和波次形式组织迁移

为了降低迁移风险,我们建议您将迁移工作拆分为 Sprint,然后将每个 Sprint 拆分为波次。

如需以 Sprint 形式组织迁移,请执行以下操作:

  1. 查看您在评估工作负载时收集的信息,其中,您确定了要迁移的内容以及首先迁移哪些工作负载。

    例如,假设您要迁移 application-1 工作负载以及与该工作负载关联的以下四个虚拟机:

    • database-primary-vmdatabase-replica-vm 虚拟机运行数据库。
    • backend-vm 虚拟机运行 application-1 应用的后端。
    • frontend-vm 虚拟机运行 application-1 的前端。

    规划 Sprint 数量(与您要迁移的工作负载数量相同)。将 Sprint 映射到每个工作负载。一个 Sprint 会映射到一个工作负载,每个工作负载会映射到一个 Sprint。

    例如,如需迁移 application-1 工作负载,请为一个名为 sprint-1 的 Sprint 作好规划。

  2. 规划您的 Sprint,以便每个 Sprint 都包含运行映射到该 Sprint 的工作负载所需的所有虚拟机。例如,如果您将 application-1 工作负载映射到 sprint-1 Sprint,则支持 application-1 工作负载的所有虚拟机都应该是该 Sprint 的一部分:database-primary-vmdatabase-replica-vmbackend-vmfrontend-vm

  3. 将每个 Sprint 拆分为一个或多个波次。我们建议您使用波次来管理多个虚拟机之间的依赖关系。

    例如,您可以将 sprint-1 Sprint 拆分为三个波次:wave-1(用于迁移 frontend-vm 虚拟机)、wave-2(用于迁移 backend-vm 虚拟机)、wave-3(用于迁移 database-primary-vmdatabase-replica-vm 虚拟机)。

  4. (可选)如果您需要自定义 Migrate for Compute Engine 在一个波次中迁移虚拟机的顺序,请使用运行组。例如,您可以使用运行组在迁移 database-primary-vm 虚拟机之前迁移 database-replica-vm 虚拟机。

  5. 查看关于调整目标虚拟机规模的建议。根据您要在波次中迁移的虚拟机的使用模式和配置,您会从 Migrate for Compute Engine Cloud 获得基于性能或基于费用的建议。

创建波次

如需创建波次,请执行以下操作:

  1. 通过 Migrate for Compute Engine Manager 为波次创建 Runbook。创建 Runbook 时,您可以为每个虚拟机指定以下信息:
  2. 使用 Migrate for Compute Engine Manager 将 Runbook 加载到波次中
  3. 验证波次

如需详细了解 Runbook,请参阅 Runbook 参考文档

在波次中运行作业

您可以在自己创建的波次中运行作业。在迁移过程中,作业会管理虚拟机的生命周期。我们建议您运行以下作业:

  1. 在迁移虚拟机之前运行测试克隆。
  2. 迁移虚拟机。
  3. 监控迁移作业和波次。
  4. 验证您的目标环境。

在迁移虚拟机之前运行测试克隆

在迁移来源虚拟机之前,我们建议您评估并测试来源虚拟机在 Google Cloud 中的表现,以帮助您发现任何问题。通过对来源虚拟机运行测试克隆操作,Migrate for Compute Engine 会创建与来源虚拟机完全一样的克隆,并在没有实际迁移来源虚拟机的情况下在 Google Cloud 中运行克隆。此操作可让您根据虚拟机之前的本地性能基准来衡量性能,并对虚拟机规模或类型进行任何所需的更改。测试克隆不会修改任何实时数据,因为测试环境中的数据不会写回到来源环境。如需详细了解如何创建测试克隆,请参阅创建测试克隆

创建测试克隆后,您可以评估它们在 Google Cloud 中的运行情况。您可以收集新环境中工作负载的行为和性能信息,并根据当前环境中运行的工作负载的基准评估此数据。您可以在迁移之前提前修复任何问题,而不会影响来源环境。

完成测试克隆的评估并修复任何问题后,您可以执行删除克隆操作,以便从 Google Cloud 环境中关停并移除克隆。

迁移虚拟机

在迁移过程中,Migrate for Compute Engine 会在要迁移的虚拟机上执行以下操作:

  1. 云端运行
  2. 存储系统迁移
  3. 准备分离
  4. 分离
  5. 升级操作系统
  6. 清理

如需详细了解虚拟机生命周期阶段,请参阅虚拟机迁移生命周期

Migrate for Compute Engine 可以方便地将云端运行、存储空间迁移、准备分离操作组合在完整迁移操作中。我们建议您执行完整迁移操作,而不是分开执行云端运行、存储空间迁移、准备分离操作,原因如下:

  • 您不必记住执行操作的正确顺序,因为您可以让 Migrate for Compute Engine 负责处理这方面的事务。
  • 在虚拟机上执行完整迁移操作时,如果任何操作失败,您可以修复问题并重新执行完整迁移操作。Migrate for Compute Engine 会自动跳过完整迁移操作中已成功完成的操作部分,并从失败的操作继续执行。

如果要将虚拟机从 Google Cloud 回滚到来源环境,则您可以在分离该虚拟机之前在它上面执行移回操作。

如果您需要迁移的任何虚拟机运行的操作系统或者使用的文件系统不受 Migrate for Compute Engine 支持,则可以通过执行离线迁移操作来迁移这些虚拟机。

如需在波次中的虚拟机上执行操作,请在波次中创建并启动新的作业

监控作业和波次

监控和日志记录对于评估迁移进展情况以及解决任何问题至关重要。除了监控 Migrate for Compute Engine 组件之外,我们还建议您监控 Migrate for Compute Engine 在波次中运行作业时的迁移。您可以监控波次和作业,并查看 Google Cloud 中运行的虚拟机的控制台日志

验证您的目标环境

将虚拟机迁移到 Google Cloud 后,您可以根据自己在运行测试克隆时确定的基准以及合规性测试套件来验证虚拟机。此验证有助于确保您的工作负载正常运行。

迁移后优化您的环境

完成所有迁移波次后,迁移就算正式结束了,但您的 Google Cloud 环境可能需要优化。例如,您可以调整 Compute Engine 虚拟机的规模,也可以开始使用代管式服务。

如需详细了解优化,请参阅《迁移到 Google Cloud:优化您的环境》

后续步骤