暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

华为GaussDB T 增量恢复

墨天轮 2019-09-23
563

增量恢复

Roach支持基于backup key的增量恢复,通过指定--backup-key参数实现,Roach可将集群恢复到指定backupup key或时间点的状态。

增量备份分为累积增量备份和差分增量备份,对应的增量恢复分别为:

  • 累积增量备份情况下的恢复:

    假设要将数据恢复到backup key=D时的状态,Roach会依据该增量备份的backup key获取到对应的增量备份和父级全量备份,先恢复父级全量备份中的所有数据,再恢复该增量备份的数据。在该示例中,要恢复的备份包含backup key=A和backup key=D,如图1中橙色背景的备份。

    图1 累积增量备份情况下的恢复
  • 差分增量备份情况下的恢复:

    假设要将数据恢复到backup key=D时的状态,Roach会依据该增量备份的backup key获取到之前的增量备份和父级全量备份,先恢复父级全量备份中的所有数据,再依次恢复各增量备份的数据。在该示例中,依次恢复的备份包含backup key=A、backup key=B、backup key=C和backup key=D,如图2中橙色背景的备份。

    图2 差分增量备份情况下的恢复

操作步骤

Roach可按照恢复命令中指定的--backup-key参数将集群恢复到指定备份。

操作步骤

  • omm用户身份登录GaussDB 100任意服务器。
  • 进入$ROACH_HOME目录。

    cd $ROACH_HOME

  • 增量恢复集群到指定backup key的备份状态。

    python GaussRoach.py -t restore --clean --master-port <master_port> --media-destination <media_destination_path> --media-type <media-type> --backup-key <backup_key> --metadata-destination <metadata_path>

    各参数配置原则如表1所示。

    表1 参数配置原则

    参数名

    配置说明

    举例

    --master-port

    该参数用于指定Roach主代理所在主机的端口,用于Roach进程在主代理主机和其他代理主机间通信。该参数仅需配置一个无业务冲突的端口即可。

    说明:

    集群中执行Roach命令的主机被认为是主代理。

    6000

    --media-type

    该参数用于指定本次恢复的介质。

    取值范围为:

    • DISK
    • NBU

    DISK

    --backup-key

    该参数用于指定本次增量恢复的备份文件信息。

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

    20170313_131629

    --media-destination

    该参数用于指定本次恢复的数据存储路径。

    建议将media destination和metadata destination设为不同路径。这样,即使backup key被删除,元数据信息也不会丢失。

    说明:

    mediadata是指集群中存储的业务数据,也就是数据库文件。

    /home/userA/media

    --metadata-destination

    该参数用于指定本次恢复的元数据存储路径。

    建议将media destination和metadata destination设为不同路径。这样,即使backup key被删除,元数据信息也不会丢失。

    说明:

    metadata是指Roach在备份恢复操作中收集的配置管理类数据,也叫元数据。例如:集群节点个数、节点配置信息;数据库表个数、表的存储路径、表定义等。

    /home/userA/metadata

    --archivelog

    该参数在需要恢复archive log时使用。

    说明:

    使用的备份集必须对 archivelog进行了备份,才能进行archive log恢复。

    --archivelog

    --clean

    该参数用于停止和清理集群

    --clean

    说明:
    • 恢复集群时会自动停止集群。
    • 在将集群恢复到新的集群中时,可以使用基于backup key的增量恢复。
    • 如果终端断连引起Roach恢复异常退出,用户可再次执行恢复,此时建议用户在后台执行恢复操作。

  • 执行以下命令启动集群。

    python GaussRoach.py -t start

操作示例

  • omm用户身份登录GaussDB 100任意服务器。
  • 进入$ROACH_HOME目录。

    cd $ROACH_HOME

  • 在运行Roach主代理的节点上执行如下命令。

    python GaussRoach.py -t restore --clean --master-port 9999 --media-destination /home/userA/backup --media-type disk --backup-key 20170630_220442 --metadata-destination /home/userA/metadata

    恢复验证

    完成恢复操作后,运行Roach主代理的机器屏幕上将显示如下信息:

    Parsing the configuration file. Cleaning cluster. Stopping cluster. Successfully stopped cluster. Cleaning data before restoration. Successfully cleaned data before restoration. Successfully cleaned cluster. Performing presetup activities... lfgp000801493 : ##################################################100% lfgp000801494 : ##################################################100% lfgp000801495 : ##################################################100% Successfully restore data, takes time: 00:02:17. Performing post restore cleanup activities... Cleanup completed

  • 执行以下命令启动集群。

    python GaussRoach.py -t start

说明:
  • 执行恢复操作时,Roach工具会首先恢复全量备份,然后恢复增量备份。
  • 如果在删除数据库和/或表之后执行增量备份,则使用该备份执行恢复操作时也会恢复已删除对象的物理文件,即使这些对象已从逻辑上被删除。

必选参数

要完成增量集群恢复操作,用户必须指定以下必选参数。

  • Master port(主代理端口)
  • Media type(介质类型)
  • Media destination(目的介质)
  • Backup key(备份密钥)
  • Metadata destination(目的元数据)
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论