在linux中,大部分时候会使用s3cmd向对象存储中上传文件或从对象存储中下载文件,但此种方法依然不够直观和便捷,现记录一次使用S3FS连接对象存储的过程,此方法可以便捷地像操作文件系统一样对对象存储桶中的文件进行操作。
简介
S3FS是google开发的一款支持将对象存储中的bucket以文件形式导出的文件系统接口,兼容POSIX语义,允许Linux和Mac Os X挂载S3的存储桶在本地文件系统,且能够保持对象原来的格式。
以下操作都是使用root用户。
安装
安装S3FS可以编译安装,对于CentOS系统,也可以方便地使用yum进行安装
yum install -y s3fs-fuse
配置
在root文件夹下,创建一个.passwd-s3fs文件(也可以创建/etc/passwd-s3fs以公用),在文件中按下面格式写入一行AK和SK信息
ACCESS_KEY_ID:SECRET_ACCESS_KEY
保存退出,将这个文件的权限改为600,注意,属组不可以有任何权限,否则会报错。
创建一个空文件夹,用于挂载。
挂载
回到root文件夹下,使用下面的命令把对象存储桶内的文件挂载到本地文件夹下(已经修改到最佳命令形式)
s3fs [桶名称] [本地文件夹路径] -o passwd_file=.passwd-s3fs -o url=http://[对象存储网关地址/endpoint]:[端口] -o use_path_request_style
挂载完后查看该文件夹可以发现存储桶内的文件已经全部以文件系统的方式显示了出来,可以通过文件系统复制的方式下载或上传文件。