GaussDB(DWS) 实践系列 - DWS集群NBU备份恢复操作步骤

网友投稿 829 2022-05-29

1、GaussDB(DWS)NBU备份介绍

华为NBU备份的逻辑如下所示:

每个数仓节点都有Roach agent进程负责本节点的数据备份;

第一个节点额外有一个Roach master进程负责分布式集群备份。

每个Media Server(备份介质服务器)安装华为的Roach client 插件。

备份数据流向:

在Media Server端安装Roach Client插件(该插件端口可指定)

规划集群节点与Media Server之间的映射文件

集群内Roach agent组件生成备份内容到内存,根据映射关系socket传输到远端Roach Client。

NBU服务器侧Roach Client插件接收备份数据,调用XBSA接口发送给Media Server。

Master Server根据StorageGroup策略分发数据到对应的Media Server,存储到磁带或磁盘

2、备份恢复操作步骤:

2.1 前置操作

需要保证集群内节点ping通 NBU 集群内所有集群,沙箱环境内Ruby用户下要能ping通NBU机器;

NBU服务器、集群内节点以及涉及的中转节点,都应保证是万兆网络链接,否则会影响性能验证

验证前进入沙箱临时调整gsql禁免密guc参数:

su – Ruby

gs_guc set -Z coordinator -I all -N all -h 'local all all trust'

gs_guc set -Z datanode -I all -N all -h 'local all all trust'

需提前安装好NBU环境,包括NBU Media Server等;

NBU Media Server机器上需要对外开放通信端口,用于沙箱内集群各节点和NBU Media Server之间TCP通信传输备份文件;

已安装配置roach client插件

已配置NBU参数和策略

2.2  集群备份操作步骤

云数仓备份功能可基于两种方式实施:

方式一:DWS管控面

启动Roach client并确保NBU配置正确;

进入DWS管控面,点击备份集群,打开管控界面NBU开关,打开方式为:: F12进入浏览器console后,输入如下指令

window.configData.snapshotSwith = 'true'

window.configData.nbuServerConfig = 'true'

进入集群,点击快照,点击自动快照状态,修改快照策略,选择备份设备为NBU、备份服务器IP为NBU Media Server ip,按行输入,不要有空行。备份服务器端口即为roach client插件开放的端口,NBU策略根据实际配置输入,与创建的policy保持一致。

配置策略完成后,进入对应集群控制界面,点击更多,会弹出下拉菜单,点击创建快照即可,然后输入快照名称,点击确定,即可创建快照。

设置自动快照备份后,即会周期触发增量备份(默认周期为8小时)

方式二:命令行(可根据需要配置为备份作业)

执行全量备份命令:

python $GPHOME/script/GaussRoach.py -t backup --master-port 55000 --media-destination nbu_policy --media-type NBU --metadata-destination  /data1/roachbackup/metadata  --parallel-process 3 --nbu-on-remote --nbu-media-list /home/Ruby/media.txt --client-port 8888

注意:--media-destination为NBU策略名、metadata-destination、parallel-process、nbu-media-list、client-port根据实际配置进行更改。 其中metadata-destination值为元数据存放路径parallel-process为设置的并行参数, 至少为单个节点主DN个数 + CN个数,nbu-media-list值为media server ip的记录清单,client-port为roach_client插件开放的端口

执行增量备份命令:

python $GPHOME/script/GaussRoach.py -t backup --master-port 55000 --media-destination nbu_policy --media-type NBU --metadata-destination  $GAUSSHOME/roachbackup/metadata  --parallel-process 3 --nbu-on-remote --nbu-media-list /home/Ruby/media.txt --client-port 8888 --prior-backup-key 20200912_083324

备份说明:

全量备份会将源数据完整备份,而增量备份仅将上次备份后所做的更改进行备份,这里的上次备份可以是全量备份,也可以是全量备份后的增量备份。

需要注意的是,增量备份的基础始终是全量备份。如果一次全量备份之后进行了全量恢复,则不能再基于该全量备份进行增量备份,必须要重新进行全量备份,然后基于新的全量备份进行增量备份。

增量备份分为累积增量备份和差分增量备份:指定的--prior-backup-key参数值始终为全量备份的backup key,那么增量备份就是累积增量备份,累积增量备份均是基于最近一次全量备份

2.3  集群恢复操作步骤

执行全量/增量恢复命令:

GaussDB(DWS) 实践系列 - DWS集群NBU备份恢复操作步骤

python $GPHOME/script/GaussRoach.py -t restore --clean --master-port 55000 --media-destination nbu_policy --media-type NBU --metadata-destination  /data1/roachbackup/metadata  --backup-key xxxxxx --nbu-on-remote --nbu-media-list /home/Ruby/media.txt --client-port 8888

根据指定的backup key和系统中相关的全量/增量备份文件执行全量/增量恢复

启动集群

python $GPHOME/script/GaussRoach.py -t start

2.4  后置操作

执行结束后,需要还原gsql禁免密配置:

su - Ruby

gs_guc set -Z coordinator -I all -N all -h 'local   all    all    sha256'

gs_guc set  -Z datanode -I all -N all -h 'local   all    all    sha256'

想了解GuassDB(DWS)更多信息,欢迎微信搜索“GaussDB DWS”关注微信公众号,和您分享最新最全的PB级数仓黑科技,后台还可获取众多学习资料~

EI企业智能 Gauss AP 数据仓库服务 GaussDB(DWS)

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Android Activity综述
下一篇:Copy攻城狮"重度"体验MindSpore教程
相关文章