S3FS是google开发的一款支持将对象存储中的bucket以文件形式导出的文件系统接口,是基于FUSE开发文件系统,允许Linux挂载S3的存储桶在本地文件系统,S3FS能够保持对象原来的格式。
第一步:安装epel-release
EPEL (Extra Packages for Enterprise Linux)是基于Fedora的一个项目,为“红帽系”的操作系统提供额外的软件包。这个软件包会自动配置yum的软件仓库。
yum -y install epel-release
第二步:安装s3fs-fuse
yum -y install s3fs-fuse
第三步:找到对象存储的 AccessKeyID和AccessSecretKey
第四步:以AccessKeyID:AccessSecretKey的格式写入到/etc/passwd-s3fs中
第五步:修改/etc/passwd-s3fs权限为600,并创建一个目录
第六步:挂载存储到本地,其中 桶名 为对象存储中的容器名称
s3fs 桶名 /root/myfile -o passwd_file=/etc/passwd-s3fs -o url=http://oos-sdqd.ctyunapi.cn -o allow_other
第七步:查看磁盘
建议使用空的bucket进行挂载操作,因为存储桶中已存在的历史目录可能会被系统错误识别为文件,从而导致挂载后出现意外问题。不过,如果通过 s3fs 挂载后在 Linux 系统中创建目录,则不会出现此类问题。
第八步:开机自动挂载
挂载好之后,可以像使用本地磁盘一样使用对象存储。但是重启主机之后,会丢失,需要重新挂载。
可以将挂载信息写入/etc/fstab中
echo "s3fs#桶名 /root/myfile fuse _netdev,allow_other,use_path_request_style,url=http://oos-sdqd.ctyunapi.cn/ 0 0" >>/etc/fstab