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

华为GaussDB T 恢复到新集群

墨天轮 2019-09-23
547

恢复到新集群

Roach工具支持将旧集群的DISK备份集和NBU备份集恢复到新集群中,以重建或复制集群。

本页面以集群全量备份,和恢复集群全量备份集到新集群为例说明。集群增量备份与恢复操作方法同全量备份恢复,不同点仅在于命令参数,可以参考增量备份和增量恢复。

前提条件

集群A与新集群B的集群版本、拓扑结构、安装包、数据库用户、DN主备关系相同。

操作方法-使用DISK备份集恢复

说明:
  • 恢复集群时会自动停止新集群。
  • 如果终端断连引起Roach恢复异常退出,用户可再次执行恢复,此时建议用户在后台执行恢复操作。
  • omm用户身份登录GaussDB 100任意服务器。
  • 进入$ROACH_HOME目录。

    cd $ROACH_HOME

  • 执行如下命令,对集群A执行全量备份。

    python GaussRoach.py -t backup --master-port 9500 --media-destination $HOME/roachbackup/mediadata --media-type Disk --metadata-destination $HOME/roachbackup/metadata

  • 执行如下步骤,将集群A的全量备份恢复到集群B。

    • 执行如下命令清理集群B。
      python GaussRoach.py -t --clean --restore-new-cluster
    • 拷贝集群A各节点的全量备份文件到集群B对应节点的相同路径下。

      例如,集群A和集群B都有3个节点。

      • 拷贝集群A node1的备份$HOME/roachbackup至集群B node1下$HOME路径中。
      • 拷贝集群A node2的备份$HOME/roachbackup至集群B node2下$HOME路径中。
      • 拷贝集群A node3的备份$HOME/roachbackup至集群B node3下$HOME路径中。
    • 执行如下命令,将集群A的全量备份恢复到集群B中。
      python GaussRoach.py -t restore --clean --master-port <master_port> --media-destination <media_destination_path> --media-type Disk --metadata-destination <metadata_path> --backup-key <backup key> --restore-new-cluster

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

      表1 参数配置原则

      参数名

      配置说明

      举例

      --master-port

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

      说明:

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

      9500

      --media-destination

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

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

      说明:

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

      $HOME/roachbackup/mediadata

      --media-type

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

      取值范围为:DISK

      在当前场景下请设置为DISK。

      DISK

      --metadata-destination

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

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

      说明:

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

      $HOME/roachbackup/metadata/

      --backup-key

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

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

      20181129_114629

      --restore-new-cluster

      该参数用于恢复到新集群。

      --restore-new-cluster

      --clean

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

      --clean

      例如:

      python GaussRoach.py -t restore --clean --master-port 9500 --media-destination $HOME/roachbackup/mediadata --media-type Disk --metadata-destination $HOME/roachbackup/metadata/ --backup-key 20181129_114629 --restore-new-cluster

      恢复验证

      恢复操作成功完成后,运行Roach主代理的屏幕上显示如下信息。
      Parsing the configuration file. Cleaning cluster. Stopping cluster. Successfully stopped cluster. Successfully cleaned cluster. Performing presetup activities... LFG1000753142 : ##################################################100% LFG1000753141 : ##################################################100% LFG1000753139 : ##################################################100% Successfully restore data, takes time: 00:02:02. Performing restore completed.

  • 执行如下命令,启动集群B。

    python GaussRoach.py -t start --restore-new-cluster

    例如:

    python GaussRoach.py -t start --restore-new-cluster

操作方法-使用NBU备份集恢复

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

    cd $ROACH_HOME

  • 执行如下命令,将集群A的全量备份恢复到集群B中。

    python GaussRoach.py -t restore --master-port <master_port> --media-destination <media_destination_path> --media-type NBU --metadata-destination <metadata_path> --backup-key <backup key> --restore-new-cluster --clean --nbu-backup-host <old_hostname>

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

    表2 参数配置原则

    参数名

    配置说明

    举例

    --master-port

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

    说明:

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

    9500

    --media-destination

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

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

    说明:

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

    $HOME/roachbackup/mediadata

    --media-type

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

    取值范围为:NBU

    在当前场景下请设置为NBU。

    NBU

    --metadata-destination

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

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

    说明:

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

    $HOME/roachbackup/metadata/

    --backup-key

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

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

    20181129_114629

    --restore-new-cluster

    该参数用于恢复到新集群

    --restore-new-cluster

    --nbu-backup-host

    该参数设定旧集群备份节点的hostname

    sample_hostname

    --nbu-policy

    该参数用于恢复时使用的NBU policy。

    说明:

    如果恢复命令参数中设定该参数,roach配置文件中的设定将不再起作用。

    sample_nbupolciy

    --nbu-schedule

    该参数用于指定恢复时使用的NBU schedule。

    说明:

    如果恢复命令参数中设定该参数,roach配置文件中的设定将不再起作用。

    如果使用默认schedule,可以不用设置该参数。

    sample_schedule

    --clean

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

    --clean

    --nbu-backup-host

    执行NBU备份的主机名称。在恢复操作中,此参数仅在从NBU备份集恢复到新集群时使用。

    不涉及

    例如:

    python GaussRoach.py -t restore --master-port 9500 --media-destination $HOME/roachbackup/mediadata --media-type NBU --metadata-destination $HOME/roachbackup/metadata/ --backup-key 20181129_114629 --restore-new-cluster --nbu-backup-host host001 --nbu-policy NBUPolicy --clean 恢复验证 Parsing the configuration file. Cleaning cluster. Stopping cluster. Successfully stopped cluster. Successfully cleaned cluster. Performing presetup activities... LFG1000753142 : ##################################################100% LFG1000753141 : ##################################################100% LFG1000753139 : ##################################################100% Successfully restore data, takes time: 00:02:02. Performing restore completed.

  • 执行如下命令,启动集群B。

    python GaussRoach.py -t start --restore-new-cluster

    例如:

    python GaussRoach.py -t start --restore-new-cluster
    说明:
    • 恢复时所使用的Media destinationMetadata destination路径必须与旧集群上执行备份时的目录一致。保证新集群上此目录属主为集群用户。
    • 如果已确定旧集群上别分集的backup key,那么直接使用以上步骤来进行恢复。
    • 如果不能确定恢复所使用的backup key,在旧集群上使用show命令进行查询,或者在新集群上执行如下命令查询需要使用的备份集的backup key:

    python GaussRoach.py -t show --all-backups --media-type NBU --metadata-destination $HOME/roachbackup/metadata/ --nbu-backup-host host001 --nbu-policy NBUPolicy

    • 如果终端断连接引起Roach恢复异常退出,用户可再次执行恢复,此时建议用户在后台执行恢复操作。
    • NBU恢复到新集群暂时不支持GTS。

必选参数

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

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

评论