迁移虚拟机磁盘并将其挂接到新虚拟机

借助 Migrate to Virtual Machines,您可以将磁盘从源虚拟机 (VM) 实例迁移到 Google Cloud 上的永久性磁盘卷,同时将对工作负载的干扰降到最低。您还可以创建新的虚拟机实例,并将迁移后的永久性磁盘卷挂接到该实例。

迁移过程

以下是磁盘迁移过程的步骤:

  1. 初始配置:选择要迁移其磁盘的虚拟机。

  2. 复制:将数据从来源虚拟机磁盘复制到 Google Cloud 上的永久性磁盘卷。数据复制是在后台运行的持续过程,直到最终割接或删除迁移为止。

  3. 设置虚拟机目标详情:为迁移的永久性磁盘卷配置设置。如果您选择创建新的虚拟机实例来挂接永久性磁盘卷,则还必须配置虚拟机实例的设置。

  4. 将磁盘克隆到目标:根据目标详情创建源虚拟机磁盘的克隆。

  5. 将磁盘割接到目标:从源虚拟机迁移磁盘。此过程包括停止来源虚拟机和执行磁盘的最终复制。

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

磁盘迁移过程遵循与虚拟机迁移过程相同的步骤。因此,您可以在迁移过程中随时选择从虚拟机迁移切换到磁盘迁移,反之亦然。如需了解详情,请参阅从磁盘迁移切换到虚拟机迁移

前提条件

执行以下步骤以在迁移来源迁移目标上配置迁移环境。

第 1 步:初始配置虚拟机

磁盘迁移在虚拟机级层执行,因此迁移的第一阶段是初始配置源虚拟机。例如,某个 vSphere 数据中心可能包含许多虚拟机。您只需初始配置要迁移其磁盘的虚拟机。

每个宿主项目和区域一次最多可以同时迁移 200 个虚拟机(不包括完成阶段的迁移)。此限制适用于所有来源类型的虚拟机磁盘迁移。例如,您可以同时从 VMware 来源迁移挂接到 100 个虚拟机的磁盘,并从 AWS 迁移另外 100 个虚拟机。

如需初始配置来源虚拟机,请按照以下步骤操作:

  1. 打开 Google Cloud 控制台中的 Migrate to Virtual Machines 页面:

    转到 Migrate to Virtual Machines 页面

  2. 选择来源标签页。

  3. 从下拉列表中选择要从中迁移磁盘的迁移来源。

    在下拉列表下方,您会看到迁移来源的来源状态为:

    • 活跃:来源处于活跃状态并已连接到 Migrate to Virtual Machines。
    • 离线:来源不可用。
    • 待处理:来源正在连接中并经过验证。

    如果下拉列表中没有显示任何条目,则表示未正确配置迁移来源。请检查设置迁移来源的各个步骤,然后重试。

  4. 此时会显示一个表格,其中显示迁移来源中可供迁移的来源虚拟机。选择一个或多个源虚拟机。

    虚拟机电源状态列的状态显示为已暂停开启关闭。您可以迁移上述任一状态的虚拟机。

  5. 点击添加迁移 > 磁盘迁移

  6. 确认您要创建迁移。

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

    • 待处理:正在初始配置虚拟机。
    • 就绪:虚拟机已初始配置,但尚未开始复制。

现在,您可以按照下一步的说明开始复制虚拟机。

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

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

数据复制包括两个步骤,请按以下步骤操作:

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

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

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

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

启动来源虚拟机的复制

如需启动来源虚拟机的复制,请按照以下步骤操作:

  1. 打开 Google Cloud 控制台中的 Migrate to Virtual Machines 页面:

    转到 Migrate to Virtual Machines 页面

  2. 选择磁盘迁移标签页。

    此时会显示一个表格,其中显示来源虚拟机以及挂接到每个虚拟机的磁盘。您可以在复制状态为就绪的任何虚拟机上开始复制磁盘。

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

  4. 点击迁移 > 开始复制复制状态列显示复制状态以及复制周期子步骤表中详述的子步骤之一。

    如需查看虚拟机的复制历史记录,请点击虚拟机以打开详情页面。点击复制历史记录以查看虚拟机的复制历史记录以及复制的子步骤

    对于一个虚拟机,Migrate to Virtual Machines 最多可以保存并显示 100 个复制周期历史记录。

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

