+86 135 410 16684Mon. - Fri. 10:00-22:00

使用s3fs将S3存储桶挂载在Linux的文件系统下

使用s3fs将S3存储桶挂载在Linux的文件系统下

使用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