在 IBM Software Hub 安装之间迁移数据
使用产品数据导出和导入实用程序将数据 (包括元数据) 从一个 IBM® Software Hub 安装导出,并将数据导入到另一个 IBM Software Hub 安装。
cpd-cli
export-import 命令行界面可以导出和导入特定于 IBM Software Hub 服务的数据 (当服务支持该命令时)。 有关更多信息,请参阅 支持 cpd-cli export-import 的服务。
- 谁需要完成这项任务?
集群管理员 集群管理员必须运行初始化导出导入实用程序的命令。
实例管理员 实例管理员可以运行所有其他
cpd-cli export-import命令。
开始之前
在运行 cpd-cli
export-import 命令之前,请完成以下任务:
初始化导出导入实用程序
在运行任何 cpd-cli
export-import 命令之前,必须初始化导出导入实用程序。
- 根据 Red Hat
OpenShift Container Platform 集群上的硬件设置
CPU_ARCH环境变量:- 对于 x86-64 硬件,请运行:
export CPU_ARCH=x86_64 - 对于 Power 硬件,请运行:
export CPU_ARCH=ppc64le
- 对于 x86-64 硬件,请运行:
- 将
CPD_PROFILE_NAME环境变量设置为您在 创建概要文件以使用管理命令中创建的概要文件的名称。export CPD_PROFILE_NAME=<my-profile-name> - 针对您的环境运行相应的命令:
集群从专用容器注册表中拉取映像
限制: 仅当管理员完成 安装 Cloud Pak for Data 命令行界面 (cpd-cli)时,此选项才可用。cpd-cli export-import init \ --namespace=${PROJECT_CPD_INST_OPERANDS} \ --arch=${CPU_ARCH} \ --pvc-name=export-import-pvc \ --profile=${CPD_PROFILE_NAME} \ --image-prefix=${PRIVATE_REGISTRY_LOCATION}
集群从 IBM Entitled Registry 提取映像
限制: 仅当集群可以连接到因特网时,此选项才可用。cpd-cli export-import init \ --namespace=${PROJECT_CPD_INST_OPERANDS} \ --arch=${CPU_ARCH} \ --pvc-name=export-import-pvc \ --profile=${CPD_PROFILE_NAME} \ --image-prefix=icr.io/cpopen/cpd
列出可用的辅助模块
安装使用 cpd-cli
export-import 命令的服务时,该服务会安装特定于服务的辅助模块。 详情请参阅支持cpd-cli导出导入的服务。
运行以下命令以确定安装了哪些辅助模块:
cpd-cli export-import list aux-modules \
--namespace=${PROJECT_CPD_INST_OPERANDS} \
--profile=${CPD_PROFILE_NAME} \
--arch=${CPU_ARCH}
导出数据
以下命令提供了一些示例,说明如何从 IBM Software Hub实例导出数据。
- 将数据从 IBM Software Hub 导出到 myexport1:
cpd-cli export-import export create myexport1 \ --namespace=${PROJECT_CPD_INST_OPERANDS} \ --profile=${CPD_PROFILE_NAME} \ --arch=${CPU_ARCH}- 检查 myexport1 作业是否成功,失败或仍处于活动状态:
cpd-cli export-import export status myexport1 \ --namespace=${PROJECT_CPD_INST_OPERANDS} \ --profile=${CPD_PROFILE_NAME} \ --arch=${CPU_ARCH}- 检索 myexport1 导出的日志:
cpd-cli export-import export logs myexport1 \ --namespace=${PROJECT_CPD_INST_OPERANDS} \ --profile=${CPD_PROFILE_NAME} \ --arch=${CPU_ARCH}
- 通过定时导出任务,在每12小时的第1分钟 myexport2 将数据从 IBM Software Hub 导出至 :
cpd-cli export-import schedule-export create myexport2 \ --namespace=${PROJECT_CPD_INST_OPERANDS} \ --schedule="0 */12 * * *" \ --profile=${CPD_PROFILE_NAME} \ --arch=${CPU_ARCH}- 检查调度的 myexport2 作业是否成功,失败或仍处于活动状态:
cpd-cli export-import schedule-export status myexport2 \ --namespace=${PROJECT_CPD_INST_OPERANDS} \ --profile=${CPD_PROFILE_NAME} \ --arch=${CPU_ARCH}
下载导出的数据
以下命令提供了一个示例,说明如何下载导出的数据,以便可以将数据迁移到另一个集群。 导出的数据将保存到压缩文件中。
- 将数据从 IBM Software Hub 下载到当前工作目录中的 TAR 文件:
cpd-cli export-import export download myexport1 \ --namespace=${PROJECT_CPD_INST_OPERANDS} \ --profile=${CPD_PROFILE_NAME} \ --arch=${CPU_ARCH}
上载导出的数据
以下命令提供了如何将压缩导出文件的内容上载到其他集群 (目标集群) 的示例。
cpd-cli
export-import 实用程序,然后才能上载导出的数据。- 从压缩的 TAR 文件上载数据
cpd-cli export-import export upload \ --namespace=${PROJECT_CPD_INST_OPERANDS} \ --profile=${CPD_PROFILE_NAME} \ --arch=${CPU_ARCH} \ --file=cpd-exports-myexport1-20200301101735-data.tar
正在导入数据
必须先成功完成导出,然后才能运行导入。 因为一次只允许一个导入作业,所以必须始终删除已完成的导入作业以启动新的导入作业。
要从 myexport1 示例导入 IBM Software Hub 数据:
cpd-cli export-import import create myimport1 \
--from-export=myexport1 \
--namespace=${PROJECT_CPD_INST_OPERANDS} \
--profile=${CPD_PROFILE_NAME} \
--arch=${CPU_ARCH}
要从调度的 myexport2 示例导入 IBM Software Hub 数据:
cpd-cli export-import import create myimport1 \
--from-schedule=myexport2 \
--namespace=${PROJECT_CPD_INST_OPERANDS} \
--profile=${CPD_PROFILE_NAME} \
--arch=${CPU_ARCH}
要检查 myimport1 作业是成功、失败还是仍处于活跃的进展过程中:
cpd-cli export-import import status myimport1 \
--namespace=${PROJECT_CPD_INST_OPERANDS} \
--profile=${CPD_PROFILE_NAME} \
--arch=${CPU_ARCH} \
正在停止 export-import 个作业
要删除 ${PROJECT_CPD_INST_OPERANDS} 名称空间中的 myexport1 作业,而不清除存储在卷中的导出数据:
cpd-cli export-import export delete myexport1 \
--namespace=${PROJECT_CPD_INST_OPERANDS} \
--profile=${CPD_PROFILE_NAME} \
--arch=${CPU_ARCH}
要删除 myexport1 作业并清除存储在 ${PROJECT_CPD_INST_OPERANDS} 项目的卷中的导出数据:
cpd-cli export-import export delete myexport1 \
--namespace=${PROJECT_CPD_INST_OPERANDS} \
--profile=${CPD_PROFILE_NAME} \
--arch=${CPU_ARCH} \
--purge
要删除已调度的 myexport2 作业并清除存储在 ${PROJECT_CPD_INST_OPERANDS} 项目的卷中的已导出数据:
cpd-cli export-import schedule-export delete myexport2 \
--namespace=${PROJECT_CPD_INST_OPERANDS} \
--profile=${CPD_PROFILE_NAME} \
--arch=${CPU_ARCH} \
--purge
要删除 myimport1 作业:
cpd-cli export-import import delete myimport1 \
--namespace=${PROJECT_CPD_INST_OPERANDS} \
--profile=${CPD_PROFILE_NAME} \
--arch=${CPU_ARCH}
要强制清除由 cpd-cli
export-import 创建的任何先前 k8s 资源并使用其他 PVC:
cpd-cli export-import reset \
--namespace=${PROJECT_CPD_INST_OPERANDS} \
--profile=${CPD_PROFILE_NAME} \
--arch=${CPU_ARCH} \
--force
cpd-cli export-import init \
--image-prefix=${PRIVATE_REGISTRY_LOCATION}/${PROJECT_CPD_INST_OPERANDS} \
--namespace=${PROJECT_CPD_INST_OPERANDS} \
--pvc-name=pvc2 \
--profile=${CPD_PROFILE_NAME} \
--arch=${CPU_ARCH}