您可以在首次复制步骤完成后随时创建磁盘的测试克隆。复制会一直进行,直到您在割接阶段明确结束它为止。

暂停复制

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

如需暂停复制,请按照以下步骤操作:

  1. 打开 Google Cloud 控制台中的 Migrate to Virtual Machines 页面:

    转到 Migrate to Virtual Machines 页面

  2. 选择磁盘迁移标签页。

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

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

  4. 然后选择暂停

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

设置复制间隔

如需设置复制间隔,请按以下步骤操作:

默认情况下,Migrate to Virtual Machines 每 2 小时对来源虚拟机执行一次复制。如需设置复制间隔,请执行以下步骤:

  1. 打开 Google Cloud 控制台中的 Migrate to Virtual Machines 页面:

    转到 Migrate to Virtual Machines 页面

  2. 选择磁盘迁移标签页。

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

  3. 对于虚拟机,请选择修改目标详情按钮。此时会打开一个面板,供您配置目标。

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

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

  6. 选择保存

如需设置多个虚拟机的频率,请选择虚拟机,然后选择修改目标详情按钮。 系统会打开一个面板,可让您配置所选虚拟机的复制频率。

从磁盘迁移切换到虚拟机迁移

在迁移过程中,您可以随时在磁盘迁移和虚拟机迁移之间切换。如需从磁盘迁移切换到虚拟机迁移,请按照以下步骤操作:

  1. 打开 Google Cloud 控制台中的 Migrate to Virtual Machines 页面:

    转到 Migrate to Virtual Machines 页面

  2. 选择磁盘迁移标签页。

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

  4. 点击迁移 > 转换为虚拟机迁移

从磁盘迁移切换到虚拟机迁移会清除目标详情。这是因为磁盘迁移和虚拟机迁移的目标详情不同。但是,切换期间不会丢失复制进度。

您必须先更新目标详情,然后才能在虚拟机上克隆或割接操作,以便迁移成功。如需了解详情,请参阅配置目标

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

借助 Migrate to Virtual Machines,您可以使用以下选项将来源虚拟机的磁盘迁移到 Google Cloud 上的永久性磁盘卷:

  • 将磁盘迁移到永久性磁盘卷

  • 将磁盘迁移到永久性磁盘卷并将其挂接到新虚拟机实例

您必须根据您选择的选项配置目标详细信息,例如项目、可用区、磁盘类型等。目标项目是包含从来源虚拟机迁移的永久性磁盘卷的项目,或包含要挂接迁移后的永久性磁盘卷的新建虚拟机实例的项目。您可以随时修改目标详情。创建测试克隆或割接时,Migrate to Virtual Machines 会使用操作时的目标详情设置。

宿主项目会自动添加为目标项目,因此您无需明确添加它。如果要将其他项目添加为目标项目,请参阅添加目标项目

如需配置永久性磁盘目标,请按照下列步骤操作:

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

  2. 打开 Google Cloud 控制台中的 Migrate to Virtual Machines 页面:

    转到 Migrate to Virtual Machines 页面

  3. 选择磁盘迁移标签页。

    此时会显示迁移表。

  4. 选择一个来源虚拟机(您可以选择多个虚拟机进行修改),然后点击修改目标详情。在显示的面板上,配置您选择的所有虚拟机的目标详细信息。

  5. 设置迁移详情,以定义要将数据迁移到的永久性磁盘卷的特征。下表详细列出了这些设置。

    版块标题 字段名称 说明
    常规 项目 托管永久性磁盘卷的项目的名称。该项目必须是您在本部分前面已添加的项目。
    可用区 永久性磁盘卷的可用区。请参阅区域和可用区
    磁盘配置 名称 输入磁盘的名称。
    磁盘类型 选择永久性磁盘的类型。请参阅永久性磁盘类型
    客户管理的加密密钥 您要用于保护 Google Cloud 中的数据的密钥。默认情况下,Google Cloud 会使用 Google 管理的加密密钥自动加密静态数据。如果您对保护数据的密钥有特定的合规性或监管要求,则可以使用客户管理的加密密钥 (CMEK) 来加密和解密数据静态。这些加密密钥由您创建、管理和拥有。
    添加 CMEK 时,您还必须将 Cloud KMS CryptoKey Encrypter/Decrypter 角色权限分配给您正在使用的 Compute Engine Service Agent 账号。如需了解详情,请参阅使用 Cloud KMS 密钥保护资源
    标签 如需整理项目,您可为资源添加键值对形式的标签。 请参阅为资源添加标签
    挂接到虚拟机 将磁盘挂接到虚拟机 如果您不想将永久性磁盘卷挂接到虚拟机实例,请选择请勿挂接到虚拟机
    如果要创建虚拟机实例并将永久性磁盘卷挂接到虚拟机实例,请选择通过磁盘映像创建虚拟机。如果您选择此选项,则必须设置目标详情,以定义要将迁移的永久性磁盘卷挂接到的新虚拟机实例的属性。如需详细了解这些设置,请参阅为虚拟机配置目标
    复制政策 两个周期之间的复制空闲时长 默认情况下,Migrate to Virtual Machines 每 2 小时对来源虚拟机执行一次复制。设置复制频率(以秒为单位)。
  6. 点击保存

