如何解决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上的权限,确认用户权限是没有问题的

alt

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
评论
未登录
看完啦,登录分享一下感受吧~
暂无评论