11.5. 在 MTC web 控制台中创建迁移计划


您可以在 Migration Toolkit for Containers(MTC)web 控制台中创建一个迁移计划。

先决条件

  • 必须使用在所有集群中具有 cluster-admin 权限的用户登录。
  • 您必须确保在所有集群中安装相同的 MTC 版本。
  • 您必须在 MTC web 控制台中添加集群和复制存储库。
  • 如果要使用 move 数据复制方法迁移持久性卷(PV),则源和目标集群必须有对远程卷的不间断网络访问权限。
  • 如果要使用直接镜像迁移,您必须指定源集群的镜像 registry 公开的路由。这可以通过使用 MTC web 控制台或更新 MigCluster 自定义资源清单来实现。

流程

  1. 在 MTC web 控制台中点 Migration Plan
  2. Add migration plan
  3. 输入 Plan 名称

    迁移计划名称不能超过 253 个小写字母数字字符(a-z, 0-9),且不能包含空格或下划线(_)。

  4. 选择 Source clusterTarget clusterRepository
  5. Next
  6. 选择要迁移的项目。
  7. 可选:点击项目旁边的编辑图标来更改目标命名空间。

    警告

    Migration Toolkit for Containers 1.8.6 及更新版本不支持对单一命名空间的多迁移计划。

  8. Next
  9. 为每个 PV 选择一个 迁移类型

    • Copy 选项将源集群的 PV 中的数据复制到复制存储库中,然后在目标集群中恢复新创建的具有类似特征的 PV 上的数据。
    • Move 选项从源集群中卸载一个远程卷(例如 NFS),在目标集群上创建一个指向这个远程卷的 PV 资源,然后在目标集群中挂载远程卷。在目标集群中运行的应用程序使用源集群使用的同一远程卷。
  10. Next
  11. 为每个 PV 选择 Copy method

    • 快照复制使用云供应商的快照功能备份和恢复数据。它比 Filesystem copy 要快得多。
    • Filesystem copy 备份源集群中的文件,并在目标集群中恢复它们。

      直接卷迁移需要使用文件系统复制方法。

  12. 您可以选择 Verify copy 来验证使用 Filesystem copy 迁移的数据。数据是通过为每个源文件生成 checksum 并在恢复后检查 checksum 来验证。数据校验可能会显著降低性能。
  13. 选择 目标存储类

    如果选择了 Filesystem copy,您可以更改目标存储类。

  14. Next
  15. Migration options 页面上,如果您为源集群指定了公开的镜像 registry 路由,则会选择 Direct 镜像迁移 选项。如果使用 Filesystem copy 迁移数据,Direct PV migration 选项会被选择。

    直接迁移选项将镜像和文件直接从源集群复制到目标集群。这个选项比将源集群的镜像和文件复制到复制存储库,然后再从复制存储库复制到目标集群要快。

  16. Next
  17. 可选:点 Add Hook 在迁移计划中添加 hook。

    hook 运行自定义代码。您可以在单个迁移计划中最多添加四个 hook。每个 hook 在不同的迁移步骤中运行。

    1. 在 web 控制台中输入要显示的 hook 名称。
    2. 如果 hook 是一个 Ansible playbook,请选择 Ansible playbook,然后点 Browse 上传 playbook,或在字段中粘贴 playbook 的内容。
    3. 可选: 如果不使用默认 hook 镜像,请指定 Ansible 运行时镜像。
    4. 如果 hook 不是 Ansible playbook,选择 Custom container image 并指定镜像名称和路径。

      自定义容器镜像可以包含 Ansible playbook。

    5. 选择 Source clusterTarget cluster
    6. 输入 Service account nameService account namespace
    7. 为 hook 选择迁移步骤:

      • preBackup:在应用程序工作负载在源集群中备份前
      • PostBackup:在应用程序工作负载在源集群中备份后
      • preRestore:在目标集群中恢复应用程序工作负载前
      • postRestore:在目标集群中恢复应用程序工作负载后
    8. 点击 Add
  18. Finish

    迁移计划显示在 Migration Plan 列表中。

11.5.1. 使用 YAML 清单创建迁移计划

您可以使用 YAML 创建迁移计划。但是,建议在 MTC web 控制台中创建迁移计划。

流程

  1. 要迁移 mig-vm 命名空间,请确保迁移计划的 namespaces 字段包括 mig-vm
  2. 通过在命名空间中添加 mig-vm 来修改迁移计划的内容。

    迁移计划 YAML 示例

    apiVersion: migration.openshift.io/v1alpha1
    kind: MigPlan
    metadata:
      name: live-migrate-plan
      namespace: openshift-migration
    spec:
      namespaces:
      - mig-vm 
    1
    
    ...
    Copy to Clipboard Toggle word wrap

    1
    mig-vm 添加到命名空间。
    • 要尝试实时迁移,迁移计划规格中的 liveMigrate 字段必须设置为 true,并且必须配置 KubeVirt 并执行实时存储迁移。

      apiVersion: migration.openshift.io/v1alpha1
      kind: MigPlan
      metadata:
        name: live-migrate-plan
        namespace: openshift-migration
      spec:
        liveMigrate: true 
      1
      
        namespaces:
      ...
      Copy to Clipboard Toggle word wrap
    1
    只有在迁移计划期间才会进行实时迁移。

分阶段迁移计划跳过任何正在运行的虚拟机,且不会同步数据。所有已停止的虚拟机磁盘都会被同步。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat