迁移单个虚拟机

使用集合让一切井井有条 根据您的偏好保存内容并对其进行分类。

前提条件

您必须先在本地数据中心和 Google Cloud 上配置迁移环境,然后才能将源虚拟机迁移到 Google Cloud。请参阅:

迁移过程

单个源虚拟机的迁移过程分为以下阶段:

  1. 添加:选择要迁移的虚拟机。

  2. 复制:将数据从源虚拟机复制到 Google Cloud。数据复制是在后台运行的持续过程,直到最终切换或删除迁移为止。

  3. 设置虚拟机目标详情:为迁移的虚拟机配置 Compute Engine 设置,例如项目、实例类型、内存、网络等。

  4. (可选)测试克隆:从复制数据创建源虚拟机的 Compute Engine 克隆,并在 Google Cloud 上进行测试。

  5. 切换:将源虚拟机迁移到 Compute Engine。此过程包括停止源虚拟机、执行最终复制以及从源虚拟机创建生产 Compute Engine 实例。

  6. 完成:成功执行切换操作后,清理迁移使用的所有资源。

如需了解每个阶段的完整说明,请参阅虚拟机迁移生命周期

您还应该查看迁移进度详情,以深入了解如何在迁移过程中监控进度。

本文档介绍将源虚拟机迁移到 Google Compute Engine 时执行的所有迁移阶段的过程。

许可(仅将虚拟机迁移到 Compute Engine)

根据源虚拟机的操作系统,Compute Engine 支持高级随用随付 (PAYG) 许可以及自带许可 (BYOL)。

PAYG 许可根据使用的资源计费。如需详细了解所有受支持的操作系统的许可,请参阅支持的操作系统


第 1 步:对虚拟机进行初始配置

迁移的第一阶段是添加源虚拟机。例如,某个 vSphere 数据中心可能包含数十、数百甚至数千个虚拟机。您仅需要添加要迁移的虚拟机。

您最多可以进行 200 个迁移,这意味着您已添加的迁移在完成阶段未计入迁移。

要添加源虚拟机,请执行以下操作

  1. 打开 Google Cloud Console 中的 Migrate for Compute Engine 页面:

    转到 Migrate for Compute Engine 页面

  2. 选择来源标签页。

  3. 从下拉列表中选择与安装了 Migrate Connector 的本地数据中心对应的来源。该数据中心称为迁移来源

    在下拉列表下方,您可以看到数据中心的来源状态为:

    • 活跃:来源处于活跃状态,并已连接到 Migrate for Compute Engine。
    • 离线:来源不可用。
    • 待处理:来源正在等待连接和验证。
  4. 此时会显示一个表格,其中显示数据中心中可供迁移的源虚拟机。选择一个或多个源虚拟机。

  5. 点击添加迁移

  6. 确认您要创建迁移。

    创建迁移后,虚拟机的复制状态列将显示以下其中一项:

    • 待处理:正在添加虚拟机。
    • 就绪:虚拟机已添加,但尚未复制。
  7. 现在,您可以按照下一部分中的说明开始复制虚拟机。

第 2 步:开始复制来源虚拟机

添加源虚拟机后,开始将源虚拟机中的磁盘数据复制到 Google Cloud。 此过程在后台进行,不影响本地工作负载。

数据复制包括两个步骤:

  1. 首次复制步骤:Migrate for Compute Engine 会创建源虚拟机数据磁盘的初始 VMware 快照,并将快照数据复制到 Google Cloud。首次复制可能需要几分钟或几小时才能完成,具体取决于源虚拟机上的磁盘数据量。

    第一个复制步骤中虚拟机的复制状态列会显示首次同步状态,后跟相应的子步骤。

  2. 增量复制步骤:成功执行首个复制步骤后,系统会在设置的时间间隔(默认为每两个小时)执行增量复制步骤。在每个步骤中,系统会为每个数据磁盘创建一个新的快照。利用块修改跟踪 (CBT) 机制,只有在上一步骤之后发生的数据更新才会被复制到 Google Cloud。

    增量复制步骤中虚拟机的复制状态列会显示活跃状态,后跟相应的子步骤。

