为应对数据丢失或损坏对用户业务造成不利影响,在异常情况下快速恢复系统,
GBase 8a MPP Cluster 提供专用的备份恢复工具(gcrcman),用户使用它可以方便地
对整个集群中的数据进行集群的备份和恢复。集群的备份、恢复工具随集群的安装
自动安装,该工具安装在$GCLUSTER_BASE/server/bin 目录下。 GBase 8a MPP
Cluster 根据用户业务的需要提供全量备份、增量备份和恢复功能。 GBase 8a MPP
Cluster 也支持与 hadoop 之间进行数据备份/恢复,将库内数据备份到 Hadoop 中,
或将 Hadoop 内数据文件恢复到库内。
| gcrcman.py [options] <-d|--path BACKUP_PATH> 2.backup level <0|1> backup instance |
说明:执行 gcrcman.py 命令时,必须是 Linux 中的 gbase 用户。
示例
| # su gbase |
一次全量备份开启一个新的周期。一次增量备份则续写最后一个备份周期,使其增
加一个备份点。
注意:
集群各项状态正常。
由于 gcrcman 需要与 gcware 有交互,因此,需要在 coordinator 上执行。
集群拓扑结构不能发生改变。拓扑结构包括, coordinator 节点, datanode 节
点,distribution, distribution 的各个 segment 与 datanode 的对应关系。
备份时,由于 gcrcman 工具运行节点获取当前时间作为备份点的备份时间,因
此集群务必保持各节点时间一致,才能保证在不同节点上进行持续备份。
备份时,需要使用 gbase 用户,执行 gcadmin switch mode readlonly,将集群设
置为只读状态,备份完毕后,执行 gcadmin switchmode normal,将集群恢复为
正常状态。
否则会报告错误信息,例如:
| gcrcman>backup level 0 |
备份时,程序连同数据库中所有的用户和它的密码同时备份,因此恢复时,也
是备份时的用户和密码,因此建议客户,备份前记录好集群中默认的 root 用户
的密码,以免恢复时忘记。
当集群进行了扩容或者缩容操作时,集群的结构会发生变化。因此,原先的备
份记录将会失效,无法完成恢复操作。正确的做法,就是在集群扩容、缩容后,
进行新的备份操作,这样的备份记录,可以进行数据的恢复。
集群各项状态正常。
由于 gcrcman 需要与 gcware 有交互,因此,需要在 coordinator 上执行。
集群拓扑结构不能发生改变。拓扑结构包括, coordinator 节点, datanode 节
点,distribution, distribution 的各个 segment 与 datanode 的对应关系。
恢复前的集群拓扑结构必须与备份时一致。
要使用数据恢复命令,必须保证集群处于 RECOVERY 模式:使用 gbase 用户,
执行 gcadmin switchmode recovery,将集群设置为恢复状态,即可启动集群备
份恢复命令,进行恢复操作。
对数据恢复后,需要切换到 root 用户,执行 gcluster_service gcware restart 命令
重启 gcware 服务。