okuyamaFuseの使い方:分散KVSを使ったファイルシステム「okuyamaFuse」(2)(2/3 ページ)
分散KVSでファイルシステムを作ってしまった! 前回記事でfuseを使ったファイルシステム作成の前提を紹介しました。今回は、実際の環境を作って試してみましょう。
実際にマウントしてみる
では準備が整ったため、実際に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.