如需详细了解数据复制子步骤,请参阅下表。

如需启动源虚拟机的复制,请执行以下操作

  1. 打开 Google Cloud Console 中的 Migrate for Compute Engine 页面:

    转到 Migrate for Compute Engine 页面

  2. 选择迁移标签页。

    此时会显示一个表格,其中显示您已添加的数据中心内的源虚拟机。您可以在复制状态为就绪的任何虚拟机上开始复制。

  3. 选择一个或多个源虚拟机。

  4. 点击迁移 > 开始复制

  5. 您现在可以为测试克隆和切换阶段配置迁移目标

如需暂停复制,请执行以下操作

您可以随时暂停虚拟机的复制。暂停虚拟机时,其复制状态会更改为已暂停

  1. 打开 Google Cloud Console 中的 Migrate for Compute Engine 页面:

    转到 Migrate for Compute Engine 页面

  2. 选择迁移标签页。

    此时将显示可用源虚拟机表格。

  3. 选择一个或多个虚拟机。

  4. 然后选择暂停

    如需稍后恢复复制,请选择一个或多个虚拟机,然后选择恢复

要设置复制间隔,请执行以下操作

默认情况下,Migrate for Compute Engine 每 2 小时执行一次源虚拟机的复制。如需更改复制频率,请执行以下操作:

  1. 打开 Google Cloud Console 中的 Migrate for Compute Engine 页面:

    转到 Migrate for Compute Engine 页面

  2. 选择迁移标签页。

    此时将显示可用源虚拟机表格。

  3. 选择虚拟机的信息面板图标 信息面板文件图标。此时会打开一个面板,供您配置目标。

  4. 选择目标详情标签页。

  5. 复制政策区域中,设置复制频率(以秒为单位)。

  6. 选择保存

第 3 步:为迁移后的虚拟机配置目标

要配置目标,您需要执行两个主要步骤:

  1. 添加目标项目。目标项目是包含用于托管迁移后虚拟机的 Compute Engine 实例的项目。

  2. 配置用于托管迁移后虚拟机的 Compute Engine 实例。对于测试环境和生产环境,配置目标 Compute Engine 实例并指定以下内容:

    • Google 项目
    • CPU 数量
    • 内存量
    • 磁盘大小
    • 许多其他选项

本部分介绍如何设置用于托管迁移后虚拟机的 Compute Engine 实例的初始配置。但是,您还可以对 Compute Engine 实例应用许多其他设置。如需详细了解所有设置,请参阅 Compute Engine 文档

您可以随时修改目标详情。在针对测试克隆或切换阶段实例化 Compute Engine 实例时,Migrate for Compute Engine 会使用操作时的目标详情设置。

