探索BI系统搭建的必要性与AI技术的应用潜力
841
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 集群恢复操作步骤
执行全量/增量恢复命令:
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小时内删除侵权内容。