s3fs安装使用
编辑前言
最近在预研将对象存储桶挂载到本地文件系统的需求,查阅了一些相关的资料,找到s3fs-fuse开源组件,可以满足需求,本文主要记录一下s3fs的部署以及使用。
s3fs简介
s3fs 是一个 C++ 开发的开源工具,可以将 S3 对象存储通过 FUSE 挂载到本地,像本地磁盘一样进行读写访问。
安装
本次使用的是源码编译安装的方式,使用的服务器版本是redhat7.6,s3fs软件版本是v1.92。
首先安装依赖:
yum install automake fuse-devel gcc-c++ git libcurl-devel libxml2-devel make openssl-devel -y
去官网下载对应的源码包,解压:
unzip -o s3fs-fuse-1.92.zip
源码编译安装:
cd s3fs-fuse-1.92
./autogen.sh
./configure
make
sudo make install
创建S3鉴权文件并赋权:
echo "minioadmin:minioadmin" > /etc/passwd-minio
chmod 600 /etc/passwd-minio
挂载已存在的bucket到文件目录,这边注意如果使用url格式的话,需要额外指定use_path_request_style参数:
s3fs test01 /data/bucket/test01 -o passwd_file=/etc/passwd-minio -o url=http://173.16.156.6:9000 -o use_path_request_style
挂载成功之后,可以使用df命令看到已经挂载的bucket:
可以对bucket中的文件进行操作:
结语
基于s3fs我们可以完成很多功能,比如说可以更方便的操作桶内的文件,还有简单的实现对象跨池和桶的迁移等等。
参考:
https://www.cnblogs.com/gustabm/p/15988551.html
https://github.com/s3fs-fuse/s3fs-fuse/blob/master/COMPILATION.md