迁移数据
本页面介绍如何运行数据迁移,将文件从本地机器复制到目标集群中的永久性卷声明 (PVC)。
这是一个可选步骤。
自定义数据迁移配置
完成分析后,Migrate to Containers CLI 可能会在指定的分析输出目录中创建名为 dataConfig.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。
newPvc
:定义是否将数据卷迁移到新的 PVC。您可以使用标准 PVC 规范语法定义 PVC。如需详细了解 Kubernetes PVC 规范,请参阅 Kubernetes 文档。
folders
:要从虚拟机迁移到 PVC 的文件夹。这些文件夹会复制到同一路径中的 PVC。
您可以针对多个数据迁移使用场景修改数据配置文件,包括:
使用现有的 PVC
如果您已为迁移的数据分配存储空间,并且有用以存储数据的 PVC,那么您可以使用现有的 PVC 来迁移数据。
您可以通过在 existingPvc
字段中传递现有卷,来在数据配置文件 dataConfig.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
您可以为数据配置文件 dataConfig.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 中的相同路径。
执行数据迁移
自定义数据配置文件 dataConfig.yaml
后,如需将数据卷迁移到目标集群中的 PVC,请运行以下命令:
./m2c migrate-data -i ANALYSIS_OUTPUT_PATH -n NAMESPACE
请替换以下内容:
- ANALYSIS_OUTPUT_PATH:保存包含文件
dataConfig.yaml
的分析输出的路径 - NAMESPACE:已部署网络的目标 Kubernetes 集群命名空间
后续步骤
- 了解如何清理本地机器。