今回は Gfarm クライアントの一つである Gfarm Samba VFS module を紹介します。
Gfarm Samba VFS module とは¶
Samba サーバを経由して Gfarm にアクセスできます。
Samba の VFS モジュール (plug-in) として実装されています。
Windows から Gfarm にアクセスしたり、Linux などから CIFS マウントして Gfarm にアクセスできます。
これまでも、Gfarm を gfarm2fs によるマウントポイントを Samba で公開する方法を利用できましたが、Samba の VFS モジュールであれば、gfarm2fs によるマウントが不要です。
インストール¶
まず、Gfarm を通常利用できる状態にインストールとセットアップしておきます。
Samba サーバを動作させるホストを Gfarm のクライアントとして利用できるようにし、各ユーザが Gfarm にアクセスできるように設定しておきます。
ユーザ認証に共有鍵 (sharedsecret) を使用する場合は、Gfarm のサーバ、クライアントの全ホストに、使用するサーバとユーザの鍵を配布しておきます。
ユーザ認証に GSI を使用する場合は、Samba でアクセスする前に、この Samba サーバを実行するホスト上で、各ユーザが grid-proxy-init などを実行しておく必要があります。
次に、Gfarm の Samba VFS モジュールをインストールする準備として、Samba バージョン 3.6 系が必要です。それ以外のバージョンでは動作しません。
Samba をソースパッケージからインストールする方法とバイナリパッケージを使用する方法があります。
Ubuntu 12.04 でバイナリパッケージを使用する場合は、以下の方法でインストールします。
$ sudo apt-get install samba
CentOS 5.x でバイナリパッケージを使用する場合は、以下の方法でインストールします。
# yum install samba3x
CentOS 6.x には、Samba 3.6 系のバイナリパッケージが公式にはありません。以下で公開されているようですが、ここでは説明を省略します。
Samba をソースパッケージからインストールした場合は、Samba の起動スクリプトや設定を自分で用意しなければならないようです。
次に、pdedit コマンドなどで、Samba を利用できるユーザアカウントを設定しておきます。
次に、Samba 3.6 のソースパッケージを新規に用意して展開し、以下を実行します。Samba をバイナリパッケージでインストールしていても、VFS モジュールをビルドするために、ソースパッケージが必要です。
$ cd samba-3.6.x/source3
$ ./configure.developer
$ make
ここでは make install しません。上記の samba-3.6.x/source3 ディレクトリを、下記の SAMBA_SOURCE_DIRECTORY として指定します。
Gfarm Samba VFS module のソースパッケージを展開し、以下を実行します。
$ ./configure --with-samba=SAMBA_SOURCE_DIRECTORY \
--with-gfarm=GFARM_INSTALL_DIRECTORY \
--libdir=SAMBA_LIBRARY_DIRECTORY
$ make
# sudo make install
GFARM_INSTALL_DIRECTORY には、Gfarm をインストールしたディレクトリを指定します。
SAMBA_LIBRARY_DIRECTORY には /usr/lib64/samba や /usr/lib/samba のような Samba のライブラリが置かれているディレクトリを指定します。OS によって異なりますが、Samba をインストールすると vfs ディレクトリが作られているので、その親ディレクトリを指定します。
ソースパッケージから Samba をインストールした場合は、vfs ディレクトリが (prefix)/lib/vfs となるので、SAMBA_LIBRARY_DIRECTORY には (prefix)/lib を指定します。
次に、smb.conf (例えば /etc/samba/smb.conf) に以下を追加します。
[gfarm]
comment = Gfarm FS
path = /
vfs objects = gfarm
writeable = yes
browseable = yes
そして、smbd を再起動すれば完了です。
Windows のエクスプローラーのアドレスバーに「\\Sambaホスト名\gfarm」を入力すれば、Gfarm にアクセスできます。
Windows Vista/7 にて ssh 経由で Samba にアクセスする方法¶
Samba に直接アクセスできない場合、Samba にアクセスできる環境にssh で接続して、その ssh を経由して Samba にアクセスできます。
Windows XP とWindows Vista 以降では方法が異なります。
以下は Windows XP の場合です。
Windows Vista 以降では、以下のページを参考に設定すれば、ssh 経由で Samba にアクセスできます。Windows 8 での動作は未確認です。
上記の要点は以下のようですね。
- smb サービスを自動起動しないようにする。
- portproxy 機能で 445 番を PuTTY にポート転送する。
- ログオンしてから smb を起動するようタスクスケジューラーに設定する。