polardbxoperatordocs/ops/backup-restore/3-cluster-restore.md

96 lines
3.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

集群恢复
======
PolarDB-X Operator 从 1.3.0 版本开始支持全量备份恢复功能。本文介绍如何通过已有的备份集恢复出 PolarDB-X 集群。
## 恢复 PolarDB-X 集群
PolarDB-X 备份集恢复支持两种方式:
* 指定备份集对象进行恢复
* 指定备份集文件进行恢复
### 指定备份集对象进行恢复
这一种方式必须确保备份集对应的`PolarDBXBackup`对象仍然留存在K8S集群中并且保证远程存储中仍然保存着备份文件。
```yaml
apiVersion: polardbx.aliyun.com/v1
kind: PolarDBXCluster
metadata:
name: pxc-restore
spec:
topology:
nodes:
cn:
template:
image: polardbx/polardbx-sql:latest
dn:
template:
image: polardbx/polardbx-engine:latest
restore:
backupset: pxcbackup-test
syncSpecWithOriginalCluster: false
```
参数说明
* topology: 实例规格,可参照[实例创建](../lifecycle/1-create.md)
* restore.backupset: 备份集(备份对象)名称
* restore.syncSpecWithOriginalCluster( 该参数仅适用于 1.4.0 及后续版本 ): 是否保持实例规格和原实例一致,默认取值为`false`,不保持一致;**目前不支持集群异构恢复,这意味着数据节点数会强制与原实例保持一致**
### 指定备份集文件进行恢复
这一种恢复方式仅支持 1.4.0 版本以后产出的备份集,只须保证远程存储中仍然保存着备份文件即可。
```yaml
apiVersion: polardbx.aliyun.com/v1
kind: PolarDBXCluster
metadata:
name: pxc-restore
spec:
topology:
nodes:
cn:
template:
image: polardbx/polardbx-sql:latest
dn:
template:
image: polardbx/polardbx-engine:latest
restore:
from:
backupSetPath: /polardbx/backup/pxcbackup-test
storageProvider:
storageName: sftp
sink: default
syncSpecWithOriginalCluster: false
```
参数说明
* topology: 实例规格,可参照[实例创建](../lifecycle/1-create.md)
* restore.from.backupSetPath: 备份集的远程存储路径
* restore.storageProvider: 备份使用的存储配置,可参照[集群备份](./2-cluster-backup.md)
* restore.syncSpecWithOriginalCluster( 该参数仅适用于 1.4.0 及后续版本 ): 是否保持实例规格和原实例一致,默认取值为`false`,不保持一致;**目前不支持集群异构恢复,这意味着数据节点数会强制与原实例保持一致**
参照上述示例编写恢复用的yaml文件这里需要注意指定创建方式是`restore`,通过以下命令进行恢复:
```bash
kubectl apply -f pxc-restore.yaml
```
可通过以下命令观察恢复进度:
```bash
kubectl get pxc
```
当状态中的`PHASE`变为`RUNNING`后整个恢复流程就完成了
```bash
NAME GMS CN DN CDC PHASE DISK AGE
pxc-restore 1/1 1/1 2/2 1/1 Running 20.3 GiB 22m
```
## 注意事项
- 快速的恢复操作只需在yaml文件中指定希望使用的镜像即可否则将会使用默认的镜像更多的规格配置可以参考[集群创建](../lifecycle/1-create.md)
- 目前的恢复功能只支持同构恢复,暂不支持节点数量的变更