2012-02-22

AmazonEC2にS3領域をマウントしてみる

今日は、EC2にS3のバケットをマウントしてみました。
手順はこんな感じ。
  1. FUSEにいる物をインストール
  2. FUSEインストール
  3. f3sfインストール
  4. A3にバケット作成
  5. マウント
  6. 再起動してもマウント
参考にしたこちらのサイト通りでほぼOKです。
memorycraft: S3ってなんじゃ?(s3fs編)

では、インストールログを。。

1.FUSEにいる物をインストール

# yum -y install gcc
# yum -y install gcc-c++
# yum -y install libstdc++-devel
# yum -y install pkgconfig
# yum -y install make
# yum -y install curl-devel
# yum -y install libxml2-devel
# yum -y install openssl-devel

2.FUSEインストール

バージョン確認 2.8.4より新しくないと駄目。 yumで入れられない場合は⇒http://sourceforge.net/projects/fuse/files/fuse-2.X/
$ yum list | grep fuse
fuse.x86_64                           2.8.6-1.10.amzn1             amzn-updates
fuse-devel.x86_64                     2.8.6-1.10.amzn1             amzn-updates
インストール
# yum -y install fuse
# yum -y install fuse-devel
環境変数設定
# export PKG_CONFIG_PATH=/usr/lib64/pkgconfig
カーネルにロード
# ldconfig 
# modprobe fuse

3.f3sfインストール

# cd /usr/local/src
# wget http://s3fs.googlecode.com/files/s3fs-1.40.tar.gz
# tar zxvf s3fs-1.40.tar.gz 
# cd s3fs-1.40
# ./configure prefix=/usr
# make
# make install

4.A3にバケット作成


5.マウント

キー情報を記載
単一認証
# echo アクセスキー:シークレットキー > /etc/passwd-s3fs
複数認証http://www.blogger.com/blogger.g?blogID=9198835639547511373#editor/target=post;postID=8405377529952507279
# echo バケット名:アクセスキー:シークレットキー > /etc/passwd-s3fs

# chmod 640 /etc/passwd-s3fs 
マウント
# mkdir /mnt/s3
# s3fs myfirst-bucket /mnt/s3
# df -kh
Filesystem            Size  Used Avail Use% Mounted on
/dev/xvda1            7.9G  2.4G  5.5G  30% /
tmpfs                 3.7G     0  3.7G   0% /dev/shm
s3fs                  256T     0  256T   0% /mnt/s3

6.再起動してもマウント

# vi /etc/fstab
+++ s3fs#myfirst-bucket /mnt/s3 fuse allow_other,default_acl=public-read 0 0

# vi /etc/rc.d/rc.sysinit
...
. /etc/init.d/functions
+++ modprobe fuse

*** うーんうまくできなかった (´;ω;`)ウッ… ***

微妙な感じでうまくいかない。見えたり、見えなかったり。。。よって、こちらのバージョンにした。

cloudpack ブログ - S3ってなんじゃ?(s3cmd編) -
オフィシャル:Amazon S3 tools: s3cmd : command line S3 client