br 备份到s3报错

为提高效率,请提供以下信息,问题描述清晰能够更快得到解决:
【 TiDB 使用环境】
TiDB 5.0.6 使用br备份 上传到ceph 的s3上报错
TiDB 版本5.0.6
br版本 5.0.6
报错内容
[2022/03/23 17:28:57.553 +08:00] [WARN] [s3.go:686] [“failed to request s3, retrying”] [error=“EC2MetadataError: failed to make EC2Metadata request\ \tstatus code: 404, request id: \ caused by: {“message”: “Api Not Found”, “code”: “ApiNotFound”, “requestId”: “”}”] [backoff=10.503108016s]

上传命令
./br backup full --pd “pd:port” --storage “s3://online-tidb/abc” --s3.provider “ceph” --s3.endpoint “http://ip:port” --log-file backupfull.log
尝试其他命令
./br backup full --pd “pd:port” --storage “s3://online-tidb/abc” --s3.endpoint “http://ip:port” --log-file backupfull.log
./br backup full --pd “pd:port” --storage “s3://online-tidb/” --s3.endpoint “http://ip:port” --log-file backupfull.log
报错都是一样 均是 failed to make EC2Metadata request\ \tstatus code: 404

tidb、pd、tikv执行
export AWS_ACCESS_KEY_ID=“xxx”
export AWS_SECRET_ACCESS_KEY=“xxx”
并且写入
/etc/profile
source /etc/profile

s3是可用的 ,正常读写
[root@tv2-db-transfer-01 bin]# s3cmd ls
2022-03-23 07:19 s3://online-tidb

[root@tv2-db-transfer-01 bin]# s3cmd ls s3://online-tidb
2022-03-23 08:20 7095 s3://online-tidb/backuptable.log
2022-03-23 08:39 3230 s3://online-tidb/original-ks.cfg
如果是权限问题则报错 403 而不是404

【概述】 场景 + 问题概述

【备份和数据迁移策略逻辑】

【背景】 做过哪些操作

【现象】 业务和数据库现象

【问题】 当前遇到的问题

【业务影响】

【TiDB 版本】

【附件】

  • 相关日志、配置文件、Grafana 监控(https://metricstool.pingcap.com/)
  • TiUP Cluster Display 信息
  • TiUP CLuster Edit config 信息
  • TiDB-Overview 监控
  • 对应模块的 Grafana 监控(如有 BR、TiDB-binlog、TiCDC 等)
  • 对应模块日志(包含问题前后 1 小时日志)

若提问为性能优化、故障排查类问题,请下载脚本运行。终端输出的打印结果,请务必全选并复制粘贴上传。

报错是访问 S3 报错,确认一下 S3 的用户权限是否正常,可以通过 AWS 工具手动试试使用这个账号读写是否正常。你反馈的是查看权限是正常的。

通过这个文档再确认一下。https://docs.pingcap.com/zh/tidb-in-kubernetes/stable/backup-to-aws-s3-using-br

权限是正常的 可以put del 一些操作,我有问了sa 给的是最高权限

[root@tv2-db-transfer-01 bin]# echo aa > aa.txt
[root@tv2-db-transfer-01 bin]# s3cmd put aa.txt s3://online-tidb/
upload: ‘aa.txt’ -> ‘s3://online-tidb/aa.txt’ [1 of 1]
3 of 3 100% in 0s 49.21 B/s done
[root@tv2-db-transfer-01 bin]# s3cmd ls s3://online-tidb

试过参数
https://docs.pingcap.com/zh/tidb/v5.2/backup-and-restore-storages#br-向-tikv-发送凭证
一样报错

[root@tv2-db-transfer-01 bin]# ./dumpling -u root -P 4000 -h 172. -p “” -B test -r 200000 -o “s3://online-tidb/abc”
[2022/03/25 15:21:26.517 +08:00] [WARN] [s3.go:686] [“failed to request s3, retrying”] [error=“EC2MetadataError: failed to make EC2Metadata request\ \tstatus code: 404,
request
id: \ caused by: {“message”: “Api Not Found”, “code”: “ApiNotFound”, “requestId”: “”}”] [backoff=5.063227984s]
一样报错
手动上传
[root@tv2-db-transfer-01 bin]# ./dumpling -u root -P 4000 -h 172. -p “” -B test -r 200000 -o “/data1/tp/backup/tidb-toolkit-v5.0.6-linux-amd64/bin/backup”
[root@tv2-db-transfer-01 bin]# s3cmd put backup s3://online-tidb/back-test/

ERROR: Parameter problem: Use --recursive to upload a directory: backup
[root@tv2-db-transfer-01 bin]# s3cmd put backup s3://online-tidb/back-test/ --recursive
upload: ‘backup/metadata’ -> ‘s3://online-tidb/back-test/backup/metadata’ [1 of 3]
146 of 146 100% in 0s 3.78 KB/s done
upload: ‘backup/test-schema-create.sql’ -> ‘s3://online-tidb/back-test/backup/test-schema-create.sql’ [2 of 3]
95 of 95 100% in 0s 655.74 B/s done
upload: ‘backup/test.aa-schema.sql’ -> ‘s3://online-tidb/back-test/backup/test.aa-schema.sql’ [3 of 3]
137 of 137 100% in 0s 3.53 KB/s done
就可以

ceph版本12.2.13

看了下 BR 的代码
先说结论大概率是你的 Ceph 版本太低了和 aws 的s3 包不兼容了

https://github.com/pingcap/br/blob/v5.0.6/pkg/storage/s3.go


BR 里面的 S3 接口引用的 Aws 官方的。

backup/tidb-toolkit-v5.4.0-linux-amd64/bin/
./br backup full --pd “pd:port” --storage “s3://online-tidb/abc” --s3.provider “ceph” --s3.endpoint “http://ip:port” --send-credentials-to-tikv=FALSE --log-file backupfull.log
[2022/03/25 19:08:17.625 +08:00] [WARN] [s3.go:773] [“failed to request s3, retrying”] [error=“EC2MetadataError: failed to make EC2Metadata request\ \tstatus code: 404, request id: \ caused by: {“message”: “Api Not Found”, “code”: “ApiNotFound”, “requestId”: “”}”] [backoff=5.5355586s]
最新报错也是一样的

可能是这样 ceph 12.2.13 我搜了一下 大概是19年发布的。。

升级ceph版本,能解决问题了吗?期待更新。

该主题在最后一个回复创建后60天后自动关闭。不再允许新的回复。