恢复会先根据用户输入的命令,从备份的目的地将全量备份恢复回来。之后,再将增量备份恢复到全量备份上面。最后,应用备份出去的事务日志。

    说明

    本节中的操作需要使用 root 用户在 sys 租户上执行。

    1. 执行以下语句,停止日志备份。

      说明

      由于当前版本暂不支持日志备份在集群上发起恢复,如果发起恢复,则会导致日志备份断流,故建议在执行恢复前先停止日志备份。

    2. 创建 Unit(资源单元)。

      示例如下:

    3. 创建 Resource Pool(资源池)。

      示例如下:

      1. obclient> CREATE RESOURCE POOL restore_pool unit = 'box_16c96g', unit_num = 1, zone_list = ('z1','z2','z3');
    4. 执行以下语句,设置加密信息。

      说明

      如果未加密或恢复时可以访问原来的 KMS,则跳过本步骤。

      1. obclient> SET @kms_encrypt_info = '<加密string>';

      其中,<加密string>EXTERNAL_KMS_INFO 的值,EXTERNAL_KMS_INFO 为租户级配置项。

    5. 打开恢复配置。

      检查 restore_concurrency 是否为 0,如果为 0 ,则需要执行以下语句:

      1. obclient> ALTER SYSTEM SET restore_concurrency = 50;
    6. (可选)修改恢复的等待时间。

      默认恢复等待时间 _restore_idle_time 为 1 分钟,整个恢复期间会有 3 次等待,即 3 分钟的等待时间。对于测试恢复性能的场景,为了减少恢复的空闲时间,您可以执行以下语句将等待时间调整为 10s

      1. obclient> ALTER SYSTEM SET _restore_idle_time = '10s';
    7. 根据现场需要,设置恢复的密码。

      只有在备份时添加了密码的场景下才需要设置恢复的密码。同时如果全量备份+增量备份设置的密码不一样,则需要输入多个密码,密码之间使用逗号分隔。示例如下:

      1. obclient> SET DECRYPTION IDENTIFIED BY 'password1''password2';
    8. 执行以下语句,开始执行恢复任务。

      部分参数说明如下表所示。

      恢复示例:

      • NFS

        1. obclient> ALTER SYSTEM RESTORE restored_trade FROM trade at 'file:///data/nfs/backup' until '2020-05-21 09:39:54.071670' with 'backup_cluster_name=ob20daily.backup&backup_cluster_id=1&pool_list=restore_pool;
      • OSS

        1. obclient> ALTER SYSTEM RESTORE restored_trade FROM trade at 'oss://antsys-oceanbasebackup/backup_rd/?host=cn-hangzhou-alipay-b.oss-cdn.aliyun-inc.com&access_id=xxx&access_key=xxx' until ' 2020-03-23 08:59:45' with 'backup_cluster_name=ob20daily.backup&backup_cluster_id=1&pool_list=restore_pool';
      • 腾讯云 COS

        1. obclient> ALTER SYSTEM RESTORE restored_trade from trade at 'cos://backup-1304745170/backup_rd/20210127?host=cos.ap-nanjing.myqcloud.com&access_id=xxx&access_key=xxx&appid=xxx' until ' 2020-03-23 08:59:45' with 'backup_cluster_name=ob20daily.backup&backup_cluster_id=1&pool_list=restore_pool';
    9. 执行以下语句,查看恢复进度。

      • 查看系统表 Root Table:

        其中,is_restore 的取值含义如下:

        • 0:表示正常副本

        • 1:表示逻辑恢复的副本

        • 2:表示物理恢复需要恢复基线的副本

        • 3:表示物理恢复需要恢复转储的副本

        • 4:物理恢复需要恢复 clog 的副本

        • 5:物理恢复需要转储的副本

        • 6:物理恢复等待所有副本转储完成的副本

        • 7:物理恢复设置 member list 的副本

        role 的取值含义如下:

        • 2:表示 Follower

      • 查看用户表 Meta Table:

        1. obclient> SELECT svr_ip,role, is_restore, COUNT(*) FROM __all_virtual_meta_table AS a, (SELECT value FROM __all_restore_info WHERE name='tenant_id') AS b WHERE a.tenant_id=b.value GROUP BY role, is_restore, svr_ip ORDER BY svr_ip, is_restore;

        或者

        1. obclient> SELECT svr_ip ,is_restore, COUNT(*) FROM __all_virtual_partition_store_info WHERE tenant_id>1002 group by svr_ip,is_restore order by svr_ip, is_restore;
    10. 执行以下语句,查看恢复结果。

      1. obclient> SELECT * FROM __all_restore_info;
      1. obclient> SELECT * FROM __all_restore_history;

    通过 OCP 进行恢复

    您也可以在 OCP 上对已备份的集群发起恢复操作。

    说明

    不同 OCP 版本的操作界面可能不同,本节以 OCP V2.5.0 版本为例提供操作指导,OCP 其他版本的操作请参考对应版本的《OCP 用户指南》文档。

    1. 登录 OCP。

    2. 在左侧导航栏上,单击 备份恢复 > 恢复

    3. 在页面右上角单击 发起恢复

    4. 设置存储配置。

      存储配置相关说明如下表所示。

      配置

      描述

      存储类型

      支持 OSSFile 两种类型

      存储目录

      存储目录:

      • 存储类型OSS 时,示例如下:

      • 存储类型File 时,示例如下:

      访问域名访问用户访问秘钥

      如果选择的 存储类型OSS ,则需要输入访问域名、访问用户和访问密钥后,然后单击 测试,确认可访问。

      如果已经有可用的配置,可以直接在 存储配置 区域的右上角单击 选择已有配置,并选择对应的配置后,系统会自动解析存储配置。

    5. 选择 恢复源与时间

      在列表中选择 源集群****源租户恢复的时间点

    6. 选择恢复的目标租户。

      在列表中选择运行状态的集群,并在 租户名称 文本框中输入新的租户名称。

      恢复目标