名前

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 モジュール を使う共有中で、カーネル共有モードを無効にしなければならないこと に注意。

オプション

glusterfs:logfile = path

vfs_glusterfs 固有のログファイルをどこに格納するかを定義する。 クライアント変数の置換はサポートされる(たとえば %M,%m,%I など) ので、クライアント単位のログファイルを指定できる。

例: glusterfs:logfile = /var/log/samba/glusterfs-vol2.%M.log

glusterfs:loglevel = 0-9

ログレベルの定義を行う。より大きな数値はより詳細であることを意味する。 0 - ログなし; 9 - トレースログレベル ; 7 は info ログレベルで 実行される。

もしもオプションで明示的にログレベルが指定されない場合は glusterfs 既定値のログレベルが使われる(通常 loglevel 7)。

glusterfs:volfile_server = servername

使用する volfile サーバーを定義する。既定値は localhost である。これは、下記のような要素を、空白文字で分離した リストでも良い。

1. unix+/path/to/socket/file

2. [tcp+]IP|hostname|\[IPv6\][:port]

RFC2732 における、 URL に IPv6 アドレスを使う場合の制限事項と同様に、 IPv6 ホスト名に対する制約があることに注意。

glusterfs:volume = volumename

この共有で使う glusterfs volumename を定義する。

CAVEATS

GlusterFS の write-behind パフォーマンストランスレータは、 Samba と共に使うと、データのソースを破壊する可能性があります。 トランスレータが書き込み呼び出しを処理している間は、すぐに 成功を返しますが、引き続きサーバにデータをバックグラウンドで 書き込んでいます。これは、データの一貫性を提供するために Samba に 依存している 2つのクライアントが同じファイルで動作している場合に データ破壊を引き起こす可能性があります。

write-behind トランスレータは GlusterFS では既定で有効になって います。vfs_glusterfs プラグインは、トランスレータの存在を 確認し、見つかった場合には、接続を拒否します。ボリュームに対して プラグインが接続できるようにするためには、GlusterFS に対して write-behind トランスレータを無効にしてください。 write-behind トランスレータは 以下のように呼び出すことで簡単に 無効に出来ます。

                        gluster volume set <volumename> performance.write-behind off
                

GlusterFS のバージョンが 9 より大きい場合、最初の接続時には write-behind トランスレータを無条件にバイパスするので、 失敗が防げます。

バージョン

このマニュアルページは Samba バージョン 4.17.0 用である。

著者

オリジナルの Samba ソフトウェアと関連するユーティリティは、Andrew Tridgell によって作成された。現在 Samba は Samba Team に よって、Linux カーネルの開発と同様のオープンソースプロジェクト として開発が行なわれている。

日本語訳

このドキュメントは、Samba 4.13.3 - 4.13.4 に対応する。

このドキュメントの翻訳は

  • 太田俊哉 (ribbon@samba.gr.jp)

によって行なわれた。