okuyamaFuseの使い方分散KVSを使ったファイルシステム「okuyamaFuse」(2)(2/3 ページ)

» 2013年07月22日 18時20分 公開

実際にマウントしてみる

 では準備が整ったため、実際にokuyamaFuseをマウントしてみましょう。

okuyamaを起動する

 okuyamaFuseは、全てのデータをokuyamaに保存するため、マウント前――つまりokuyamaFuse起動前にokuyamaが起動している必要があります。

 単純にokuyamaFuseをテスト利用するだけであればokuyamaに付属するantでのテスト起動であるserverrunコマンドで十分です。これはokuyamaを配置したディレクトリで実行してください。

[okuyama配置ディレクトリ]$ant serverrun

 okuyamaの起動が確認できたでしょうか?

okuyamaFuse起動

 次にokuyamaFuseを起動し、ファイルシステムとしてマウントします。マウント場所は先程作成した/mnt/okuyamafuseです。マウントは、先程全ての必要ライブラリを配置した/root/okuyamaFuseディレクトリでroot権限で実行します。コマンドが長いので、表示所は\で区切っています。実際の入力は1行で構いません。

$LD_LIBRARY_PATH=./:/usr/local/lib \
java -classpath ./okuyamaFuse-0.0.1.jar:./fuse-j.jar:./commons-logging-1.0.4.jar:./okuyama-0.9.4.jar:./javamail-1.4.1.jar \
-Dorg.apache.commons.logging.Log=fuse.logging.FuseLog \
-Dfuse.logging.level=INFO \
-Xmx1024m -Xms1024m \
-server -XX:+UseConcMarkSweepGC -XX:+CMSParallelRemarkEnabled -XX:+UseParNewGC \
fuse.okuyamafs.OkuyamaFuse \
-f -o allow_other \
/mnt/okuyamafuse \
localhost:8888

 非常に長い実行コマンドになるため、以下でそれぞれの意味を説明しておきましょう。

1行目 LD_LIBRARY_PATH=./:/usr/local/lib

 fuse用ライブラリの場所を指定しています。

2行目 java -classpath ./okuyamaFuse-0.0.1.jar:./fuse-j.jar:./commons-logging-1.0.4.jar:./okuyama-0.9.4.jar:./javamail-1.4.1.jar

 java実行および、必要なjarファイルの指定をしています。

3行目 -Dorg.apache.commons.logging.Log=fuse.logging.FuseLog

 fuse-j用のログファイルを指定しています。

4行目 -Dfuse.logging.level=INFO

 fuse-j用のログレベルの指定をしています。ファイルシステムの動きが分かるように、テスト実行時は「DEBUG」か「INFO」と指定するのがお勧めです。

 実運用時には「ERROR」を指定することで障害発生時のみのログに絞ることができます。

5行目 -Xmx1024m -Xms1024m

 okuyamaFuseが利用するメモリ量を指定しています。

6行目 -server -XX:+UseConcMarkSweepGC -XX:+CMSParallelRemarkEnabled -XX:+UseParNewGC

 JVMへのGCオプションです。

7行目 fuse.okuyamafs.OkuyamaFuse

 okuyamaFuseの実行クラスの指定です。

8行目 -f -o allow_other

 fuseへの起動オプションです。オプションの一覧は環境にインストールしたfuseライブラリから参照できます。本稿の例では、「$/usr/local/src/fuse-2.8.6/example/.libs/fusexmp -h」です。

9行目 /mnt/okuyamafuse

 マウント先を指定しています。

10行目 localhost:8888

 データを保存するokuyamaへの接続情報です。okuyamaを複数台指定する場合は、カンマ区切りで「192.168.1.101:8888,192.168.1.102:8888」のように指定します。

 ここまでの操作が完了したら、実際にマウントできているか確認してみましょう。

 okuyamaFuse実行中のコンソールはそのままとし、別のコンソールを起動して実行してください。

$df -h
>fuse                   11T     0   11T   0% /mnt/okuyamafuse

 正しくマウントできていれば上記のようにマウントポイントとして先ほど指定したディレクトリが確認できるはずです。

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。