华为云数仓GaussDB(DWS)备份恢复的实现

网友投稿 725 2022-05-29

为什么要进行数据备份?

在信息化社会,数据是每个企业最重要的资产,每个好的企业致力于为用户提供稳定可靠的服务,各种客观(自然灾害,网络故障,硬盘故障等)或者主观原因(人为损坏,人为误操作等)会造成数据丢失,影响企业业务,所以数据的备份及恢复显得尤为重要。保护好客户数据,灾难来临,客户数据不丢失,企业业务能够连续进行是数据灾备的目的。数据库灾备能力是评价数据库优劣的重要指标之一。

Raoch工具介绍:

GaussDB A通过Roach工具提供备份和灾难恢复功能。目前Roach支持的集群形态包括:主备从集群、一主多备集群、小型化集群(单节点部署)。支持物理备份和逻辑备份,并且支持DISK,NBU,OBS(DWS线上使用),EISOO等备份介质。在备份恢复过程中,集群内每个节点都会运行gs_roach进程,并且会有一个节点以roach master的角色运行roach进程,其余所有节点会以roach agent的角色运行roach进程。roach master控制备份恢复的所有流程和操作,roach agent接收和处理来自于master的命令。

应用场景之集群级备份:

集群级备份属于物理备份,GaussDB A根据用户需求提供全量备份和增量备份两种方式,并支持断点续做。

集群级全量备份场景:

python $GPHOME/script/GaussRoach.py

-t <命令类型> 【例如:restore】

--master-port 【roach主代理进程执行端口】

--media-type <介质类型> 【备份集存放的介质类型,如DISK等】

--media-destination <备份文件存放路径>【例如:/home/test/media】

--metadata-destination <备份元数据存放路径>【例如:/home/test/meta】

集群级增量备份场景:

在全量备份基础上加--prior-backup-key参数:

--prior-backup-key<指定基于的全量备份的key>【例如:如果该参数的值为20200505_162558,则表示该次备份为增量备份,且本次增量备份基于key为20200505_162558的全量备份进行】

集群全量备份断点续做场景:

考虑到集群级备份数据量大且备份时间较长,在备份过程中可能受到不可抗力导致备份中断,GaussDB A 提供了断点续做功能,只需要在备份命令添加—resume-backup参数即可。

应用场景之集群级恢复:

集群级恢复命令如下:

python $GPHOME/script/GaussRoach.py -t restore --master-port 7786 --media-type disk --media-destination /home/test/media --metadata-destination /home/test/meta --clean –backup-key XXXX_XXXX

其中:

--clean <表示恢复前清除数据库中的数据>

--backup-key <参数值为带恢复的备份集的key>

应用场景之表级备份:

全量备份数据量较大,备份集占用存储空间较大,重复数据重复备份,造成存储空间的浪费。实际应用中,客户数据库中常用的表有限,需要经常的做全量备份,因此,为了节约存储资源,提升客户工作效率,GaussDB A提供了表级备份功能。其中,表级备份分为单表备份和多表备份。

单表备份场景:

python $GPHOME/script/GaussRoach.py -t backup --master-port --media-destination <备份路径> --media-type disk --metadata-destination <元数据备份路径>

--tablename <表名称>

--agent-port<备份表时Roach与数据库内核之间建立外表所需端口>

–dbname <表所在数据库名称>

多表备份场景:

python $GPHOME/script/GaussRoach.py -t backup --master-port --media-destination <备份路径> --media-type disk --metadata-destination <元数据备份路径>

--agent-port

--table-list <待备份tablelist列表文件,例如:tablist.txt>

--dbname <备份表所在数据库名称>

华为云数仓GaussDB(DWS)备份恢复的实现

--logical <--logical参数表示本次备份为逻辑备份>

说明:--table-list的值为tablist.txt,其内容需要备份的表,每张表名一行,格式如下:

schema01.tab01

schema02.tab02

schema01.tab03

应用场景之表级恢复:

单表恢复:

python $GPHOME/script/GaussRoach.py -t restore --clean --create --master-port 9898 --media-type DISK --media-destination /home/test/media --metadata-destination /home/test/meta --agent-port 7000 --dbname db1 –tablename tab1 --backup-key XXXX_XXXX

其中:

--create <表示创建表结构>

--logging <参数值为true或false,true表示启用日志文件记录功能;false表示禁用日志文件记录功能>

多表恢复:

python $GPHOME/script/GaussRoach.py -t restore --clean --create --master-port 9898 --media-type DISK --media-destination /home/test/media --metadata-destination /home/test/meta --agent-port 7000 --dbname db1 –table-list tablist.txt --backup-key XXXX_XXXX --logical

在执行备份恢复命令时,还提供了以下多种功能参数:

--buffersize <缓存大小>

--compression-type <压缩算法类型,值为1代表采用zlib压缩算法,值为 2代表采用lz4压缩算法>

--compression-level <压缩级别,参数值为0-9,值为0表示快速压缩或无压缩,值为9表示慢速压缩或最大压缩>

--filesplit-size <被拆分文件的大小>

--log-filecount <日志文件的最大个数>

--log-filesize <最大日志文件的大小>

--logging-level <日志级别 FATAL ERROR WARNING INFO DEBUG DEBUG2>

--parallel-process

--retry-wait-time <失败后重试时需等待的时间>

……

roach其它功能介绍:

stop---用于停止正在进行的备份恢复进程;

validate---用于验证所有的备份文件,识别文件有无损坏;Roach工具提供了备份集的两种验证方法,分别是Full(基于CRC校验)和Partial(基于文件大小验证)。

delete---用于删除不需要的备份集;

show---以列表形式显示可用备份、备份类型、将用于特定backup key恢复的备份,回显信息中包括BACKUP KEY、BKP TYPE、BARRIER TIME、DELETION TIME、VALIDATION TIME、STATUS、TLI、BKP PRIOR KEY、BACKUP LEVEL等关键信息。

除以上应用场景,roach工具还提供了基于schema级别和database数据库级别的备份恢复。

GaussDB A提供了管控面管理,可以在管控面进行备份恢复管理。客户可以在管控面,定制自己的备份恢复策略,轻松创建一个备份任务,对备份集进行管理。可视化执行备份恢复任务。

除了基本备份恢复,GaussDB A还提供专门容灾工具,在两套主备集群之间实现周期性备份恢复,主集群正常提供业务,进行周期性备份,并将备份集传给备集群,备集群进行周期性恢复,两套集群互不影响,当主集群发生故障,备集群能够迅速替代主集群,提供正常业务。

总而言之,GaussDB A提供各种符合客户使用需求的备份恢复,容灾,迁移解决方案,使数据管理变得更加简单,安全和可靠。

更多精彩内容,请关注华为云开发者社区论坛:https://bbs.huaweicloud.com/forum/forum-598-1.html 及微信公众号“华为云AI”

数据仓库服务 GaussDB(DWS) 数据库

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

上一篇:人人都会数据分析 | 了解统计指标与异常值的简单处理
下一篇:企业级发布订阅(pub-sub)消息系统-Apache Pulsar
相关文章