(可选)第 4 步:测试所迁移磁盘的克隆

在测试克隆阶段,您可以检查复制阶段创建的永久性磁盘卷是否按预期运行。例如,您可以将迁移后的永久性磁盘卷挂接到测试环境中的 Compute Engine 实例,以检查磁盘是否按预期工作。

如果您已创建新的虚拟机实例并将迁移后的永久性磁盘卷挂接到该虚拟机实例,则 Migrate to Virtual Machines 会将虚拟机实例的克隆部署到目标环境中的 Compute Engine 实例以进行测试。虽然测试阶段是可选的,但最佳做法是在执行对迁移的磁盘的割接之前执行测试。

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

启动您的第一个测试克隆

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

如需启动测试克隆,您必须已为永久性磁盘卷或您要挂接迁移的永久性磁盘卷的新虚拟机实例配置目标环境。如需了解详情,请参阅配置目标

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

如需详细了解测试克隆阶段期间的潜在问题,请参阅问题排查部分。

创建虚拟机磁盘的测试克隆

如需使用 Migrate to Virtual Machines 创建虚拟机磁盘的测试克隆,请按照以下步骤操作:

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

  2. 打开 Google Cloud 控制台中的 Migrate to Virtual Machines 页面:

    转到 Migrate to Virtual Machines 页面

  3. 选择磁盘迁移标签页。

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

  4. 选择虚拟机。

  5. 依次选择割接和测试克隆 > 测试克隆测试克隆/割接状态列显示操作的状态以及测试克隆子步骤表中详述的子步骤之一。

  6. 等待测试克隆/割接状态列显示成功。这表示已成功创建克隆。

    您可以通过以下任一方式查看虚拟机的测试克隆历史记录:

    • 点击虚拟机的信息面板图标 信息面板文件图标。在右侧打开的面板上,Monitoring 标签页会显示历史记录,其中包括每个测试克隆实例的名称。

    • 点击虚拟机以打开详情页面。点击测试克隆/割接历史记录以查看虚拟机的测试克隆历史记录以及测试克隆的子步骤

    您可以通过依次点击割接和测试克隆 > 取消测试克隆来取消正在进行的测试克隆操作。

  7. 现在,您可以创建任何虚拟机并将测试克隆磁盘挂接到该虚拟机,以检查迁移的磁盘是否按预期运行。

  8. 完成测试后,删除虚拟机实例以释放资源,以免继续为该实例付费。

管理多个测试克隆

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

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

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

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

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

  • 修改目标详情以便为磁盘设置新的唯一名称。

如需监控所有测试克隆实例,请按照以下步骤操作:

  1. 可通过以下任一方式查看虚拟机的测试克隆历史记录:

    • 点击虚拟机的信息面板图标 信息面板文件图标。在右侧打开的面板上,Monitoring 标签页会显示历史记录,其中包括每个测试克隆实例的名称。

    • 点击虚拟机以打开详情页面。点击测试克隆/割接历史记录以查看虚拟机的测试克隆历史记录以及测试克隆的子步骤

    创建测试克隆后,您可以自行管理该克隆。如果您要修改或删除正在运行的测试克隆磁盘或为测试磁盘而创建的虚拟机实例,则必须使用相应产品的工具。您无法使用 Migrate to Virtual Machines 工具管理这些资源。

