Roach备份恢复GaussDB DWS

举报
Sprother 发表于 2020/06/29 19:44:08 2020/06/29
【摘要】 本文档主要是针对Roach备份恢复GaussDB DWS数据库集群到本地磁盘的方式进行了详细的测试,包括全量备份和增量备份以及恢复。 主要步骤: 1、测试前准备 2、集群全量备份 3、增量备份 4、删除数据为恢复创造条件 5、集群恢复 6、Check恢复后的数据

本文档主要是针对Roach备份恢复GaussDB DWS数据库集群到本地磁盘的方式进行了详细的测试记录,包括全量备份和增量备份以及恢复。

主要步骤:

1、测试前准备

2、集群全量备份

3、增量备份

4、删除数据为恢复创造条件

5、集群恢复

6、Check恢复后的数据

 

详细步骤:

一、测试前准备

以下所有操作都使用omm用户测试完成。

1.1      创建一个测试库testdb1

          create database testdb1 template template0 encoding 'UTF8' ;

       

1.2   testdb1中创建一张测试表并insert 3条数据

 创建表

  create table table_row(

  col_id  integer,

  col_name varchar2(30),

  col_comment varchar2(200)

 )distribute by hash(col_id);

 测试数据

 insert into table_row values(1001, 'name1001', 'cmm1001');

 insert into table_row values(1002, 'name1002', 'cmm1002');

        insert into table_row values(1003, 'name1003', 'cmm1003');

      

1.3      在本地磁盘创建一个备份目录

           cd /srv/BigData/LocalBackup/

            mkdir media


二、集群全量备份

1.1      登录主机

以操作系统用户omm登录Gauss集群任意一台主机,此主机作为Roach主代理

      执行source ${BIGDATA_HOME}/mppdb/.mppdbgs_profile命令启动环境变量。

1.2      进入Roach脚本目录

进入$GPHOME/script/目录

      cd $GPHOME/script

1.3      开启归档模式

执行以下命令开启集群归档模式

python GaussRoach.py -t config --archive=true -p


1.4     执行备份

在作为Roach主代理的主机上执行以下命令:

python GaussRoach.py -t backup --master-port <master_port> --media-destination <media_destination_path> --media-type Disk --metadata-destination <metadata_path>

举例:

GaussRoach.py -t backup --master-port 6000 --media-destination /srv/BigData/LocalBackup/media --media-type Disk --metadata-destination /srv/BigData/LocalBackup/media/metadata --parallel-process 3 --compression-level 6


参数说明:

--media-destination:该参数用于指定本次备份的数据存储路径

--media-type Disk:该参数用于指定本次备份的元数据存储路径

--parallel-process:备份任务并发线程,建议值为每个数据节点(主DN个数+1

--compression-level:备份压缩级别,0~9,值越大,压缩级别越高,0不压缩,经验证,压缩级别越高备份速率越低,推荐值:6


查看备份目录的变化:(此处见附件)




1.5      备份结束,关闭集群归档模式。

python GaussRoach.py -t config --archive=false –p


增量备份

执行以下步骤增量备份集群到磁盘:

1.1      登录到Gauss集群主机

以操作系统用户omm登录Gauss集群的任意一台主机,此主机作为Roach的主代理

       执行source ${BIGDATA_HOME}/mppdb/.mppdbgs_profile命令启动环境变量。

1.2      确定--prior-backup-key

确定—prior-backup-key,每次备份成功后都会生成一个以时间戳命名的备份文件夹,该时间戳(文件夹名称)就是backupkey

举例:上次备份目录下的文件名(/srv/BigData/LocalBackup/media/)的文件名

1.3      进入Roach目录

进入Roach脚本所在目录$GPHOME/script/

      cd $GPHOME/script

1.4      开启集群归档模式。

python GaussRoach.py -t config --archive=true –p

        1.5      增量备份

        在作为Roach主代理的主机上执行以下命令:

        python GaussRoach.py -t backup --master-port <master_port> --media-destination <media_destination_path> --media-type <media-type> --metadata-destination <metadata_path> --priorbackup-key <prior-backup-key>

    举例:

          GaussRoach.py -t backup --master-port 6000 --media-destination /srv/BigData/LocalBackup/media --media-type Disk --metadata-destination /srv/BigData/LocalBackup/media/metadata --parallel-process 3 --compression-level 6 --prior-backup-key 20200629_161652



        1.6     备份结束,关闭集群归档模式。

          python GaussRoach.py -t config --archive=false –p


四、删除testdb1,为恢复做准备

        gsql –d postgres –p 25308 –ar

        drop database testdb1;


五、集群恢复

1.1      登录Gauss集群任意一台主机

登录Gauss集群任意一台主机,使用集群用户omm登录集群任意一台主机(作为Roach代理主机),启动环境变量

source ${BIGDATA_HOME}/mppdb/.mppdbgs_profile

         1.2      进入Roach目标

进入“$GPHOME/script”目录,(在主代理主机)执行集群恢复操作, 并在恢复之前清理集群。注:虽然我指定的是最近一次的backup-key,实际恢复的时候是先恢复全量,然后,逐步恢复每个增量

python $GPHOME/script/GaussRoach.py -t restore --clean --media-destination   /srv/BigData/LocalBackup/media --metadata-destination   /srv/BigData/LocalBackup/media/metadata    --master-port 6000  --media-type   Disk --backup-key 20200629_171044




         1.3      启动集群。

        python GaussRoach.py -t start


六、查看恢复后的集群

 

可以看到集群已恢复,删除的testdb1库已经恢复回来。







 

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。