使用s3fs将S3存储桶挂载在Linux的文件系统下
亚 马逊的S3(Simple Storage Service)服务是一个服务于互联网用户的存储类服务。类似于网盘一样,可以通过网络随时随地的获取存储的数据。用户可以使用亚马逊提供的S3 Management Console去管理自己的S3存储桶。如果想要更多的了解S3服务,请点击这里。今天分享的重点并不是传统意义上的如何使用S3,而是如何把S3存储桶挂载到Linux的文件系统下,这样操作存储桶里的数据就如同操作本地文件一样方便。亚马逊允许使用FUSE文件系统挂载S3存储桶,这里使用比较流行的方式s3fs去挂载S3存储桶。
S3FS安装:
本文的安装环境使用的是CentOS 6.5。
1、先安装一些软件的依赖环境
yum install fuse.x86_64 fuse-devel.x86_64 fuse-libs.x86_64 libconfuse-devel.x86_64 libconfuse.x86_64
yum install gcc-c++.noarch
yum install curl.x86_64 libcurl-devel.x86_64 libcurl.x86_64
yum install libxml2.x86_64 libxml2-devel.x86_64
yum install openssl-devel.x86_64
2、下载最新的稳定版本的s3fs
wget http://s3fs.googlecode.com/files/s3fs-1.74.tar.gz
3、安装s3fs
tar -zxf s3fs-1.74.tar.gz
cd s3fs-1.74
./configure
make
sudo make install
4、新建一个文件去储存AWS秘钥,以允许s3fs去访问你的S3存储桶
新建文件/etc/passwd-s3fs 或者 ~/.passwd-s3fs
秘钥的储存方式为 AWSACCESSKEYID:AWSSECRETACCESSKEY
比如:
cat /etc/passwd-s3fs
AKIBACYNFAA32UY4EX12:GvrWk1EC+wMQ/KQsS+/Vs12bK3yS/lBXFlg2biVk
更改密码文件权限来限制访问
chmod 640 /etc/passwd-s3fs
5、挂载S3存储桶
新建一个文件用来挂载S3存储桶 sudo mkdir /mnt/s3
修改文件所属群组和用户 sudo chown 用户:群组 /mnt/s3
新建一个文件夹来作为S3与本地交互的缓存 mkdir ~/cache
最后一步就是挂载
s3fs -o uid=500,gid=500,use_cache=/home/user/cache MyBucket /mnt/s3
挂载之后使用mount命令可以看一下是否挂载上。
这样就可以按照平时操作文件一样操作S3存储桶了
例如:time cp test.jpg /mnt/s3