名前

vfs_fileid — クラスター構成時で使えるように、 ユニークなデバイス ID 値で file_id 構造体を生成する

書式

vfs objects = fileid

説明

この VFS モジュールは samba(7) システムの一部である。

ファイルロックの際、Samba は file_id 構造体を使ってファイルを一意に 特定する。デフォルトでは、file_id には stat() システムコールで返されたデバイスおよび inode 番号が格納されている。 file_id はファイルの一意な識別子であるため、これはある特定のクラスター 構成のの中では、すべてのノードで同じ値である必要がある。 このモジュールは SMB_VFS_FILE_ID_CREATE() の動作を オーバーライドし、設定されたアルゴリズム( "fileid:algorithm" オプションを参照のこと)に従ってデバイス番号を生成する。

fsname 又は fsid アルゴリズムを使う場合、file_id を生成するために、 すべてのマウントされたファイルシステムにおいて、 stat()statfs() 呼び出しが必要である。 たとえば、NFS ファイルシステムが応答しなくなると、そのような呼び出しは ブロックされ、smbd プロセスが応答しなくなる。 "fileid:fstype deny"、"fileid:fstype allow"、"fileid:mntdir deny"、 または "fileid:mntdir allow" オプションを使うことで、潜在的に応答しない ファイルシステムを無視する。

オプション

fileid:algorithm = ALGORITHM

指定できるアルゴリズムはfsnamefsname_nodirsfsidhostnameである。デフォルト値は fsnameである。

fsname アルゴリズムでは、 デバイス ID を カーネルのデバイス名から生成する。

fsname_nodirs アルゴリズムは、ファイルの カーネルのデバイス名をハッシュし、ディレクトリのホスト名を ハッシュすることで、デバイス ID を生成する。これは、意図的に、 クラスタ中のディレクトリの一貫性を破るために使用できる。

fsid アルゴリズムは、デバイス ID を statfs()システムコールで返された f_fsidから生成する。

hostname アルゴリズムは、 ホスト名をハッシュしてデバイス IDを生成する。これは、 クラスタ中のロックの一貫性を破るために使用できる。

fsname_norootdir アルゴリズムは、 hostname アルゴリズムで使われる、共有のルートディレクトリを除き、 カーネルデバイス名をハッシュして、デバイス IDを生成する。 これは、共有のルートディレクトリのクラスタ中の、ロックの 一貫性を破るのに使われる。

fsname_norootdir_extアルゴリズムは カーネルデバイス名をハッシュすることにより、デバイス id を生成するが、 ホスト名アルゴリズムを使う共有のルートディレクトリでは行わない。 さらに、プロセスの pid をベースにした extid も生成する。 これは、共有のルートディレクトリ用の、クラスタ全体中で、すべての smbd プロセス間でのロックの一貫性を意図的に解除することができる。

fileid:mapping = ALGORITHM

このオプションはfileid:algorithmオプションの レガシーな(古い)バージョンである。これは Samba 3.0 のカスタム バージョンにおいて、フィールドマッピング機能に関する以前のバージョンで 使われていた。

fileid:fstype deny = LIST

file_id 生成時に無視されるファイルシステムタイプの一覧。

fileid:fstype allow = LIST

file_id 生成時に有効となるファイルシステムタイプの一覧。 このオプションが設定された場合、ここで指定されたファイルシステムタイプ 以外は無視される。

fileid:mntdir deny = LIST

file_id 生成時に無視される、ファイルシステムマウントポイント の一覧。

fileid:mntdir allow = LIST

file_id 生成時に有効となる、ファイルシステムマウントポイントの 一覧。このオプションが設定された場合、ここで指定されたファイルシステム マウントポイント以外は無視される。

fileid:nolockinode

このオプションは、クラスタ中にある、対応するファイルまたは ディレクトリのロックの一貫性を意図的に破るのに使用できる 設定された inode に対する、fileid hostnameアルゴリスムの使用を トリガする。

設定例

fsid アルゴリズムを使って fileid モジュールを使う場合の例

        [global]
	vfs objects = fileid
	fileid:algorithm = fsid

バージョン

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

著者

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

日本語訳

このマニュアルページは Samba 4.8.0 - 4.13.2 に対応する。

このドキュメントの Samba 3.2.8 - 4.7.6 対応の翻訳は

  • 堀田 倫英(hotta@net-newbie.com)

によって行なわれた。

このドキュメントの Samba 4.8.0 - 4.13.2 対応の翻訳は

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

によって行なわれた。