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





你可能感兴趣的:(AWS)