[Linux] サードパーティのツールご利用ガイド

s3fsのご利用方法

s3fsはオブジェクトストレージをLinuxサーバーへマウントするツールです。オブジェクトストレージをLinuxサーバーのローカルディスクと同様に操作することが可能となります。

■注意点

・s3fsは外部のソフトウェアとなりますので、弊社で動作保証、およびソフトウェアに関するサポートは行っておりません。ご了承の上ご利用ください。
・s3fsではバケットの作成は出来ません。あらかじめ別の方法でバケットの作成を行ってください。
 (別途ご案内しておりますs3cmd、DragonDiskでバケットの作成が可能です)
・オブジェクトストレージのご利用は、当社「IDCFクラウド」にてアカウント登録が必須となります。
(仮想マシンなどクラウドサービスのご利用は無くても、オブジェクトストレージサービスのご利用は可能ですが、アカウント登録は必須となります)



以下に、当社「IDCFクラウド」にて、CentOS(当社用意テンプレート)をご利用の場合を例にご案内します。

1.事前準備


SSH接続が可能な仮想マシンを用意します。

※すでにご利用中の仮想マシンでも問題ありません。
※仮想マシンのスペックによる制限はありません。
※当社「IDCFクラウド」ではない環境(サーバー、PC、一部のストレージ)からもオブジェクトストレージのご利用は可能です。


2. s3fsのインストール

CentOS 5、6、7系の場合


※CentOS5系については、fuseのバージョンとs3fsのバージョンの関連により、充分に動作の確認できる環境をご案内することが出来かねます。予めご了承ください。


■ 必要パッケージのインストール
# yum -y install gcc-c++
# yum -y install make
# yum -y install openssl-devel
# yum -y install curl-devel
# yum -y install libxml2-devel
# yum -y install fuse-devel
各パッケージにて、実行後に「Complete!」が表示されることをご確認ください。



■ fuse のインストール

ここでは、2014/11/6 時点での最新バージョン「fuse-2.9.3」を例に、設定方法ご紹介します。
※インストール前に最新バージョンをご確認ください。
fuse のサイト( http://sourceforge.net/projects/fuse/files/fuse-prerelease/ )

ソースコードのダウンロード
# wget http://downloads.sourceforge.net/project/fuse/fuse-2.X/2.9.3/fuse-2.9.3.tar.gz

fuse を解凍
# tar xzvf fuse-2.9.3.tar.gz

fuse-2.9.3 ディレクトリへ移動
# cd fuse-2.9.3

コンパイルに必要な情報の設定
# ./configure prefix=/usr

コンパイル
# make

make で生成されたファイルをインストール
# make install

PKG_CONFIG_PATH の環境変数の設定
# export PKG_CONFIG_PATH=/usr/lib/pkgconfig:/usr/lib64/pkgconfig/

ダイナミックリンクライブラリの設定
# ldconfig

kernel に fuse ドライバをロード
# modprobe fuse

インストールされた fuse のバージョンの確認。番号が表示されます。
# pkg-config --modversion fuse



■s3fsのインストール

ここでは、2014/11/6 時点での最新バージョン「s3fs-1.74」を例に、設定方法をご紹介します。
s3fs のサイト( https://code.google.com/p/s3fs/downloads/list )
※インストール前に最新バージョンをご確認ください。


ソースコードのダウンロード
# wget https://s3fs.googlecode.com/files/s3fs-1.74.tar.gz

s3fs を解凍
# tar zxvf s3fs-1.74.tar.gz

s3fs-1.74 ディレクトリへ移動
# cd s3fs-1.74

コンパイルに必要な情報の設定
# ./configure prefix=/usr

コンパイル
# make

make で生成されたファイルをインストール
# make install

passwd-s3fs を新規作成
# vi /etc/passwd-s3fs
APIキー:シークレットキー
上記のように passwd-s3fs に、コントロールパネル(WEB画面)で生成したキーを:(コロン)で区切って記述

passwd-s3fs のパーミッションを変更
# chmod 600 /etc/passwd-s3fs



3. s3fs でオブジェクトストレージをマウント



■手動マウント


即時でマウントする方法です。(*この方法は、OS リブート時にマウントが解除されます。リブート後に自動でマウントさせたい場合は、後述の「自動マウント」を行います)

マウントするディレクトリを作成
# mkdir [ディレクトリ名]

dfコマンドを使って、マウント情報を確認
# df -h

マウント実行
# s3fs [バケット名] [ディレクトリ名] -o allow_other,url=http://[エンドポイント],[オプション]

例)s3fs testbucket /mnt/testdir -o allow_other,url=http://ds.jp-xxx.xxx.com



□注意点

・エンドポイントはコントロールパネル(WEB画面)でご確認ください。プライベートコネクト経由での接続はエンドポイントが異なります。
・s3fs ではバケットの作成は出来ません。事前にs3cmdなど別のツールでバケットの作成が必要です。
・「-o」以降は、全てオプションです。適宜変更してご利用ください。
・オプションは 「-o」の後に記載するか、「,」でつなぎます。
 例)-o [オプション] -o [オプション] -o [オプション] または -o [オプション], [オプション], [オプション]
・-o allow_other の箇所は例として記載しましたが、オプションですので、適宜調整してください。
(オプション「allow_other」は、マウントしている仮想マシンの全ユーザーからのアクセスを許可します)


dfコマンドを使って、マウント情報を確認
# df -h
Filesystem Size Used  Avail Use%   マウント位置
/dev/sda1   15G  1.2G  13G  9%  /
tmpfs 246M   0  246M  0%  /dev/shm
s3fs 256T   0   256T 0% /mnt/*****






■自動マウント


/etc/fstab の末尾に以下のように vi で追記します。(以下は例です)
s3fs#[バケット名] [ディレクトリ名] fuse allow_other,url=http://[エンドポイント],[オプション] 0 0

例)s3fs#testbucket /mnt/testdir fuse allow_other,url=http://ds.jp-xxx.xxx.com 0 0

※オプションを複数指定する場合は,(カンマ)で区切って並べます。



□注意点
・エンドポイントはコントロールパネルでご確認ください。
・fuse :ファイルシステムの種類を指定しています。
・allow_other~[オプション]までは、全てオプションです。適宜変更して記述を行ってください。
(allow_other は、マウントしている仮想マシンの全ユーザーからのアクセスを許可します)
・オプションは「,」でつなぎます。
例)fuse [オプション],[オプション],[オプション]



以下コマンドを実行してください。
再起動後に環境変数を設定する(/.bashrc に設定情報を追記)
# echo "export PKG_CONFIG_PATH=/usr/lib/pkgconfig:/usr/lib64/pkgconfig/" >> ~/.bashrc
(一行で記述します)

再起動後に fstab のマウントを実施 (/etc/rc.local に追記)
# echo "mount -a" >> /etc/rc.local



以上でs3fsの初期設定は完了です。

4. その他の操作



パーミッションの変更
# s3fs testbucket /mnt/testdir -o default_acl=public-read
/mnt/testdir 内のオブジェクトを http で公開します



s3fs のアンマウント
マウント状況を確認します
# df –h

オブジェクトストレージをアンマウントします
# umount s3fs

マウント状況を確認します
# df –h


以上が s3fs の基本的なご利用方法となります。
その他のご利用方法につきましては、Web にて公開されている一般情報などをご参考ください。

このページの先頭へ このページの先頭へ