Amazon mount s3 to Ec2 with s3fs

理论上,S3 是一个全球存储区域网络 (SAN),它表现为一个超大的硬盘,您可以在其中存储和检索数字资产。但是,从技术上讲,Amazon 的架构有一些不同。您通过 S3 存储和检索的资产被称为对象。对象存储在存储段(bucket)中。您可以用硬盘进行类比:对象就像是文件,存储段就像是文件夹(或目录)。与硬盘一样,对象和存储段也可以通过统一资源标识符(Uniform Resource Identifier,URI)查找。(http://aws.amazon.com/s3)

创建S3,登录到 https://console.aws.amazon.com/s3/home,点击“create bucket”,可以创建一个s3硬盘。

安装包:

/*Download: http://s3fs.googlecode.com/files/s3fs-1.61.tar.gz
Download SHA1 checksum: 8f6561ce00b41c667b738595fdb7b42196c5eee6
Download size: 154904
*/
wget http://s3fs.googlecode.com/files/s3fs-1.61.tar.gz
tar xvzf s3fs-1.61.tar.gz
cd s3fs-1.61/
sudo ./configure --prefix=/usr
sudo make
sudo make install

Install prerequisites before compiling:

在编译之前,有些辅助库需要安装,ubuntu系统需要确认安装以下软件包:
Install prerequisites before compiling:

    apt-get install gcc
    apt-get install build-essential
    apt-get install libfuse-dev
    apt-get install fuse-utils
    apt-get install libcurl4-openssl-dev
    apt-get install libxml2-dev
    apt-get install mime-support 

Fedora / CentOS系统需要安装以下软件包:

    yum install gcc
    yum install libstdc++-devel
    yum install gcc-c++
    yum install fuse
    yum install fuse-devel
    yum install curl-devel
    yum install libxml2-devel
    yum install openssl-devel
    yum install mailcap 

s3fs的编译需要fuse版本在2.8.4以上,如果系统默认安装的fuse版本低于2.8.4,则需要另外编译安装fuse2.8.4.
找到两个source fuse的安装包地址。

$ sudo wget https://launchpad.net/ubuntu/+archive/primary/+files/fuse_2.8.4.orig.tar.gz  (source 1)
$ sudo wget http://sourceforge.net/projects/fuse/files/fuse-2.X/2.8.4/fuse-2.8.4.tar.gz/download (source 2)
$ cd fuse-2.8.4/
$ tar xzf fuse_2.8.4.orig.tar.gz 
$ sudo ./configure 
$ sudo make
$ sudo make install
$ sudo export PKG_CONFIG_PATH=/usr/lib/pkgconfig:/usr/lib64/pkgconfig/
$ sudo   ldconfig
$ sudo   modprobe fuse
$ sudo   pkg-config --modversion fuse (confirm that 2.8.4 is the version displayed)
  

一切准备好之后,再回到s3fs-1.61目录继续:

cd s3fs-1.61/
sudo ./configure --prefix=/usr
sudo make
sudo make install

之后输入命令s3fs 有option提示说明s3fs安装成功。

如何使用s3fs mount s3?

$ sudo vim /etc/passwd-s3fs

输入[accessKeyId]:[secretAccessKey]键值对,访问Amazon securityCredentials里面有.

sudo chmod 640 /etc/passwd-s3fs
sudo mkdir  /mnt/s3
sudo s3fs [your-s3-bucket-name] /mnt/s3 -ouse_cache=/tmp -o allow_other

以上可以将s3 mount到ec2上的/mnt/里面, 如果卸掉可以用umount:

sudo umount /mnt/s3

from

http://code.google.com/p/s3fs/wiki/InstallationNotes

http://www.redmine.org/projects/redmine/wiki/HowToInstallRedmineOnUbuntuServer

Leave a Reply

 

 

 

You can use these HTML tags

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

Protected by WP Anti Spam