GBase 8a
备份恢复
文章

南大通用GBase 8a备份恢复

王改变
发表于2025-05-17 09:07:39461次浏览0个评论

备份的场景

在生产环境中,为了保证数据的安全性,防止误操作删库表以及其他不定因素导致的数据丢失,定期进行备份是不可或缺的一项功能,为了最大化提升备份的性能,gbase8a采用了节点本地备份的方式,即每个节点将自己节点上存储的数据备份到本地磁盘的某个位置,该磁盘位置也可以是用户挂载的磁盘。

备份工具介绍

gcrcman

GBase 8a MPP Cluster 提供专用的备份恢复工具(gcrcman),用户使用它可以方便地对整个集群中的数据进行备份和恢复。集群的备份、恢复工具随集群的安装自动安装,该工具被安装在安装目录$GCLUSTER_BASE/server/bin 下。一次全量备份开启一个新的周期。一次增量备份则续写最后一个备份周期,使其增加一个备份点。

支持的备份类型有:集群备份、库级备份、表级备份、批量表备份

支持的恢复类型有:集群恢复、库级恢复、表级恢复、批量表恢复

支持的备份对象:

数据库对象集群级库级表级
表元数据支持支持支持
表数据支持支持支持
表索引支持支持支持
存储过程支持不支持不支持
视图支持支持不支持
UDF不支持不支持不支持
镜像表不支持不支持不支持
表空间支持支持不支持

备份步骤

1.检查集群状态,保障所有节点状态正常

gcadmin显示所有服务状态为OPEN,datastate为0

2.配置各节点gbase用户免密

若未配置免密,则执行备份命令时需要指定操作系统密码 -P参数,并保证各节点密码一致

3.在所有节点创建备份目录

可以是本地目录,也可以在挂载远程目录3

4.执行备份命令

表级备份恢复

1.在集群所有节点状态备份目录

2.查看原表数据

3.执行备份命令

4.删除原表

5.执行恢复命令

6.执行refresh table

批量表级备份

1.将所有需要备份的表写入文件table.list中,格式为db.table

2.执行批量备份

备份恢复需注意如下问题:

  1. 执行 gcrcman.py 命令时,必须是安装数据库时指定的 dbauser。
  2. 需要在 coordinator 节点上执行备份恢复操作,执行备份恢复操作时集群各节点网络连接正常。
  3. 执行 gcrcman.py 命令,需要确定操作系统已安装 pexpect 包。默认安装包gcinstall下有pexpect.py,将该文件复制到所有管理节点的$GCLUSTER_BASE/server/bin 下即可
  4. 在执行备份恢复的过程中,集群的各个节点上,必须都存在 gcrcman.py 中参数 path 指定的路径,集群安装用户 dbauser 用户对该路径具备读写操作权限,且在执行过程中该目录一直存在。
  5. 不要将$GCLUSTER_BASE、$GBASE_BASE、$GCWARE_BASE 这三个目录及其子目录设置为 path 的路径。
  6. 执行备份恢复操作时,恢复时需要和备份时集群的拓扑结构相同,包括管理节点、数据节点、数据的 distribution 信息等。
  7. 恢复时如果不指定周期点,则默认恢复到最新的周期

评论

登录后才可以发表评论