备份/导出和还原 Transformation Advisor 数据
在安装配置中,如果将 persistence.enabled 值设置为 false ,那么数据将只存储在容器中,如果容器重新启动,数据将丢失。
Transformation Advisor 使用的持久卷应根据最佳实践进行备份。
备份/导出 Transformation Advisor 数据
选项 1:使用 Transformation Advisor 应用程序接口
对于 Transformation AdvisorRed Hat OpenShift 上,使用 Transformation Advisor API 是备份数据的最佳选择。 更多信息,请参阅通过 HTTP 端点导出和导入 Transformation Advisor 数据文档。 特别是,请参阅标题为 "为工作区导出所有 zip 文件 "的部分,其中介绍了批量导出 API。
选项 2: 保存数据目录
保存以下数据目录 Transformation Advisor 本地
对于 Transformation Advisor 对于本地安装,保存数据目录是备份数据的最佳选择。 您也可以使用 Transformation Advisor API 备份本地安装的数据,但保存数据目录可能更方便。 转到 Transformation Advisor 安装本地程序的位置。 找到 data 和 graph_data 目录,并将其复制到所需的备份位置。 您还需要复制 .neo4j_pass 文件。
cp -a <some location>/data <backup location>/data
cp -a <some location>/graph_data <backup location>/graph_data
cp -a <some location>/scripts/.neo4j_pass <backup location>/scripts/
为 Transformation Advisor 上 Red Hat OpenShift
不建议直接备份或恢复 上的数据目录。 Transformation AdvisorRed Hat OpenShift 的数据目录。
恢复/导入 Transformation Advisor 数据
使用 Transformation Advisor 应用程序接口
如果您以前使用 Transformation Advisor API 备份数据,则应使用该 API 将数据导入或恢复到 Transformation Advisor. 有关该选项的更多详情,请参阅通过 HTTP 端点导出和导入 Transformation Advisor 数据。
复原数据目录
恢复以下数据目录 Transformation Advisor 本地
- cd 到 Transformation Advisor 本地(已下载的 Transformation Advisor 下载的压缩包)
- 将数据恢复到新位置:
cp -a <backup location>/data .cp -a <backup location>/graph_data .cp -a <backup location>/scripts/.neo4j_pass scripts/
- 在新位置安装 Transformation Advisor :
./launch.sh- 接受许可协议。
- 选择选项 1(安装)。
恢复 Transformation Advisor 上的 Red Hat OpenShift
不建议直接备份或恢复 上的数据目录。 Transformation AdvisorRed Hat OpenShift 的数据目录。
回滚到 Transformation Advisor
当回滚到先前版本的 Transformation Advisor 时,必须使用与该版本兼容的数据。 Transformation Advisor 不会自动为旧版本转换较新的数据。 例如:
- 安装 Transformation Advisor3.0.0
- 备份数据 3.0.0
- 升级至 3.1.0
- 备份数据 3.1.0
- 滚回 3.0.0
在这种情况下,您必须使用最初从 Transformation Advisor3.0.0. 您不能使用 3.1.0 中的备份。
高级备份和复原选项
仅当使用其他备份和复原选项失败时,才应使用以下高级选项。
保留 PersistentVolumeClaim
您可以卸载 Transformation Advisor 但也可以保留其使用的 PersistentVolumeClaim 。 此过程在以下场景中很有用:
- 如果你想卸载一个版本的 Transformation Advisor 并安装新版本,但又想轻松恢复到旧版本。 从 2.5.x 转到 3.0.x 时建议使用此方法。
- 如果您想在版本升级时保留数据 Transformation Advisor 版本升级时保留数据(例如,从 2.3.x 升级到 2.4.x 时)。 从 2.5.x 到 3.0.x 时,这种方法不会保留数据。
这种方法的局限性在于,只能在最初使用的同一命名空间中重复使用 PersistentVolumeClaim 。
PersistentVolumeClaim 是在安装过程中自动创建的,则应使用此步骤。 Transformation Advisor 安装的一部分。 如果安装使用的是手动创建的 PersistentVolumeClaim ,则可能不需要以下步骤。 在 PersistentVolumeClaim 上运行以下命令kubectl get pvc <my-pvc-name> -n <ta-namespace> -o yaml | grep ownerReferences
如果该命令没有显示 ownerReferences ,则不需要此步骤;您可以删除 Transformation Advisor 就可以保留 PersistentVolumeClaim 。 务必事先备份数据。
要保存 PersistentVolumeClaim ,请按照以下步骤操作:
删除 Transformation Advisor
subscription和clusterserviceversion。 这也删除了操作员。 将<ta-namespace>替换为安装所在的实际命名空间。export subscription=$(kubectl get subscription --no-headers -n <ta-namespace> | awk '{print $1}') kubectl delete subscription ${subscription} -n <ta-namespace> >/dev/null 2>&1 export csv=$(kubectl get csv --no-headers -n <ta-namespace> | awk '{print $1}') kubectl delete csv ${csv} -n <ta-namespace>等待操作员舱消失。
oc get pods,直到ta-operator-XXX消失。将
PersistentVolumeClaim从 Transformation Advisor 实例中删除,同时保留声明。export pvc_name=$(oc get deployment -n <ta-namespace> | grep couchdb | awk '{print$1}') kubectl patch pvc ${pvc_name} -n <ta-namespace> --type=json -p='[{"op": "remove", "path": "/metadata/ownerReferences"}]'删除 Transformation Advisor 实例。
# Run this command in the background using '&' kubectl delete transadvs.charts.ta.cloud.ibm.com/ta -n <ta-namespace> & kubectl patch transadvs.charts.ta.cloud.ibm.com/ta -p '{"metadata":{"finalizers":[]}}' --type=merge -n <ta-namespace>直到命名空间中的所有 pod 都消失。
取下
CustomResourceDefinition。# Run this command in the background using '&' kubectl delete crd/transadvs.charts.ta.cloud.ibm.com & kubectl patch crd/transadvs.charts.ta.cloud.ibm.com -n <ta-namespace> -p '{"metadata":{"finalizers":[]}}' --type=merge清理命名空间中的其他 Transformation Advisor 命名空间中的其他资源。
kubectl delete secret transformation-advisor-secret -n <ta-namespace> export operator_group=$(oc get operatorgroup -n <ta-namespace> --no-headers | awk '{print $1}') kubectl delete operatorgroup ${operator_group} -n <ta-namespace> kubectl delete clusterrolebinding <ta-namespace>-cluster-admin -n <ta-namespace>;重复使用保留的
PersistentVolumeClaim时,请参阅配置存储和安装了解配置详情。如果通过 OpenShift UI 安装,请确保持久性属性与保留声明相匹配(例如,相同的
accessMode)。... persistence: enabled: true accessMode: "ReadWriteOnce" size: 8Gi useDynamicProvisioning: true existingClaim: "<my-ta-pvc>" storageClassName: "" supplementalGroups: [] ...如果使用 CASE 安装程序安装,请使用
--persistenceClaim <my-ta-pvc>指定现有的权利要求。
可选: 安装新版本的 Transformation Advisor 后,可将
PersistentVolumeClaim附加到新实例。 这样就恢复了默认行为,即删除实例也会删除其权利要求。export uid=$(oc get transadvs.ta.ibm.com/ta -o yaml -n <ta-namespace> | grep uid | awk 'NR==1{print$2}') kubectl patch pvc <my-ta-pvc> --type=json -p='[{"op": "add", "path": "/metadata/ownerReferences", "value": [{"apiVersion": "ta.ibm.com/v1", "blockOwnerDeletion": true, "controller": true, "kind": "TransAdv", "name": "ta", "uid": "'${uid}'"}]}]'
恢复点 目标
最重要的 Transformation Advisor 最重要的数据是数据收集过程中产生的档案。 Transformation Advisor 数据收集。 这些存档应根据贵组织的政策进行备份和保留。
唯一不能从原始数据收集档案中恢复的数据是
- 手动创建的应用程序组
- 对集合名称的修改
数据加载到应用程序后,就可以使用应用程序接口检索和备份数据。 bulkExport API 会返回一个包含所有 Transformation Advisor 数据(包括对组、工作区和集合所做的修改)。 可以使用 bulkImport API 将该存档导入到新的安装中。
建议使用 bulkExport API 进行定期备份。 此外,您也可以定期备份数据库(请参阅备份选项 )。
决定恢复点目标时要考虑以下因素:
- 将新数据上传到 Transformation Advisor
- 修改上传数据的频率和数量(创建、编辑或删除组;编辑工作区或集合名称)
- 提供原始数据收集档案的备份 Transformation Advisor 数据收集档案