如何解决goofys挂载TOS失败问题

存储基础存储服务技术服务知识库
问题描述

使用 goofys 挂载 TOS 失败,日志报错 ERROR Unable to access bucket_demo。

问题分析

凭证文件格式问题导致无法正常被解析 AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY,导致的权限不足。

解决方案

1.查看 goofys 的具体日志报错信息,查看日志中信息如下:

s3.ERROR code=NoCredentialProviders msg=no valid providers in chain,main.ERROR Unable to access 'bucket_demo': NoCredentialProviders: no valid providers in chain. Deprecated.#012#011For verbose messaging see aws.Config.CredentialsChainVerboseErrors

2. 查看对应的用户在 TOS 上的权限,确认用户权限是没有问题的

图片

3. 因为 goofys 输出的日志信息有限,所以使用 aws cli 排查用户凭证问题

下载 aws cli 的客户端

curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o"awscliv2.zip"
unzip awscliv2.zip
sudo ./aws/install

执行 Listbuckets 操作,查看具体的报错信息

  aws s3 ls --endpoint-url=http://tos-s3-cn-beijing.volces.com
报错信息如下:
Unable to parse config file: /root/.aws/credentials

由此可以判断出,上传失败的原因为 credentials 的文件格式问题导致无法解析

4. 备份原来的credentials, 按照如下格式重新编辑

$ cat ~/.aws/credentials
[default]
aws_access_key_id = AKID123*****8KFS
aws_secret_access_key = MY-SECRET-KEY

5. 测试权限没有问题后,执行挂载操作

./goofys  --debug_fuse --debug_s3 --file-mode=0777 --dir-mode=0777 --endpoint https://tos-s3-cn-beijing.ivolces.com <bucket:prefix> <mountpoint>  

如果您有其他问题,欢迎您联系火山引擎技术支持服务

0
0
0
0
评论
未登录
看完啦,登录分享一下感受吧~
暂无评论