如需配置 Compute Engine 目标,请执行以下操作

  1. 如果您尚未添加目标项目,请按照添加目标所示来添加。

  2. 打开 Google Cloud Console 中的 Migrate for Compute Engine 页面:

    转到 Migrate for Compute Engine 页面

  3. 选择迁移标签页。

    此时会显示迁移表。

  4. 选择您需要的虚拟机(您可以选择多个虚拟机进行修改),然后选择修改目标详情按钮。此时会打开一个面板,供您为所有选定虚拟机配置目标详情。

  5. 设置迁移详情,以定义用于托管迁移后虚拟机的 Compute Engine 实例的特征。下表列出了这些设置以及提供更详细说明的 Compute Engine 文档的链接。

    版块标题 字段名称 说明
    常规 实例名称 Compute Engine 实例的名称。如需了解命名规则,请参阅资源命名惯例
    项目 托管 Compute Engine 实例的项目的名称。它必须是您已在前面添加的项目。
    可用区 Compute Engine 实例的可用区。请参阅区域和可用区
    标签 如需整理项目,您可为资源添加键值对形式的标签。 请参阅为资源添加标签
    机器配置 机器类型系列 Compute Engine 提供了预定义机器类型系列,可供您在创建实例时使用。每个选项的费用不同。选择最适合您的工作负载的机器类型系列。如需了解详情,请参阅价格
    机器类型 Compute Engine 提供了预定义机器类型,可供您在创建实例时使用。可用机器类型取决于您在上述字段中选择的机器系列。
    如需了解详情,请参阅预定义机器类型文档。
    主机维护时 在进行定期基础架构维护时,Compute Engine 可以将您的虚拟机实例迁移到其他硬件,而不会造成任何停机。将此选项设置为迁移虚拟机实例(推荐,默认设置)可迁移虚拟机。将其设置为终止可终止实例。
    自动重启 如果设置为默认开启(推荐),则 Compute Engine 会在因非用户启动的原因(例如维护事件、硬件故障或软件故障)终止时自动重启实例。将其设置为关闭以停用重启功能。
    元数据 指定将为迁移后的虚拟机存储的虚拟机元数据键值对。
    如需详细了解 Compute Engine 虚拟机元数据,请参阅虚拟机元数据文档。
    网络 网络名称 指定实例所属的 VPC 网络。
    子网名称 指定与区域关联的子网。该子网必须是指定网络的子网。
    外部 IP 地址 设置为无(默认值)可停用外部访问权限,设置为临时可允许 Google Cloud 分配 IP 地址。请参阅预留静态外部 IP 地址
    内部 IP 地址 设置为临时(自动)(默认值)可允许 Google Cloud 分配 IP 地址,设置为临时(自定义)可设置您自己的 IP 地址,设置为 reserved-internal-ip (IP) 可使用预定义 IP 地址。请参阅预留静态内部 IP 地址
    主机名

    您可以通过指定任何完全限定 DNS 名称来创建使用自定义主机名的虚拟机。自定义主机名必须符合 RFC 1035 要求才是有效主机名。

    如需详细了解如何设置自定义主机名的格式,请参阅自定义主机名文档。

    添加网络接口 借助 Migrate for Compute Engine,您可以选择创建具有多个网络接口 (NIC) 的 Compute Engine 实例。每个接口都连接到不同的 VPC 网络,这样可让该实例访问 Google Cloud 中的不同 VPC 网络。
    在添加其他网络接口之前,请注意以下事项:
    • 不支持将多个网络接口连接到同一 VPC 网络。虽然配置可能会保存,但虚拟机的实例化将失败。
    • 使用 test-clonecut-over 实例化 Compute Engine 实例后,您无法在创建的实例上添加或移除网络接口。您可以采用不同的目标详情重复执行 test-clonecut-over 来重新创建该实例。
      如需添加或移除网络接口,请执行以下操作:
      • 选择添加网络接口以向 Compute Engine 实例添加其他网络接口。您可以设置与初始网络接口相同的所有选项。
    如需了解详情,请参阅创建具有多个网络接口的实例
    网络标记 利用标记,您可以将防火墙规则路由应用于特定实例。请参阅配置网络标记
    其他配置 服务帐号 指定用于运行 Compute Engine 实例的目标项目的服务帐号。 默认情况下,系统不会为 Compute Engine 实例分配服务帐号。
    如果您打算在需要访问其他 Google Cloud 服务和 API 的 Compute Engine 实例上运行应用,请在创建 Compute Engine 实例之前,在目标项目中创建一个具有访问这些服务和 API 所需的权限的服务帐号。然后,在此处指定该服务帐号。 如需了解详情,请参阅将虚拟机设置为以服务帐号的身份运行
    如需将该服务帐号关联到 Compute Engine 实例,您在 Migrate for Compute Engine 宿主项目中的用户帐号需要必要的权限。如需了解详情,请参阅配置目标项目服务帐号的权限
    磁盘类型 指定实例的存储类型。请参阅存储方案
    安全启动 如要启用安全启动,所有选定的虚拟机都必须具有 EFI 启动选项。Compute Engine 强制执行的最新政策可能会阻止虚拟机在启用安全启动时加载。如需了解详情,请参阅 Compute Engine 文档中的安全启动
    许可类型 Compute Engine 支持为已部署的虚拟机使用随用随付 (PAYG) 许可以及自带许可 (BYOL)。Migrate for Compute Engine 会根据迁移后的操作系统为迁移后的虚拟机分配默认许可类型,如受支持的操作系统中所述。
    如果您的操作系统支持多种许可类型,您可以替换默认许可类型,以明确指定许可类型 PAYG 或 BYOL。
    额外许可 Migrate for Compute Engine 最多支持 10 个额外许可(使用有效网址格式),您可以在目标详情对话框的其他配置部分中添加这些许可。
    例如,您可以使用以下网址格式添加额外许可:
    
    https://www.googleapis.com/compute/beta/projects/windows-sql-cloud/global/licenses/sql-server-2012-enterprise
    单租户 节点亲和性标签 Compute Engine 支持将迁移后的工作负载部署到单租户节点。单租户节点是专用于仅托管您的项目虚拟机的 Compute Engine 服务器。
    您必须先在目标项目和可用区中创建了单租户节点模板和单租户节点组,然后才能将迁移后的工作负载配置为在单租户节点上运行。请参阅在单租户节点上预配虚拟机
    通过亲和性标签,您可以对节点和节点组进行逻辑分组。预配 Compute Engine 实例时,请使用亲和性标签将实例安排为在一组特定节点或节点组上运行。
    如需为正在迁移的虚拟机添加亲和性标签,您可以在信息面板中以键值对的形式手动输入标签,也可以使用“浏览节点”对话框来选择节点或节点组。然后,您可以修改虚拟机亲和性标签来自定义单租户部署:
    • 选择“浏览节点”,从可用单租户节点和节点组列表中添加亲和性标签。选择节点或节点组时,系统会自动为您创建键值对。
    • 选择“新增”以手动输入亲和性标签。
    分配的 vCPU 数下限 设置为 Compute Engine 实例分配的 vCPU 数下限。
    如需了解详情,请参阅节点亲和性和反亲和性以及配置节点亲和性标签
    复制政策 两个周期之间的复制空闲时长 默认情况下,Migrate for Compute Engine 每 2 小时执行一次源虚拟机的复制。设置复制频率(以秒为单位)。
  6. 选择保存

