集群备份

PolarDB-X Operator 从 1.3.0 版本开始支持全量备份恢复功能。本文介绍如何对 PolarDB-X 进行全量备份。

前置条件

  1. PolarDB-X Operator 升级到 1.3.0 及以上版本
  2. 完成备份存储方式配置,参见文档:备份存储配置

PolarDB-X企业版全量备份

下面介绍如何通过 PolarDBXBackup 对象为 PolarDB-X企业版 进行全量备份。

创建 PolarDBXBackup 对象

  1. 参照如下示例编写 pxc-backup.yaml 文件:
    apiVersion: polardbx.aliyun.com/v1  
    kind: PolarDBXBackup
    metadata:                   
     name: pxcbackup-test
    spec:
     cluster:
       name: polardbx-test             
     retentionTime: 240h
     storageProvider:
       storageName: sftp
       sink: default
     preferredBackupRole: follower
    

参数说明:

  • cluster.name: 待备份的目标 PolarDB-X 集群名称
  • retentionTime: 备份集保留时间,单位小时
  • storageProvider.storageName: 备份集存储方式,支持 sftp 和 oss
  • storageProvider.sink: 备份集存储配置的名称,对应备份存储配置中的 name 字段
  • preferredBackupRole( 该参数仅适用于 1.4.0 及后续版本 ): 进行备份的节点角色,可选择 followerleader,默认为 follower若使用 leader 发起备份,可能会对业务造成影响,请谨慎配置

2.使用下面的命令创建 PolarDBXBackup 对象,触发全量备份:

kubectl create -f pxc-backup.yaml

查看全量备份进度

下面介绍如何通过对于企业版PolarDB-X集群,您可以使用以下指令查看全量备份的进度:

kubectl get pxb

当进度中的PHASE变为Finished后备份即表示全量备份完成。

NAME             CLUSTER         START                  END                    RESTORE_TIME           PHASE      AGE
pxcbackup-test   polardbx-test   2022-10-21T04:56:38Z   2022-10-21T04:58:21Z   2022-10-21T04:57:23Z   Finished   4m15s

其中,进度里的RESTORE_TIME字段表示该备份集可以恢复到的最新的时间点。

注意事项

  • PolarDBXBackup 对象的metadata.name字段表示备份集的名称,多次构建备份集需要修改该字段

PolarDB-X标准版全量备份

如何通过 XStoreBackup 对象为 PolarDB-X标准版 进行全量备份。

创建 XStoreBackup 对象

  1. 参照如下示例编写 pxc-standard-backup.yaml 文件:
    apiVersion: polardbx.aliyun.com/v1  
    kind: XStoreBackup
    metadata:                   
    name: pxcstandard-backup-test
    spec:
    xstore:
     name: polardbx-standard-test             
    retentionTime: 240h
    storageProvider:
     storageName: sftp
     sink: default
    preferredBackupRole: follower
    

参数说明:

  • xstore.name: 待备份的目标 PolarDB-X标准版 集群名称
  • 其他字段和 PolarDBXBackup 一致

2.使用下面的命令创建 XStoreBackup 对象,触发全量备份:

kubectl create -f pxc-standard-backup.yaml

查看全量备份进度

对于标准版PolarDB-X集群,您可以使用以下指令查看全量备份的进度:

kubectl get xsb

当进度中的PHASE变为Finished后备份即表示全量备份完成。

NAME             CLUSTER         START                  END                    RESTORE_TIME           PHASE      AGE
pxcbackup-test   polardbx-test   2022-10-21T04:56:38Z   2022-10-21T04:58:21Z   2022-10-21T04:57:23Z   Finished   4m15s

其中,进度里的RESTORE_TIME字段表示该备份集可以恢复到的最新的时间点。

注意事项

  • XStoreBackup 对象的metadata.name字段表示备份集的名称,多次构建备份集需要修改该字段

备份集查阅

全量备份完成后,备份集存放在如下路径,您可以在 SFTP 配置的主机或者 OSS bucket 中查看对应的备份集文件。

企业版PolarDB-X集群:

{root_path}/polardbx-backup/{pxc_name}/{pxc_backup_name}-{timestamp}

标准版PolarDB-X集群:

{root_path}/xstore-backup/{xstore_name}/{xstore_backup_name}-{timestamp}
  • root_path取决于存储配置
    • 若采用sftp作为存储,则该值为sink.rootPath
    • 若采用oss作为存储,则该值为sink.bucket
  • polardbx-backup和xstore-backup为固定字段
  • pxc_name和xstore_name是待备份的集群的名字
  • pxc_backup_name和xstore_backup_name是备份集的名字
  • timestamp是备份开始的时间戳(UTC+0)

results matching ""

    No results matching ""