IDCFの分散ストレージサービスを使ってみる(s3fs編)

前回の、DragonDisk編と同じですが、今回はs3fsを利用して、IDCF分散型ストレージを利用してみたいと思います。

s3fsをダウンロードし、解凍、コンパイルします。

#wget https://s3fs.googlecode.com/files/s3fs-1.63.tar.gz
#tar -zxvf s3fs-1.63.tar.gz
#cd s3fs-1.63
#./configure --prefix=/usr

下記エラーが表示されてしまいました。

checking for DEPS... configure: error: Package requirements (fuse >= 2.8.4 libcurl >= 7.0 libxml-2.0 >= 2.6 libcrypto >= 0.9) were not met:

Requested 'fuse >= 2.8.4' but version of fuse is 2.8.3

Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.

Alternatively, you may set the environment variables DEPS_CFLAGS
and DEPS_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.

fuseのバージョンが古いよと。
しかしepelリポジトリにも2.8.3までしか無いようなので、パッケージを一度削除し、ソースからインストールします。

#yum remove fuse
#yum remove fuse-devel
#wget http://downloads.sourceforge.net/project/fuse/fuse-2.X/2.9.2/fuse-2.9.2.tar.gz?r=http%3A%2F%2Fsourceforge.net%2Fprojects%2Ffuse%2Ffiles%2Ffuse-2.X%2F&ts=1363162605&use_mirror=jaist
#tar -zxvf fuse-2.9.2.tar.gz
#cd fuse-2.9.2
#./configure prefix=/usr
#make && make install

環境変数の設定

#export PKG_CONFIG_PATH=/usr/lib/pkgconfig:/usr/lib64/pkgconfig/

fuseを有効にします。

#ldconfig
#modprobe fuse
#pkg-config --modversion fuse

s3fsを再度コンパイルします。

#cd /usr/local/src/s3fs-1.63
#./configure prefix=/usr
#make && make install

アクセスキー、シークレットキーを登録します。

s3fsを利用して、マウントしてみます

#s3fs https://bucketname.cs-ap-e1.ycloud.jp/ /mnt/idcfstorage
#s3fs: credentials file /etc/passwd-s3fs should not have others permissions

passwd-s3fsファイルのパーミッションを640にします。

#chmod 640 /etc/passwd-s3fs

もう一度マウント

#s3fs https://bucketname.cs-ap-e1.ycloud.jp/ /mnt/idcfstorage
s3fs: invalid credentials

あれ?
使い方が違うようです。

# s3fs bucketname /mnt/idcfstorage -o allow_other -o -url=https://cs-ap-e1.ycloud.jp/
fuse: warning: library too old, some operations may not not work

URL最後に/(スラッシュ)をつけてしまったのが原因のようです。

#s3fs bucketname /mnt/idcfstorage -o allow_other -o -url=https://cs-ap-e1.ycloud.jp
fuse: bad mount point `/mnt/idcfstorage': Transport endpoint is not connected

dfしてみたら、下記のようなメッセージがでました。

# df -h
Filesystem            Size  Used Avail Use% マウント位置
/dev/sda1              15G  2.4G   12G  17% /
tmpfs                 939M     0  939M   0% /dev/shm
/dev/sdb1              40G  518M   37G   2% /var
df: `/mnt/idcfstorage': 通信端点が接続されていません

アンマウントしていなかったのが原因のようです。

#umount /mnt/idcstorage

再実行!

#s3fs bucketname /mnt/idcfstorage -o allow_other -o -url=https://cs-ap-e1.ycloud.jp

dfで確認します。

# df -h
Filesystem            Size  Used Avail Use% マウント位置
/dev/sda1              15G  2.4G   12G  17% /
tmpfs                 939M     0  939M   0% /dev/shm
/dev/sdb1              40G  518M   37G   2% /var
s3fs                  256T     0  256T   0% /mnt/idcfstorage

S3と同様に、256Tでマウントされました。


PAGE TOP