准备备份 Cloud Pak for Data 使用 IBM Storage Fusion
升级至 IBM Software Hub 版本 5.1 ,在 4.8 版本达到支持 IBM Cloud Pak for Data 终止前完成升级。 有关更多信息,请参阅从 IBM Cloud Pak for Data 版本 4.8 升级到 IBM 的说明: Software Hub 版本 5.1。
在创建. IBM Cloud Pak for Data的在线备份之前,请先完成各项必要准备工作。 某些任务是服务专属的,仅需在安装相应服务时执行。
设置客户端工作站
- Red Hat® OpenShift® 命令行界面 (
oc) - Cloud Pak for Data 命令行界面 (
cpd-cli)注意: 请安装与您当前使用的版本 Cloud Pak for Data 相对应的版本 cpd-cli 。
有关更多信息,请参阅设置客户端工作站。
在源集群上安装所需软件
在源集群上安装以下软件:
- IBM® Storage Fusion 版本 2.6.1 或更高版本的修复程序、 版本 2.7.2 带最新热修复程序或更高版本的修复程序 ,或版本 2.8.0 带最新热修复程序或更高版本的修复程序。
- cpdbr 集成 IBM Storage Fusion 服务
资源 cpdbr 的版本必须与 Cloud Pak for Data 版本匹配。 例如,若您从 4.7.4 版本升级 4.8.0Cloud Pak for Data 至,则必须同时将 cpdbr 服务升级至版本 4.8.0。
请执行以下步骤检查资源 cpdbr 的版本:
- 以 Red Hat OpenShift Container Platform 集群管理员身份登录。
${OC_LOGIN}请记住:OC_LOGIN是一个别名,代表 命令oc login。 - 通过运行以下命令检查 cpdbr oadp 版本:
oc get po -l component=cpdbr-tenant,icpdsupport/app=br-service -n ${PROJECT_CPD_INST_OPERATORS} -o jsonpath='{.items[0].spec.containers[0].image}'示例输出如下所示:icr.io/cpopen/cpd/cpdbr-oadp:4.8.0-x86_64 - 若您正在使用 Cloud Pak for Data4.8.5 ,请通过执行以下命令检查 备份 Cloud Pak for Data 与 IBM Storage Fusion 恢复方案的版本:
oc get -n ${PROJECT_CPD_INST_OPERATORS} frcpe ibmcpd-tenant -o jsonpath={'.metadata.labels.icpdsupport/version'}
创建卷快照类
要为 PersistentVolumeClaim (PVC)卷备份快照,需要一个卷快照类。 如果所使用的 (CSI) Container Storage Interface 驱动程序未包含该组件,则必须自行创建。 有关创建卷快照类的详细信息, 请参阅创建卷快照类。
删除与 ConfigMapsMongoDB相关的
oc delete cm zen-cs-aux-br-cmoc delete cm zen-cs-aux-ckpt-cmoc delete cm zen-cs-aux-qu-cmoc delete cm zen-cs2-aux-ckpt-cm清理 MongoDB 资源
若您已将系统从 4.8.0Cloud Pak for Data - 4.8.4 升级至 4.8.5 - 4.8.7 ,则必须在创建备份前清除残留 MongoDB 资源。 请执行以下步骤:
- 以 Red Hat OpenShift Container Platform 集群管理员身份登录。
${OC_LOGIN}请记住:OC_LOGIN是一个别名,代表 命令oc login。 - 编辑自定义 authentication.operator.ibm.com 资源:
oc edit authentication.operator.ibm.com -n ${PROJECT_CPD_INST_OPERANDS} - 将注释
authentication.operator.ibm.com/retain-migration-artifacts更改为false。
更新许可证 EDB Postgres 提供商映像引用
- 该集群可连接到互联网
postgresImage=$(oc get cm cloud-native-postgresql-image-list -n ${PROJECT_CPD_INST_OPERATORS} -o jsonpath='{.data.edb-postgres-license-provider-image}') newPostgresImage=$(echo $postgresImage | sed -e 's/c9660f09a003178b13830fc260519c8d2e054ee8312e3cd1273d88d8d1acb759/c1670e7dd93c1e65a6659ece644e44aa5c2150809ac1089e2fd6be37dceae4ce/') eval $(echo "oc patch cm cloud-native-postgresql-image-list -n ${PROJECT_CPD_INST_OPERATORS} --type merge -p '{\"data\": {\"edb-postgres-license-provider-image\": \"${newPostgresImage}\"}}'") oc label cm cloud-native-postgresql-image-list -n ${PROJECT_CPD_INST_OPERATORS} app=cpd-operators-backup- 该集群从私有容器注册表中拉取镜像
postgresImage=$(oc get cm cloud-native-postgresql-image-list -n ${PROJECT_CPD_INST_OPERATORS} -o jsonpath='{.data.edb-postgres-license-provider-image}') newPostgresImage=$(echo $postgresImage | sed -e "s/cp.icr.io\/cp\/cpd/${PRIVATE_REGISTRY}/") eval $(echo "oc patch cm cloud-native-postgresql-image-list -n ${PROJECT_CPD_INST_OPERATORS} --type merge -p '{\"data\": {\"edb-postgres-license-provider-image\": \"${newPostgresImage}\"}}'") oc label cm cloud-native-postgresql-image-list -n ${PROJECT_CPD_INST_OPERATORS} app=cpd-operators-backup
添加 Identity Management Service 资源
4.8.0 - 4.8.4 若您已升级至 Cloud Pak for Data 4.8.0 - 4.8.4 并随后与 集成,请 Identity Management Service在创建备份前运行 备份与还原 Identity Management Service 脚本。 有关更多信息,请参阅 《还原后 Identity Management Service 数据丢失》。
在使用 IBM Storage Scale Container Native 存储时,扩展小于 5Gi 的PVC
如果您的 Cloud Pak for Data 部署使用了 IBM Storage Scale Container Native 存储,请将小于 5Gi 的持久卷声明(PVC)扩展至至少该容量,以确保备份恢复成功。 有关扩展PVC的详细信息,请参阅文档 IBM Storage Scale Container Storage Interface Driver 中的 《体积扩展》 章节。
正在准备 IBM Storage Fusion
- 将其中一个集群设置为备份和恢复 IBM Storage Fusion 中心。
- (仅修复 2.6.1 及更高版本 )通过增加 和 restoreDatamoverTimeout backupDatamoverTimeout 参数值,分别防止事务管理器终止长期运行的备份作业和还原作业。
- (仅修复 2.6.1 及更高版本 )通过增加参数值 cancelJobAfter 防止作业管理器取消长时间运行的作业。
- 若发生问题,可通过调整日志记录级别来
DEBUG捕获更多日志信息。
- 在 IBM Storage Fusion中,打开 “服务 ”页面,然后单击 “备份和还原 ”磁贴。
- 在 “安装服务 ”窗口中,选择要用于部署服务的存储类别(RWO)。
该项目 ibm-backup-restore (命名空间)在集群上创建,服务安装在该项目中。
- 通过单击 ”,并检查集线器的 “服务状态 ”列,验证集线器是否处于健康状态。
- 若您使用的是 2.6.1IBM Storage Fusion 或更高版本的修复程序,请执行以下步骤。注意: 若您使用的是 IBM Storage Fusion2.7.2 或更高版本,则无需执行这些步骤。
- 在该项目
ibm-backup-restore中,编辑配置 guardian-configmap 映射。 - 将 backupDatamoverTimeout 和 restoreDatamoverTimeout 参数值增加至240分钟。
- 在该项目 ibm-backup-restore 中,编辑部署 job-manager 配置。
- 在环境设置中,将 cancelJobAfter 参数值修改为14400000毫秒(4小时)。
- 在该项目
检查操作员 Cloud Pak for Data 申请 IBM Storage Fusion 的内容
请确认 Cloud Pak for Data 操作员的应用程序 IBM Storage Fusion 自定义资源包含以下信息:
- 所有属于该 Cloud Pak for Data 实例的项目(命名空间),包括:
- 操作符 Cloud Pak for Data 项目(
${PROJECT_CPD_INST_OPERATORS})。 - 操作数 Cloud Pak for Data 项目(
${PROJECT_CPD_INST_OPERANDS})。 - 所有已存在的系绳项目。
- 操作符 Cloud Pak for Data 项目(
- 该
PARENT_NAMESPACE变量被设置为${PROJECT_CPD_INST_OPERATORS}。
请执行以下步骤:
- 以 Red Hat OpenShift Container Platform 集群管理员身份登录。
${OC_LOGIN}请记住:OC_LOGIN是一个别名,代表 命令oc login。 - 设置
PROJECT_FUSION环境变量:export PROJECT_FUSION=ibm-spectrum-fusion-ns - 要获取属于该 Cloud Pak for Data 实例的所有项目的列表,请运行以下命令:
oc get -n ${PROJECT_FUSION} applications.application.isf.ibm.com ${PROJECT_CPD_INST_OPERATORS} -o jsonpath={'.spec.includedNamespaces'} - 要获取该
PARENT_NAMESPACE变量,请运行以下命令:oc get -n ${PROJECT_FUSION} applications.application.isf.ibm.com ${PROJECT_CPD_INST_OPERATORS} -o jsonpath={'.spec.variables'}
检查每个 PostgreSQL 集群的主实例是否与其副本保持同步
用于 Cloud Native PostgreSQL 和 EDB Postgres 集群的副本偶尔会与主节点出现不同步的情况。 有关诊断和修复此问题的信息,请参阅 PostgreSQL 群集副本出现不同步的情况。
准备 Watson Speech services
4.8.3 本节仅适用于 Cloud Pak for Data 4.8.3。
若您先前创建过备份,则可能仍存在该备份的任务。 如果该作业仍然存在,请在执行下一次备份前将其移除。 运行以下命令:
oc delete job speech-cr-s3-backup -n ${PROJECT_CPD_INST_OPERANDS}
准备 watsonx Assistant
若您是从先前版本升级 Cloud Pak for Data 而来,则在执行备份前必须移除持久卷声明(PVC PostgreSQL )上的某些标签。 请执行以下步骤:
- 以 Red Hat OpenShift Container Platform 集群管理员身份登录。
${OC_LOGIN}请记住:OC_LOGIN是一个别名,代表 命令oc login。 - 设置实例 watsonx Assistant 名称和 Cloud Pak for Data 实例项目(命名空间)环境变量:
export INSTANCE=<watsonx Assistant instance name> export NAMESPACE=<Cloud Pak for Data namespace> - 移除标签:
for pvc in $(oc get pvc -n $NAMESPACE -l app=$INSTANCE-postgres -o jsonpath='{.items[*].metadata.name}'); do if [ "X$(oc get pvc $pvc -o jsonpath='{.metadata.labels.velero\.io/exclude-from-backup}' -n $NAMESPACE)" != "X" ]; then oc patch pvc $pvc -p '{"metadata": {"labels": {"velero.io/exclude-from-backup": null}}}' -n $NAMESPACE echo "Label 'velero.io/exclude-from-backup' removed for PVC: $pvc" else echo "Label 'velero.io/exclude-from-backup' not found for PVC: $pvc" fi if [ "X$(oc get pvc $pvc -o jsonpath='{.metadata.labels.icpdsupport/empty-on-nd-backup}' -n $NAMESPACE)" != "X" ]; then oc patch pvc $pvc -p '{"metadata": {"labels": {"icpdsupport/empty-on-nd-backup": null}}}' -n $NAMESPACE echo "Label 'icpdsupport/empty-on-nd-backup' removed for PVC: $pvc" else echo "Label 'icpdsupport/empty-on-nd-backup' not found for PVC: $pvc" fi done
准备 watsonx Orchestrate®
4.8.5 创建一个 PersistentVolumeClaim (PVC)来存储 MongoDB 备份。
cat <<EOF | oc apply -f -
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: pvc-wo-mongo-backups
namespace: ${PROJECT_CPD_INST_OPERANDS}
spec:
storageClassName: ocs-storagecluster-ceph-rbd
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 10Gi
EOF
检查已安装服务的状态
确保所有已安装服务的状态均为已完成。 执行以下步骤。
- 登录
cpd-cli到集群 Red Hat OpenShift Container Platform :${CPDM_OC_LOGIN}请记住:CPDM_OC_LOGIN是一个别名,代表 命令cpd-cli manage login-to-ocp。 - 运行以下命令以获取所有服务的状态。
cpd-cli manage get-cr-status \ --cpd_instance_ns=${PROJECT_CPD_INST_OPERANDS}
单独备份不支持在线备份的服务
对于不支持在线备份的服务,请在备份 Cloud Pak for Data 实例之前,使用其专属的备份流程单独备份这些服务。 有关不支持在线备份的服务的更多信息,请参阅支持备份和还原的服务。