Hi 游客

更多精彩,请登录!

比特池塘 分布式计算 正文

aws S3 虚拟盘挂载工具 s3fs-fuse

纯真程序员
88 0 0
本帖最后由 纯真程序员 于 2022-11-3 15:25 编辑

  1.S3FS介绍

  S3FS是google开发的一款支持将对象存储中的bucket以文件形式导出的文件系统接口,兼容POSIX语义。S3fs是基于FUSE开发文件系统,允许Linux和Mac Os X挂载S3的存储桶在本地文件系统,S3fs能够保持对象原来的格式

  2、安装必要的软件依赖

  1. sudo yum install automake fuse fuse-devel gcc-c++ git libcurl-devel libxml2-devel make openssl-devel mailcap
复制代码


  3、使用git命令下载及安装s3fs

  1.   git clone https://github.com/s3fs-fuse/s3fs-fuse.git
  2.   cd s3fs-fuse
  3.   ./autogen.sh
  4.   ./configure
  5.   make && make install
复制代码


  4、检测s3fs是否生效,如出现以下结果表示生效


  1.  # s3fs
  2.   s3fs: missing BUCKET argument.
  3.   Usage: s3fs BUCKET:[PATH] MOUNTPOINT [OPTION]...
复制代码


  5、生成密钥文件并授权,其中的密钥为IAM用户生成


  1. echo AKIAIOEO4xxxxxxxxxx:2LXBboddEpRLmWl48i3+b4zixxxxxvxxxxxxxx > /etc/.passwd-s3fs
  2. chmod 600 /usr/xj/.passwd-s3fs
复制代码


  6、非AWS EC2手动挂载非域名为桶名的存储桶,url根据存储桶所在的区域不同更换网址,挂载目录需要提前建立,url地址可以随便打开一个存储桶的文件获得

  格式 s3fs 桶名 本地目录 指定秘钥文件 桶对应的URL


  1. s3fs bucket-name Local directory -o passwd_file=/etc/.passwd-s3fs -o url=https://s3.xxxxxxxx.amazonaws.com
复制代码


  加写权限 -o default_acl="public-read-write -o use_path_request_style -o allow_other

  https://docs.aws.amazon.com/z...

  s3fs "www.tclub.in" /s3/tclub_in -o passwd_file=/etc/.passwd-s3fs -o url=https://s3.ap-south-1.amazonaws.com -o default_acl="public-read-write -o use_path_request_style -o allow_other

  7、非AWS EC2手动挂载以域名为桶名的存储桶


  1.  s3fs "s3.xxxxxxxx.amazonaws.com" /s3/xxx -o passwd_file=/etc/.passwd-s3fs -o url=https://s3.xxxxxxxx.amazonaws.com -o use_path_request_style
复制代码


  8、EC2挂载非域名为桶名的存储桶


  1.  s3fs s3fs-mount-bucket /home/ec2-user/s3mnt -o passwd_file=/etc/.passwd-s3fs -o endpoint=apxx-northxxx-1
复制代码


  9、EC2挂载以域名为桶名的存储桶


  1.  s3fs s3fs-mount-bucket /home/ec2-user/s3mnt -o passwd_file=/etc/.passwd-s3fs -o endpoint=apxx-northxxx-1 -o use_path_request_style
复制代码


  最后取消挂载 直接umunot 会报设备忙


  1.  ps aux|grep s3f
复制代码


  kill -9 进程号

  umount -l /XXX

  常见错误

  挂载失败

  日志错误:

  [root@r7003 ~]# s3fs youxibak /tmp/s3/ -o passwd_file=/root/.aws/passwd-s3fs -o url=https://testbucket.s3.ap-south-1.amazonaws.com -o endpoint=ap-south-1 -o use_path_request_style -o allow_other

  Aug 27 07:28:28 r7003 dbus[646]: [system] Activating via systemd: service name='org.freedesktop.nm_dispatcher' unit='dbus-org.freedesktop.nm-dispatcher.service'

  错误原因:https地址不对

  https://testbucket.s3.ap-sout...

  应该使用

  https://s3.ap-south-1.amazona...


BitMere.com 比特池塘系信息发布平台,比特池塘仅提供信息存储空间服务。
声明:该文观点仅代表作者本人,本文不代表比特池塘立场,且不构成建议,请谨慎对待。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

成为第一个吐槽的人

纯真程序员 小学生
  • 粉丝

    1

  • 关注

    0

  • 主题

    1