s3fs(S3 File System)是一个基于FUSE(Filesystem in Userspace)的用户空间文件系统,可以将Amazon S3存储桶挂载到本地文件系统。通过s3fs,我们可以像操作本地文件一样,对S3存储桶中的数据进行读写、删除、权限设置等操作。
s3fs支持POSIX文件系统语义,如文件和目录操作、权限控制等,同时提供了缓存和并发访问优化,提高了数据访问性能。
步骤
1.安装s3fs-fuse
以Ubuntu为例,其他OS请参考 s3fs-fuse Github官网
            
            
              shell
              
              
            
          
          sudo apt install s3fs2.创建凭证文件
            
            
              shell
              
              
            
          
          echo ACCESS_KEY_ID:SECRET_ACCESS_KEY > ${HOME}/.passwd-s3fs
chmod 600 ${HOME}/.passwd-s3fs3.使用s3fs挂载MinIO桶
创建挂载点
            
            
              shell
              
              
            
          
          mkdir /mnt/minio挂载命令
            
            
              shell
              
              
            
          
          s3fs -o passwd_file=~/.passwd-s3fs -o url=http://127.0.0.1:9000 -o use_path_request_style <myBucketName> /mnt/minio添加参数查看更多信息:
-o dbglevel=info -f :运行时显示更多输出,挂载成功后会占用当前shell前端
-o curldbg:启用 cURL 的调试功能
-o umask=000:挂载目录的权限
-o use_path_request_style:启用不支持的类s3 api的兼容性(必须配置,否则挂载minio存储桶失败)
-o no_check_certificate:不检查证书
-o allow_other:允许所有用户访问
示例
            
            
              shell
              
              
            
          
          s3fs mybucket ./mybucket -o passwd_file=.passwd-s3fs -o url=http://127.0.0.1:9000  -o use_path_request_style -o dbglevel=info -f
查看挂载列表
            
            
              shell
              
              
            
          
          df -h输出:
Filesystem      Size  Used Avail Use% Mounted on
s3fs             64P     0   64P   0% /home/ubuntu/minio/mybucket取消挂载
            
            
              shell
              
              
            
          
          umount <路径>