GBase 8a
备份恢复
文章

gbase实例级全量增量备份恢复

发表于2024-03-15 21:06:49202次浏览0个评论

1.全量备份    语法格式:backup level < 0 | 1 >  
先创建测试库与测试表
create database text;
create table text.t1 (id int,text_id varchar(50));

2.设置集群内所有 vc 的状态为 readonly:
(若没有VC则设置集群为只读状态 readonly)    

gcadmin switchmode readonly vc vc1

gcadmin switchmode readonly vc vc2  
 
同时所有节点创建备份目录
mkdir -p /home/gbase/backup

3.使用交互模式进行全备    
python $GCLUSTER_BASE/server/bin/gcrcman.py -d /home/gbase/backup -P gbase -p gbase
gcrcman>backup level 0
08.07 17:24:34 BackUp start -------------------------------------------- 
08.07 17:24:34 node (172.168.83.11) backup begin 
08.07 17:24:34 node (172.168.83.12) backup begin 
08.07 17:25:17 BackUp end    

-d 指定备份需要的目录,需要有数据库权限;
-p默认为数据库gbase用户的密码 需要输入gbase用户的密码;
-P指定操作系统用户gbase密码;

备份完成可以删除测试库进行恢复测试  ---交互模式内show backup 可以查看cycle_id 和 point_id
语法格式
recover [<cycle_id> [point_id]]

集群或者VC设置为恢复状态    
gcadmin switchmode recovery vc vc1
gcadmin switchmode recovery vc vc2
1.对集群得备份数据进行恢复,恢复到最新周期得最近备份点
python $GCLUSTER_BASE/server/bin/gcrcman.py -d /home/gbase/backup -P gbasedba -e "recover"
2.对集群得备份数据进行恢复,恢复集群的第二个备份周期的最新备份点
python $GCLUSTER_BASE/server/bin/gcrcman.py -d /home/gbase/backup -P gbasedba -e "recover 1"
3.对集群得备份数据进行恢复,恢复集群的第三个备份周期的第二个备份点
python $GCLUSTER_BASE/server/bin/gcrcman.py -d /home/gbase/backup -P gbasedba -e "recover 2 1"    
recover 命令有以下三种形式:
recover:将集群恢复到最新周期的最新备份点。
recover cycle_id:将集群恢复到指定周期 cycle_id 内的最新备份点。
recover cycle_id point_id:将集群恢复到指定周期 cycle_id 内的指定备份点point_id。


4.使用交互模式进行增备(也可以选择不增备份 0全量备份  1增量备份 增备之前需要全备)    
gcrcman>backup level 1
08.07 19:28:53 check cluster topology begin
08.07 19:28:53 node (172.168.83.11) check topology begin 
08.07 19:28:56 node (172.168.83.11) check topology success 
08.07 19:28:56 check cluster topology end
08.07 19:28:56 BackUp start --------------------------------------------
08.07 19:28:56 node (172.168.83.11) backup begin 08.07 19:28:56 node (172.168.83.12) backup begin
08.07 19:29:31 node (172.168.83.14) backup success --------------------------------------------08.07 19:29:31 BackUp end
   
5.备份完成后设置集群状态为 normal
(若没有VC则设置集群状态为 normal)    
gcadmin switchmode normal vc vc1
gcadmin switchmode normal vc vc2    

6.恢复
增备恢复与全备恢复一样,进入交互模式确认[<cycle_id> [point_id]]之后将集群模式改为recovery,开始恢复
1.对集群得备份数据进行恢复,恢复到最新周期得最近备份点
python $GCLUSTER_BASE/server/bin/gcrcman.py -d /home/gbase/backup -P gbasedba -e "recover"
2.对集群得备份数据进行恢复,恢复集群的第二个备份周期的最新备份点
python $GCLUSTER_BASE/server/bin/gcrcman.py -d /home/gbase/backup -P gbasedba -e "recover 1"
3.对集群得备份数据进行恢复,恢复集群的第三个备份周期的第二个备份点
python $GCLUSTER_BASE/server/bin/gcrcman.py -d /home/gbase/backup -P gbasedba -e "recover 2 1"    
recover 命令有以下三种形式:
recover:将集群恢复到最新周期的最新备份点。
recover cycle_id:将集群恢复到指定周期 cycle_id 内的最新备份点。
recover cycle_id point_id:将集群恢复到指定周期 cycle_id 内的指定备份点point_id。

如果备份遇到报错可以去查看/opt/gnode/log/gbase/目录下以rcman_开头的日志,日志名称包含日期。

评论

登录后才可以发表评论