【 使用环境 】生产环境
【 OB or 其他组件 】
【 使用版本 】4.2.1.8
【问题描述】
版本信息
OB-4.2.1.8
OCP-4.3.1
1、s3存储创建bucket和子目录,集群下的每台OBserver对存储访问正常,安装s3cmd可以成功执行命令
2、ocp创建备份策略,填写相关信息后,"测试"返回存储配置测试失败,请确保配置目录s3://bucket/目录/可访问!
3、黑屏登入root@sys,执行
ALTER SYSTEM SET DATA_BACKUP_DEST='s3://bucket/目录/?
host=http://oss1.local.cloud.xxx
&access_id=xxx
&access_key=xxxx
’ TENANT = xxxx;
ERROR 9026 (HY000): backup destination is not valid
【复现路径】问题出现前后相关操作
【附件及日志】推荐使用OceanBase敏捷诊断工具obdiag收集诊断信息,详情参见链接(右键跳转查看):
【SOP系列 22 】——故障诊断第一步(自助诊断和诊断信息收集)
【备注】基于 LLM 和开源文档 RAG 的论坛小助手已开放测试,在发帖时输入 [@论坛小助手 ] 即可召唤小助手,欢迎试用!
论坛小助手
2024 年11 月 6 日 11:25
#3
推荐使用 obdiag 工具进行日志采集,并且将采集到的日志提供给我们以便确认问题所在。
日志采集场景: 数据备份问题
日志采集命令: obdiag gather scene run --scene=observer.backup
为了更好地帮助您解决问题,请您提供以下信息:
您是否已经检查了 S3 存储的权限配置,确保 OceanBase 有足够的权限进行读写操作?
您能否提供具体的错误日志或错误消息内容,特别是与错误代码 9026 相关的部分?
您是否尝试过使用不同的 S3 存储路径或桶名进行备份?
您的 OCP 和 OceanBase 集群的版本信息是什么?
您是否有任何网络防火墙或安全组规则限制了与 S3 存储的通信?
请您执行上述日志采集命令,并将生成的日志文件压缩包发送给我们,以便我们进一步分析问题。感谢您的配合!
附上敏捷诊断工具 obdiag 使用帮助链接
论坛小助手
2024 年11 月 6 日 11:53
#6
根据您提供的信息和图片,看起来您在 OCP 创建备份策略时遇到了问题。具体来说,当您尝试测试存储配置时,收到了“存储配置测试失败,请确保配置目录 s3://bucket/目录/可访问!”的错误提示。此外,您在黑屏环境中执行 ALTER SYSTEM SET DATA_BACKUP_DEST
语句时也遇到了错误 ERROR 9026 (HY000): backup destination is not valid
。
问题排查步骤
检查 S3 存储权限配置
确保您提供的 S3 存储路径 s3://obbackup/fhxt
是正确的,并且 OceanBase 集群中的每台 OBServer 都有权限访问该路径。
检查 S3 存储的访问密钥(Access Key ID 和 Access Key Secret)是否正确,并且具有足够的权限进行读写操作。
验证 S3 存储路径和配置
确认 S3 存储路径 s3://obbackup/fhxt
是否存在,并且可以被访问。
检查 host
参数是否正确,确保 http://oss1.local.cloud.scp
是正确的 S3 存储端点。
检查网络连接
确保 OBServer 能够通过网络访问 S3 存储端点 http://oss1.local.cloud.scp
。
检查是否有防火墙或安全组规则限制了 OBServer 与 S3 存储的通信。
检查 OCP 配置
在 OCP 中,确保您填写的 S3 存储配置信息(包括 Bucket 名称、路径、Access Key ID 和 Access Key Secret)是正确的。
确认 OCP 版本 4.3.1
是否支持您当前使用的 S3 存储配置。
具体操作步骤
验证 S3 存储路径和权限
s3cmd ls s3://obbackup/fhxt
如果路径存在且可以访问,应该会列出该路径下的文件或目录。
检查网络连接
curl -I http://oss1.local.cloud.scp
确认是否可以成功访问 S3 存储端点。
重新配置 OCP 备份策略
在 OCP 中,重新创建备份策略,确保所有配置信息正确无误。
再次点击“测试”按钮,检查是否仍然出现相同的错误。
参考文档
文档片段 3 提到了类似的问题,建议检查对应 IP 的机器是否能正常访问备份的存储目录,以及 AK/SK 是否正确。 [3]
如果以上步骤仍然无法解决问题,建议您联系 OceanBase 的技术支持团队,提供详细的日志信息以便进一步诊断。您可以使用 obdiag
工具收集诊断信息,具体命令如下:
obdiag gather scene run --scene=observer.backup
希望这些信息对您有所帮助!
具体信息可参考以下文档:
查看 SQL 详情
配置自定义监控
备份 OceanBase 集群
OCP V3.3.0
软件包常见问题
上传安装包
验证软件包
复制告警通道
复制告警规则
(小助手的答复已结束,如未能解决您的问题,请继续提问并等待其他同学的回复,谢谢!)
辞霜
2024 年11 月 6 日 13:51
#7
你好,关于测试存储地址,验证了以下信息
s3cmd ls s3://obbackup/fhxt和
curl -I http://oss1.local.cloud.scp:12000这两个都通过,但是ocp测试还是失败
你好,有可能是不兼容的情况吗,因为从信息验证来看,没有异常的地方。
旭辉
2024 年11 月 6 日 15:04
#11
在黑屏执行,这个命令写成了一行还是多行?
ALTER SYSTEM SET DATA_BACKUP_DEST='s3://bucket/目录/?
host=http://oss1.local.cloud.xxx
&access_id=xxx
&access_key=xxxx
’ TENANT = xxxx;
你好,命令是多行的格式,刚刚调整了下格式,报错有变化,具体如下
你好,黑屏执行,写成一行后执行报错返回 timeout
旭辉
2024 年11 月 6 日 16:23
#17
请按如下步骤提供下日志
1.开启 Trace 功能
SET ob_enable_show_trace=ON;
2.执行SQL设置s3 备份
3.获取SQL trace_id
SELECT last_trace_id() FROM DUAL;
4.登录对应 OBServer 节点,进入到日志文件所在目录
cd /home/admin/oceanbase/log
5.获取trace_id对应的日志
grep xxxxxxx observer.log --填写第3步获取的trace_id
grep xxxxxxx rootservice.log --填写第3步获取的trace_id
1 个赞
trace_log.zip (5.1 KB)
你好,日志已获取
辞霜
2024 年11 月 6 日 16:49
#19
fail to check dest is empty dirctory (ret=-9105) S3路径设置问题
host后边不跟端口试试呢
http和https,加端口和不加端口都测试过,报错为timeout
旭辉
2024 年11 月 6 日 17:14
#21
在observer上测试存储路径,xxx改成你真实的存储路径
curl -v http://xxx
旭辉
2024 年11 月 6 日 17:50
#24
你这里测试是通的,域名+端口的方式还没遇到过,不过理论上应该是可以的,这个问题我咨询下内核的老师,有进展回复你