张先生1
2023 年5 月 24 日 18:06
#1
【 使用环境 】测试环境
【 OB or 其他组件 】 *分布式部署 + ODP + OCP Express 配置样例:all-components-min.yaml、all-components.yaml
【 使用版本 】4.1.0
【问题描述】清晰明确描述问题
按照社区文档搭建集群备份:使用nfs软件——开启归档——进行备份——测试恢复
前几步都正常,无报错,唯独在测试恢复时报错:> 9011 - cannot find backup file
nfs配置如下:
归档开启如下:
SELECT * FROM oceanbase.CDB_OB_ARCHIVE_DEST;
备份开启如下:
SELECT * FROM oceanbase.CDB_OB_BACKUP_PARAMETER;
SELECT * FROM oceanbase.CDB_OB_BACKUP_JOB_HISTORY;
测试恢复——报错
1、创建 UNIT(资源单元)
obclient [(none)]> CREATE RESOURCE UNIT restore_unit MAX_CPU 1, MEMORY_SIZE = ‘2G’, MAX_IOPS 10240, MIN_IOPS=10240;
2、建 Resource Pool(资源池)
obclient [(none)]> CREATE RESOURCE POOL restore_pool unit = ‘restore_unit’, unit_num = 1, zone_list = (‘zone1’,‘zone2’,‘zone3’);
ALTER SYSTEM RESTORE zcx FROM ‘file:///home/nfs_server/bakckup,file:///home/nfs_server/archive’ UNTIL TIME=‘2023-05-19 00:00:00’ WITH ‘pool_list=restore_pool’;
【复现路径】问题出现前后相关操作
【问题现象及影响】
【附件】
秃蛙
2023 年5 月 24 日 20:04
#3
提供下以下信息:
select * from __all_server;
#全量恢复是否正常
ALTER SYSTEM RESTORE zcx FROM ‘file:///home/nfs_server/bakckup,file:///home/nfs_server/archive’ WITH ‘pool_list=restore_pool’;
#提供rs主节点的rootservere .log日志。
Gaoyc
2023 年5 月 24 日 20:19
#4
张先生1
2023 年5 月 25 日 11:17
#5
select * from __all_server;
ALTER SYSTEM RESTORE zcx FROM ‘file:///home/nfs_server/bakckup,file:///home/nfs_server/archive’ WITH ‘pool_list=restore_pool’;
#rs主节点的rootservere .log日志。——这个文件太大,就上传了最近的1w行
rootservice.log (7.0 MB)
张先生1
2023 年5 月 25 日 11:19
#6
秃蛙
2023 年5 月 25 日 12:00
#7
你好,日志中没看到有相关报错,是时间范围没有恢复操作吧
可以打开trace功能,再执行恢复操作。提供trace信息和最新的rootserver.log(压缩)
alter system set enable_rich_error_msg=true;
秃蛙
2023 年5 月 25 日 14:14
#9
9011 - cannot find backup file
问题结论:
‘file:///home/nfs_server/bakckup,file:///home/nfs_server/archive’ 和实际目录路径不符合导致。
后续恢复出现报错 4179 - restore tenant with existed tenant name is not allowed
问题原因:ob恢复需要恢复的集群中新建资源池(不能是创建新租户),因为恢复的时候可自定义恢复租户名称,这样做可以保证新的租户恢复是安全的且完整的。