配置分析数据库备份

配置分析子系统的调度数据库备份。

准备工作

您必须具有可用于存储备份的 PV。 如果在安装期间未对此进行配置,请立即对其进行配置:
  1. 打开分析 CR 以进行编辑。
    • 在 Kubernetes 和 OpenShift 个别子系统安装上,直接编辑分析 CR:
      kubectl edit a7s
    • Cloud Pak for Integration 和 OpenShift 顶级 CR 安装上,编辑 APIConnectCluster CR:
      kubectl edit APIConnectCluster
  2. spec.storage 部分中添加 backup.volumeClaimTemplate 部分以定义本地备份 PVC。 例如:
    spec:
      storage:
        backup:
          volumeClaimTemplate:
            storageClassName: <storage class name>
            volumeSize: <size>
    其中:
    • <存储类名称> 是分析 PVC 使用的存储类,请参阅存储类。
    • <size> 是您根据环境计算出的备份大小。 例如: 500Gi。 500Gi. 请参见估算存储需求

    Cloud Pak for Integration 和 OpenShift 顶级 CR 安装上,将 backup.volumeClaimTemplate 添加到 spec.analytics.storage

过程

  1. 为对象存储库或远程 SFTP 服务器创建分析备份私钥。

    如果要将备份存储在对象存储库中并使用访问密钥和私钥,请遵循对象存储库提供程序的文档以获取访问密钥和私钥。 一些公共对象库提供程序的文档链接:

    创建名为 analytics-backup-secret 的 Kubernetes 私钥,该私钥在与分析子系统相同的名称空间中包含远程 SFTP 或对象存储凭证:
    • 对象存储:
      kubectl -n <namespace> create secret generic analytics-backup-secret --from-literal=access_key='<your access key>' --from-literal=secret_key='<your access secret>'
      kubectl -n <namespace> create secret generic analytics-backup-secret --from-literal=username='<username>' --from-literal=password='<password>'
    • SFTP 服务器:
      kubectl -n <namespace> create secret generic analytics-backup-secret --from-literal=username='<username>' --from-literal=password='<password>'
    如果对象存储或远程 SFTP 服务器凭证发生更改,请通过删除并按如下所示重新创建来更新 analytics-backup-secret :
    1. 删除 analytics-backup-secret:
      kubectl -n <namespace> delete secret analytics-backup-secret
    2. 使用新凭证重新创建 analytics-backup-secret
  2. 打开分析 CR 以进行编辑。
    在 Kubernetes 和 OpenShift 个别子系统安装上,直接编辑分析 CR:
    kubectl edit a7s
    Cloud Pak for Integration 和 OpenShift 顶级 CR 安装上,编辑 APIConnectCluster CR:
    kubectl edit APIConnectCluster
  3. 添加 databaseBackup 配置。
    在 Kubernetes 和 OpenShift 各个子系统安装上,将 databaseBackup 添加到分析 CR 的 spec 部分。 在 Cloud Pak for Integration 和 OpenShift 顶级 CR 安装上,将 databaseBackup 添加到 APIConnectCluster CR 的 spec.analytics 部分。
    
      databaseBackup:
        enabled: [true|false]
        protocol: [local|sftp|objstore]
        scope: [default|all]
        credentials: analytics-backup-secret
        host: <remote backup site hostname>
        port: <remote backup site port>
        path: <remote backup site path>
        backups3URIStyle: [host|path]
        backupCerts: <object-store server CA secret>
        schedule: <cron formatted schedule> # "0 2 * * *"
    其中:
    • enabled: 设置为 true 以启用备份。 设置为 false 以禁用。
    • protocol: 远程备份站点的类型, objstoresftp

      如果您没有远程备份站点,请设置为 local

    • scope: 设置为 all 以包含所有分析数据,或者设置为 default 以仅备份摘要数据和共享查询。

      要估算分析数据的大小,请参阅估算存储需求

    • host: 是远程 SFTP 服务器或对象存储端点的主机名。
      如果您正在使用对象库,那么此属性必须包含相应的区域。 示例:
      • FQDN 中提供的区域:
        s3.s3region.s3domain
      • 路径中提供的区域:
        s3.s3domain/s3region
      • 如果端点没有区域:
        s3.s3domain
    • path:
      • 如果使用了 object-store ,那么此属性是 object-store 存储区与存储区中的基本路径的组合。 请使用以下格式: bucket_name/path
      • 如果使用远程 SFTP 服务器,那么此属性是存储备份的目录。
    • backups3URIStyle: 如果使用了 object-store ,那么此属性定义路径样式,设置为 hostpath
    • backupCerts: 如果使用了 object-store ,那么此属性是包含您的 object-store 服务器证书的私钥的名称。

      只有当对象存储具有自签名根证书时,才需要此属性,请参阅创建对象存储 CA 证书。 如果对象库服务器没有自签名根证书,那么可以省略此行。

    • schedule: 将备份复制到远程 SFTP 服务器或对象存储库时的 cron 调度。

      此属性不控制何时执行备份。 本地备份是在每小时 55 分钟后执行的,此属性定义用于将最新本地备份传输到远程 SFTP 服务器或对象存储库的调度。 调度的格式是任何有效的 cron 字符串。 备份的时区是 kube-controller-manager的时区。

      请勿将调度设置为超过每小时一次的频率。

后续操作

在分析 CR 中配置好备份设置后,进行新的配置备份 ,捕捉更新的 CR 设置和备份机密。