vfs_glusterfs — GlusterFS によって提供される機能の利用
vfs objects = glusterfs
この VFS モジュールは samba(8) システムの一部である。
GlusterFS (http://www.gluster.org) は、オープンソースのクラスタファイルシステムであり、ペタバイト まで容量を拡張できる。FUSE ベースのネイティブなクライアントを 使うと、GluterFS は POSIX 互換のファイルシステムとして使えるので、 追加の作業なしで、Samba から共有できる。
vfs_glusterfs
VFS モジュールは、共有を行うとき、
Samba から Gluster ファイルシステムにアクセスする、
より優れた代替手法を提供する。これは、Gluster FUSE マウントを
必要とせず、ライブラリ libgfapi
経由で
GlusterFS デーモンに直接アクセスするので、コストのかかる
kernel-userspace コンテキストスイッチを省略でき、
GlusterFS が持つより高度な機能のいくつかを利用できる。
このモジュールは他のモジュールと一緒に使えるが、
vfs objects
リスト中で一番最後のモジュールに
してはいけない。このリスト上で、glusterfs の右側に追加された
モジュールはほぼ全く効果が無い。
基本的な設定は以下の通り。
[share]
vfs objects = glusterfs
path = /relative/base/path
glusterfs:volume = gv0
kernel share modes = no
vfs_glusterfs
は Gluster mount を必要としない
ので、共有 path
は他の共有と異なった形で
扱われることに注意。使用時には gluster ボリュームからの
相対共有ベースパスとして扱われる。このため、通常は、ctdb が Samba
を管理する時の、ctdb クラスタセットアップ中にあるシステムパスと
同じではないので、ctdb 設定ファイル中で、
CTDB_SAMBA_SKIP_SHARE_CHECK=yes
を設定する
必要がある。この設定が無いと、ctdb は healthy という結果を得る
ことができない。
現在、ファイル機能が適正に動くように、glusterfs vfs モジュール を使う共有中で、カーネル共有モードを無効にしなければならないこと に注意。
vfs_glusterfs 固有のログファイルをどこに格納するかを定義する。 クライアント変数の置換はサポートされる(たとえば %M,%m,%I など) ので、クライアント単位のログファイルを指定できる。
例: glusterfs:logfile = /var/log/samba/glusterfs-vol2.%M.log
ログレベルの定義を行う。より大きな数値はより詳細であることを意味する。 0 - ログなし; 9 - トレースログレベル ; 7 は info ログレベルで 実行される。
もしもオプションで明示的にログレベルが指定されない場合は glusterfs 既定値のログレベルが使われる(通常 loglevel 7)。
使用する volfile サーバーを定義する。既定値は localhost である。これは、下記のような要素を、空白文字で分離した リストでも良い。
1. unix+/path/to/socket/file
2. [tcp+]IP|hostname|\[IPv6\][:port]
RFC2732 における、 URL に IPv6 アドレスを使う場合の制限事項と同様に、 IPv6 ホスト名に対する制約があることに注意。
この共有で使う glusterfs volumename を定義する。