集群备份
PolarDB-X Operator 从 1.3.0 版本开始支持全量备份恢复功能。本文介绍如何对 PolarDB-X 进行全量备份。
前置条件
- PolarDB-X Operator 升级到 1.3.0 及以上版本
- 完成备份存储方式配置,参见文档:备份存储配置
PolarDB-X企业版全量备份
下面介绍如何通过 PolarDBXBackup 对象为 PolarDB-X企业版 进行全量备份。
创建 PolarDBXBackup 对象
- 参照如下示例编写 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 和 s3
- storageProvider.sink: 备份集存储配置的名称,对应备份存储配置中的 name 字段
- preferredBackupRole( 该参数仅适用于 1.4.0 及后续版本 ): 进行备份的节点角色,可选择
follower
和leader
,默认为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 对象
- 参照如下示例编写 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)