迁移数据

在迁移过程中,您可以选择是否要迁移数据。默认情况下,您的数据配置文件 (my-migration.data.yaml) 为空,因此不会迁移数据。迁移数据时,您可以添加用于将数据提取到永久性存储空间的路径。请按照本页中的步骤修改数据配置文件,并指定迁移数据的方式。

支持的工作负载

  • Linux
  • Tomcat
  • WebSphere 传统版
  • JBoss
  • Apache 容器

自定义数据迁移配置

如需在迁移过程中启用数据迁移,您需要使用以下格式在数据配置文件 (my-migration.data.yaml) 中提供目标数据卷或数据声明的相关信息:

volumes:
- deploymentPvcName: my-pvc1
  existingPvc:
    name: my-pvc1
  folders:
  - /bin
  - /opt
- deploymentPvcName: my-pvc2
  newPvc:
   spec:
    accessModes:
    - ReadWriteOnce
    resources:
      requests:
        storage: 10G
  folders:
  - /bin
  - /opt

其中:

  • deploymentPvcName:已部署的工作负载中 Migrate to Containers 用于访问此卷的永久性卷声明 (PVC) 的名称。

  • existingPvc:

    • name:现有永久性卷声明 (PVC) 的名称。定义是否要将数据卷迁移到现有 PVC。否则为 nil
  • newPvc:定义是否将数据卷迁移到新的 PVC。您可以使用标准 PVC 规范语法定义 PVC。

    如需详细了解 Kubernetes PVC 规范,请参阅 Kubernetes 文档。

  • folders:要从虚拟机迁移到 PVC 的文件夹。这些文件夹会复制到同一路径中的 PVC。

您可以针对多个数据迁移使用场景修改数据配置文件,包括:

使用现有的 PersistentVolumeClaim (PVC)

如果您已为迁移的数据分配存储空间,并且有用以存储数据的 PersistentVolumeClaim (PVC),那么您可以使用现有的 PVC 来迁移数据。

您可以通过在 existingPvc 字段中传递现有卷,来在数据配置文件 (my-migration.data.yaml) 中定义现有 PVC。在此示例中,您的数据配置文件如下所示:

volumes:
- deploymentPvcName: my-pvc
  existingPvc:
    name: my-pvc
    subpath: /subpath
  folders:
  - /bin
  - /opt

在上面的示例中,existingPvc 条目可以包含可选的 subPath 以将数据迁移到 PVC 的子路径,如下所示。

在迁移后的虚拟机上创建新的数据卷

如果您未提前分配存储空间,并且想要在迁移过程中创建存储空间,则可以传递空的 existingPvc 字段,并在 newPvc 字段中指定想要创建的存储空间:

volumes:
- deploymentPvcName: my-pvc
  newPvc:
    spec:
      accessModes:
      - ReadWriteOnce
      resources:
        requests:
          storage: 10G
  folders:
  - /bin
  - /opt

有基本版和高级版两种方案:

迁移具有多个文件路径的多个 PVC

您可以为数据配置文件 (my-migration.data.yaml) 中列出的每个 PVC 指定 volume 列表中每个条目的 folders 列表字段下的目录集:

volumes:
- deploymentPvcName: my-pvc1
  existingPvc:
    name: my-pvc1
  folders:
  - /bin
  - /opt
- deploymentPvcName: my-pvc2
  newPvc:
   spec:
    accessModes:
    - ReadWriteOnce
    resources:
     requests:
       storage: 10G
  folders:
  - /bin
  - /opt

您在配置文件中的 folders 下列出的路径会复制到目标 PVC 中的相同路径。

上传数据迁移配置

修改数据配置文件后,如需上传已更新的文件,请运行以下命令:

migctl migration update my-migration --data-config my-migration.data.yaml

后续步骤