您稍后可以修改目标详情。在针对 test-clonecut-over 阶段实例化 Compute Engine 实例时,Migrate for Compute Engine 会使用操作时的目标详情设置。

(可选)第 4 步:测试所迁移虚拟机的克隆

在测试克隆阶段,Migrate for Compute Engine 会将迁移的虚拟机的克隆部署到测试环境中的 Compute Engine 实例。虽然测试阶段是可选的,但最佳实践是在将迁移后的虚拟机部署到生产环境之前执行测试。

每次创建测试克隆实例时,都会使用当前目标详情从最近完成的复制周期数据中克隆该实例。换句话说,测试克隆实例表示最后完成复制周期时来源虚拟机的快照

启动您的第一个测试克隆

您可以在初始复制周期完成后创建第一个测试克隆,然后在整个迁移过程中创建其他测试克隆。

要启动测试克隆,您必须先为 Compute Engine 实例配置目标环境,然后才能启动测试克隆。如需了解详情,请参阅配置目标文档。

只有在虚拟机完成至少一次复制后,您才能测试处于已暂停状态的虚拟机。

对虚拟机进行测试克隆

如需使用 Migrate for Compute Engine 对虚拟机进行测试克隆,请按照以下步骤操作:

  1. 确保您已按照配置虚拟机目标中所述配置测试虚拟机目标环境。

  2. 打开 Google Cloud Console 中的 Migrate for Compute Engine 页面:

    转到 Migrate for Compute Engine 页面

  3. 选择迁移标签页。

    此时将显示可用源虚拟机表格。您可以测试处于 Active (Current cycle: XX%)Active (idle) 状态的任何虚拟机。活跃状态表示虚拟机的首次复制同步成功,并且正在增量复制虚拟机数据。

  4. 选择虚拟机。

  5. 依次选择 切换和测试克隆 > 测试克隆测试克隆/切换状态列显示操作的状态。

  6. 等待 测试克隆/切换状态列显示成功,这意味着成功创建克隆。

  7. 如需查看虚拟机的测试克隆历史记录,请选择该虚拟机的信息面板图标 信息面板文件图标

  8. 在右侧打开的面板中,Monitoring 标签页会显示历史记录:

    查看测试克隆状态。
  9. 对于测试克隆虚拟机,点击显示详细信息以查看虚拟机实例名称。

  10. 如需管理正在运行的 Compute Engine 实例,请转到您项目的 Google Cloud Console 中的虚拟机实例页面:

    转到“虚拟机实例”页面

    从 Google Cloud Console 管理 Compute Engine 实例,以便:

    1. 启动、停止和删除实例。
    2. 确定实例的内部和外部 IP 地址。
    3. 查看和修改实例的特征。
    4. 执行所有其他管理任务。
  11. 对迁移后的虚拟机执行任何验证测试或其他测试。

  12. 完成测试后,删除 Compute Engine 实例以释放资源,以免继续为该实例付费。

