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 s3fs
2.创建凭证文件
shell
echo ACCESS_KEY_ID:SECRET_ACCESS_KEY > ${HOME}/.passwd-s3fs
chmod 600 ${HOME}/.passwd-s3fs
3.使用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 <路径>