OceanBase-OB备份异地恢复流程

OB备份异地恢复流程

——2023年5月9日

一、【白屏操作】

1、确定当前备份的OB版本:

 

2、新建备份目录授权(备份到本地目录为例):

mkdir  /obbackup/

chown  -R  admin.admin  /obbackup/

保证能解析成功:

 

3、点击“备份”,查询操作系统的目录结构:

4、拷贝租户层面数据文件和元数据文件:

[root@uatob3 data]# mkdir -p /obbackup/ob3231/****  /obbackup/ob3231

  ……

   将 ob3231 目录下文件都拷贝异地相同目录

 

5、在OCP页面上点击“恢复”:

 

 

 

问题1:用户想单个租户备份,单个租户还原,目前端解析不到 “源端的租户”?

 

 

解决:

  1. 除了 “目标端”目录和“源端”目录要保持一致,目录的权限 admin:admin

 

 

  1. 执行:show restore preview; 看执行恢复需要什么文件,拷贝这些文件后,还需要拷贝这两个文件才能识别到:

[root@ob incarnation_1]# pwd

/obbackup/ob3231/1676382015/incarnation_1

 

[root@ob incarnation_1]# ll

total 0

drwx------ 3 admin admin 18 May  9 11:24 1

drwx------ 4 admin admin 30 May  9 11:28 1001

drwx------ 3 admin admin 18 May  9 13:27 1002

drwx------ 2 admin admin 34 May  9 11:22 clog_info

drwx------ 2 admin admin 25 May  9 11:24 cluster_backup_piece_info_@versionset@

drwx------ 2 admin admin 25 May  9 13:09 cluster_backup_set_file_info_@versionset@

drwx------ 2 admin admin 25 May  9 15:08 cluster_clog_backup_info_@versionset@

drwx------ 2 admin admin 25 May  9 13:09 cluster_data_backup_info_@versionset@

drwx------ 2 admin admin 25 May  9 13:08 tenant_info_@versionset@

drwx------ 2 admin admin 25 May  9 13:54 tenant_name_info_@versionset@

 

 

二、【黑屏操作】

1、确定当前备份的OB版本:

 

 

2、备份:

2.1、配置备份备份的目的端

参考网址:https://www.oceanbase.com/docs/enterprise-oceanbase-database-cn-10000000000361447

配置项 backup_backup_dest 的设置方法与配置项 backup_dest 类似。

注意:

设置 backup_backup_dest 前,需确保 backup_dest 已设置。

backup_backup_dest 与 backup_dest 中不能设置为相同的备份地址。

 

2.2、设置备份目的端的示例如下:

obclient> ALTER SYSTEM SET backup_backup_dest='file:///data/nfs/backup_backup';

 

2.3、执行数据备份的备份:

obclient> ALTER SYSTEM BACKUP BACKUPSET ALL;

obclient> ALTER SYSTEM BACKUP BACKUPSET N;

 

3、恢复前准备:

参考网址:https://www.oceanbase.com/docs/enterprise-oceanbase-database-cn-10000000000361373

 

3.1、使用 root 用户登录数据库的 sys 租户。

使用sys租户的root用户登录目标恢复集群

mysql -hxx.xx.xx.xx -P2883 -uroot@sys#ob_restore -pxxxx

 

3.2、创建 Unit(资源单元)。

示例如下:

obclient> CREATE RESOURCE UNIT box_16c96g max_cpu 16, max_memory 103079215104, max_iops 10240, max_disk_size 53687091200, max_session_num 64, MIN_CPU=16, MIN_MEMORY=103079215104, MIN_IOPS=10240;

 

3.3、创建 Resource Pool(资源池)。

示例如下:

obclient> CREATE RESOURCE POOL restore_pool unit = 'box_16c96g', unit_num = 1, zone_list = ('z1','z2','z3');

如下图:

 

 

4、恢复:

4.1、调整系统恢复性能相关参数

ALTER SYSTEM SET restore_concurrency = 50;

ALTER SYSTEM SET _restore_idle_time = '10s';

 

4.2、发起恢复preview,此操作还未真正开始恢复

参考网址:https://www.oceanbase.com/docs/enterprise-oceanbase-database-cn-10000000000361375

 

alter system restore rcv_fnc_e from fnc_e at 'file:///ob_backup' until '2021-07-17 00:00:06.000000' with 'backup_cluster_name=dgbob2&backup_cluster_id=1&pool_list=pool_rcv_fnc_e_zone1_zco&locality=FULL@zone1&primary_zone=zone1' preview;

 

参数解释:

rcv_fnc_e 目标恢复租户名字

fnc_e     备份的源租户名字

file:///ob_backup 备份NFS路径

2021-07-17 00:00:06.000000 目标恢复时间,即需要恢复到哪个时间点的数据

backup_cluster_name 备份的集群名

backup_cluster_id 备份的集群ID

pool_list 恢复所需的资源池名称

如下图:

 

输出信息中包含此次恢复需要用的文件路径(backup_dest),下一步需要用到此信息。将需要的文件拷贝到目标端相同路径下,即可进行还原。

 

4.3、加载此次恢复需要用到的文件信息

alter system add restore source

'file:///ob_backup/dgbob2/1/incarnation_1/1005/data/backup_set_18_full_20210713';

 

alter system add restore source

'file:///ob_backup/dgbob2/1/incarnation_1/1005/data/backup_set_19_inc_20210715';

alter system add restore source 'file:///ob_backup/dgbob2/1/incarnation_1/1005/clog/3';

 

4.4、开始执行恢复

alter system restore rcv_fnc_e from fnc_e until '2021-07-17 00:00:06.000000' with 'backup_cluster_name=dgbob2&backup_cluster_id=1&pool_list=pool_rcv_fnc_e_zone1_zco&locality=FULL@zone1&primary_zone=zone1' ;

 

4.5、查看恢复进度

 

select * from cdb_ob_restore_progress;

select * from cdb_ob_restore_history;

select * from __all_restore_info;

 



 

posted @ 2024-08-26 18:50  上帝_BayaiM  阅读(78)  评论(0编辑  收藏  举报