管理多个测试克隆

在迁移过程中,您可以创建多个测试克隆。例如,您可以在初始复制周期完成后创建第一个测试克隆。然后,当您优化迁移时,您因为以下原因而创建新的测试克隆:

  • 对来源虚拟机进行修改以支持迁移
  • 对迁移后的虚拟机目标详细信息进行修改
  • 来源虚拟机有新的复制数据
  • 您在测试周期内进行了任何其他更改

请注意,测试克隆是根据当前复制数据和目标详细信息创建的源虚拟机的快照。新复制数据和对目标详细信息的修改只会应用于新的测试克隆,而不会应用于现有的测试克隆。

如果您现有的运行测试克隆实例正在运行,则在创建新的测试克隆之前,您可以执行以下任一操作:

  • 删除现有测试克隆实例,然后使用相同的实例名称创建新的克隆实例。您不能创建与现有实例同名的新实例。

  • 修改目标详情以设置新的实例名称。此外,如果您为现有测试克隆实例指定了预留和/或自定义 IP 地址,请确保将不同的值用于任何其他实例。

如需监控所有测试克隆实例,请执行以下操作:

  1. 通过选择虚拟机的信息面板图标 信息面板文件图标 来查看虚拟机的测试克隆历史记录。

    在右侧打开的面板中,Monitoring 标签页会显示历史记录,其中包括每个测试克隆实例的名称。

  2. 如需管理正在运行的 Compute Engine 实例,请选择箭头图标 以在 Google Cloud Console 中打开虚拟机实例。

    或者直接转到 Google Cloud Console 中的虚拟机实例页面:

    转到“虚拟机实例”页面

第 5 步:切换

在切换阶段,您将控制权切换为 Google Cloud 上生产环境中的 Compute Engine 实例中运行的迁移后虚拟机。切换过程将:

  1. 等待数据复制完成(如果数据复制当前处于活跃状态,这表示虚拟机的复制状态活跃(当前周期:XX%))。

  2. 关停源虚拟机。

  3. 执行最终数据复制。由于在所有迁移阶段中都在进行复制,因此要复制的数据量应该不会很大。

  4. 停止复制。

  5. 根据最终复制的数据创建 Compute Engine 实例。

切换阶段包括短暂的虚拟机停机,应在计划维护期内进行。您必须确定维护期,在此期间停止源虚拟机并将流量重定向到 Compute Engine 上运行的已迁移虚拟机。