第 5 步:创建割接

在割接阶段,您将控制权转移到 Google Cloud 上的目标环境中的已迁移磁盘,或创建挂接了迁移的永久性磁盘卷的新虚拟机。

割接过程请按以下步骤操作:

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

  2. 关停源虚拟机。

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

  4. 停止复制。

  5. 根据最终复制的数据创建永久性磁盘卷。

割接阶段包括短暂的虚拟机停机,应在计划维护窗口内进行。您必须确定维护窗口,在此期间停止源虚拟机并将流量重定向到迁移的磁盘。

创建割接

如需创建割接,请执行以下步骤:

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

  2. 打开 Google Cloud 控制台中的 Migrate to Virtual Machines 页面。

    转到 Migrate to Virtual Machines 页面

  3. 选择磁盘迁移标签页。

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

    • 预计割接时间列显示启动割接后完成虚拟机割接作业所需的时间。系统只会为已完成几个复制周期的活跃虚拟机填充此字段。

    • 测试克隆/割接状态列显示了操作的状态以及割接子步骤表中详述的子步骤之一。

  4. 选择源虚拟机。

  5. 依次选择割接和测试克隆 > 割接。在虚拟机上启动割接会使 Migrate to Virtual Machines 开始执行以下一系列操作:

    1. 关停源虚拟机。

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

    3. 根据最终复制的数据创建托管迁移后虚拟机的永久性磁盘卷。

    4. 停止数据复制。

  6. 等待测试克隆/割接状态列显示割接作业完成。这表示割接成功。

    您可以通过以下任一方式查看虚拟机的割接历史记录:

    • 点击虚拟机的信息面板图标 信息面板文件图标。在右侧打开的面板上,Monitoring 标签页会显示历史记录,其中包括每个割接实例的名称。

    • 点击虚拟机以打开详情页面。点击测试克隆/割接历史记录以查看虚拟机的割接历史记录以及割接的子步骤

    您可以通过依次点击割接和测试克隆 > 取消割接来取消正在进行的割接操作。但是,如果您想恢复使用源虚拟机,则必须手动重启该虚拟机。

  7. 对迁移的磁盘执行验证测试。

重新尝试割接

如果您因任何原因想要重新尝试割接,请按以下步骤操作:

  1. 选择处于割接状态的虚拟机。

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

  3. 重新尝试割接。

从割接进行回滚

如需从割接进行回滚,请按以下步骤操作:

  1. 割接操作将停止迁移来源中的原始来源虚拟机,因此您必须启动它并将流量重定向回来源虚拟机。

  2. 如有必要,请复制在永久性磁盘卷上创建的新数据,以便将其写入来源虚拟机。

  3. (可选)删除永久性磁盘卷。

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

  5. 重新尝试割接。

第 6 步:完成迁移

割接后系统会保留用于创建永久性磁盘卷的复制数据,以便您从上一个复制快照恢复复制。不过,在完成阶段删除复制数据之前,您需要为复制数据使用的存储空间付费。完成操作将删除所有复制数据和存储资源。

完成阶段不会删除永久性磁盘卷。如果您在测试阶段创建了永久性磁盘卷,则必须手动删除这些卷。在这些测试克隆永久性磁盘卷被删除之前,您需要为其付费。

如需完成迁移,请按照以下步骤操作:

  1. 打开 Google Cloud 控制台中的 Migrate to Virtual Machines 页面:

    转到 Migrate to Virtual Machines 页面

  2. 选择磁盘迁移标签页。

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

  3. 选择源虚拟机。

  4. 点击完成,然后确认完成。

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

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

删除迁移

删除迁移会移除以下内容:

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

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

如需删除迁移,请按照以下步骤操作:

  1. 打开 Google Cloud 控制台中的 Migrate to Virtual Machines 页面:

    转到 Migrate to Virtual Machines 页面

  2. 选择磁盘迁移标签页。

  3. 选择源虚拟机。

  4. 点击删除,然后确认删除。

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

  5. 选择来源标签页。

  6. 从下拉列表中选择您要删除的迁移来源。

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

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