要进行切换,请执行以下步骤

  1. 请确保您已按照配置虚拟机目标中的说明配置虚拟机目标详情。如果之前为测试克隆操作配置了目标详情,则可能需要修改目标详情,使其指向新的目标。

  2. 打开 Google Cloud Console 中的 Migrate for Compute Engine 页面:

    转到 Migrate for Compute Engine 页面

  3. 选择迁移标签页。

    此时将显示可用源虚拟机表格。您可以切换处于活跃(当前周期:XX%)活跃(空闲)状态的任何虚拟机。 活跃状态表示虚拟机的首次复制同步成功,并且正在增量复制虚拟机数据。

  4. 选择源虚拟机。

  5. 依次选择 切换和测试克隆 > 切换。在迁移虚拟机上启动切换会使 Migrate for Compute Engine 开始执行以下一系列操作:

    1. 关停源虚拟机。

    2. 执行最终数据复制。由于在所有迁移阶段中都在持续进行复制,因此要复制的数据量应该不会很大。

    3. 根据最终复制的数据创建托管迁移后虚拟机的 Compute Engine 实例。

    4. 停止数据复制。

  6. 等待测试克隆/切换状态列显示切换作业完成,表示切换成功。

  7. 如需查看虚拟机的切换历史记录,请选择该虚拟机的信息面板图标 信息面板文件图标

  8. 在右侧打开的面板中,监控标签页将显示历史记录:

    查看测试克隆状态。
  9. 如需管理正在运行的 Compute Engine 实例,请选择箭头图标 以在 Google Cloud Console 中打开虚拟机实例。

    或者直接转到 Google Cloud Console 中的虚拟机实例页面:

    转到“虚拟机实例”页面

    从 Google Cloud Console 管理 Compute Engine 实例,以便:

    1. 启动、停止和删除实例。
    2. 确定实例的内部和外部 IP 地址。
    3. 查看和修改实例的特征。
    4. 执行所有其他管理任务。
  10. 对迁移的工作负载执行验证测试。

如果您因任何原因想要重新尝试切换或从切换进行回滚,请执行以下操作:

如要重新尝试切换,请执行以下操作

  1. 选择处于切换状态的虚拟机。

  2. 依次选择迁移 > 恢复复制

  3. 重新尝试切换。

如需从切换进行回滚,请执行以下操作

  1. 切换操作将停止本地数据中心的原始源虚拟机,因此您必须启动源虚拟机并将流量重定向回源虚拟机。

  2. 如有必要,请复制在 Compute Engine 实例上创建的新数据,以便将其写入源虚拟机。

  3. 选择性删除或关停运行已迁移虚拟机的 Compute Engine 实例。

  4. 如上所示,在源虚拟机上恢复复制。复制将从上次获取的快照恢复。

  5. 重新尝试切换。

第 6 步:完成迁移

切换后系统会保留用于创建 Compute Engine 虚拟机的复制数据,以便您从上一个复制快照恢复复制。

不过,在完成阶段删除复制数据之前,您需要为复制数据使用的存储空间付费。完成操作将删除所有与已迁移虚拟机相关联的复制数据和所有其他存储资源。

如要执行完成操作,请参照一下步骤

  1. 打开 Google Cloud Console 中的 Migrate for Compute Engine 页面:

    转到 Migrate for Compute Engine 页面

  2. 选择迁移标签页。

    此时将显示可用源虚拟机表格。完成操作只能对处于切换状态的虚拟机执行。

  3. 选择源虚拟机。

  4. 选择完成,然后确认完成。

    完成后,虚拟机的状态会设置为已完成已完成状态的迁移唯一允许的操作包括:

    • 删除迁移
    • 在群组中添加或移除内容

删除迁移

删除迁移将移除:

  • 存储在 Google Cloud 中的虚拟机复制数据
  • Compute Engine 配置信息
  • 监控历史记录
  • 与迁移虚拟机关联的所有其他数据
  • 迁移标签页上的已添加虚拟机列表中的虚拟机
  • 虚拟机群组中的虚拟机(如果虚拟机当前是某个群组的成员)

但是,删除迁移不会从来源标签页上显示的数据中心的可用虚拟机列表中移除源虚拟机。也就是说,只会删除虚拟机的迁移数据。删除迁移不影响原始的源虚拟机。这意味着您以后可以重新添加源虚拟机进行迁移。

要删除迁移,请执行以下操作

  1. 打开 Google Cloud Console 中的 Migrate for Compute Engine 页面:

    转到 Migrate for Compute Engine 页面

  2. 选择迁移标签页。

  3. 选择源虚拟机。

  4. 选择删除,然后确认删除。

    虚拟机会从迁移表格中移除。

  5. 选择来源标签页。

  6. 从下拉列表中选择安装了 Migrate Connector 的本地数据中心。

  7. 此时会显示一个表格,其中显示数据中心中可供迁移的源虚拟机。请注意,已删除迁移对应的源虚拟机仍会列出。

如有必要,您可以在虚拟机上重启迁移。