nfsd(7) | FreeBSD Miscellaneous Information Manual | nfsd(7) |
名前
nfsd - Linux NFS を制御する特殊ファイルシステム書式
mount -t nfsd nfsd /proc/fs/nfsd説明
nfsd ファイルシステムは Linux NFS サーバーへのアクセスを提供する特殊ファイルシステムである。このファイルシステムは複数個のファイルを含む 1 つのディレクトリで構成される。これらのファイルが実際には NFS サーバーへのゲートウェイになる。これらのファイルに書き込むことにより、サーバーに影響を及ぼすことができる。これらのファイルを読み出すことにより、サーバーの情報が提供される。このファイルシステムは Linux 2.6 以降 (と開発版である 2.5 系の後期から 2.6 まで) のカーネルでのみ利用可能である。この man ページは 2.4 以前には適用されない。
このファイルシステムだけではなく、 procfs ファイルシステム (通常は /proc にマウントされている) にも NFS サーバーを制御するためのファイル群がある。この man ページは、これら全てのファイルについて記述している。
exportfs と mountd プログラム (nfs-utils パッケージの一部) は、このファイルシステムが /proc/fs/nfsd または /proc/fs/nfs にマウントされていることを想定している。マウントされていない場合、これらのプログラムは 2.4 系の機能に戻る。 2.4 系の機能には、システムコール経由で NFS サーバーにアクセスすることが含まれる。このシステムコールは 2.6 カーネルより後の系列では削除される予定である。
詳細
nfsd ファイルシステムに含まれる 3 つのファイルは、以下の通りである:- exports
-
このファイルには、現在エクスポートされているファイルシステムと各ファイルシステムがエクスポートされている先のクライアントの一覧が、クライアントとファイルシステムのペア毎のエクスポートオプションのリストと共に含まれている。これは 2.4 における
/proc/fs/nfs/exports ファイルと似ている。 1 つの違いは、1 つのクライアントが 1 つのホストと対応する必要がないという点である。これにより同一に扱うべき多くのホストに対して応答できる。
- threads
-
このファイルは現在実行されている
nfsd スレッドの数を表している。このファイルを読み出すとスレッド数が表示される。 ASCII の 10 進数を書き込むと、その数になるようにスレッド数が変更される (必要に応じて増加または減少させる)。
- filehandle
-
これは多少変わったファイルで、ファイルから読み出されるものは、ファイルに書き込まれるものに依存している。このファイルはトランザクションのインタフェースを提供する。プログラムはこのインタフェースでファイルのオープン・リクエストの書き込み・レスポンスの読み出しができる。 2 つの別々のプログラムがオープン・書き込み・読み出しを同時に行った場合でも、リクエスト同士は混同されない。
procfs ファイルシステム上のディレクトリ /proc/net/rpc には、いくつかのファイルとディレクトリが含まれる。ファイルには nfsstat プログラムを使って表示できる統計情報が含まれる。ディレクトリには NFS サーバが管理するいろいろなキャッシュが含まれる。これらのキャッシュは、各クライアントがファイルシステム毎に持つアクセス許可を把握するためのものである。キャッシュは以下の通り:
- auth.domain
-
このキャッシュはクライアント (またはドメイン) の名前を内部データ構造にマップする。利用可能なアクセスは、キャッシュの書き出し (flush) のみである。
- auth.unix.ip
-
このキャッシュは IP アドレスから認証されたドメインへのマップを保持する。認証されたドメインでは、この IP アドレスがドメインの一部として扱われる。
- nfsd.export
-
このキャッシュはディレクトリとドメインからエクスポートオプションへのマッピングを保持する。
- nfsd.fh
-
このキャッシュはドメインとファイルシステム識別子からディレクトリへのマッピングを保持する。ファイルシステム識別子はファイルハンドルに格納され、識別子のタイプを表す数値と識別子の内容を表す 16 進数のバイトの数値で構成される。
キャッシュを表す各ディレクトリは 1 〜 3 個のファイルを保持できる。ファイルは以下の通り:
- flush
-
紀元 (epoch, 1970 年 1 月 1 日) からの秒数がこのファイルに書き込まれると、その時刻より前に更新されたキャッシュ内の全てのエントリが無効化され、そのエントリはフラッシュされる (書き出される)。 1 を書き込むと全てのエントリが書き出される。このファイルだけが常に存在するだろう。
- content
-
このファイルが存在する場合、キャッシュ内の全てのエントリの文字列表現が 1 行に 1 個ずつ含まれる。エントリがまだキャッシュ内にあり (アクティブで使用中であり)、かつ期限切れの場合、またはそれ以外でエントリが無効である場合、そのエントリは (先頭にハッシュ記号を付けた) コメントとして表される。
- channel
-
このファイルが存在する場合、カーネルベースの NFS サーバーからのリクエストを、ユーザー空間のプログラムが扱うための受け渡しをするチャンネルとして働く。
/proc ファイルシステムには、nfsd とそれに関連するコードのより詳細なトレースを可能にするための、4 つのファイルがある:
/proc/sys/sunrpc/nfs_debug
/proc/sys/sunrpc/nfsd_debug
/proc/sys/sunrpc/nlm_debug
/proc/sys/sunrpc/rpc_debug
これらのファイルは、それぞれ、 NFS クライアント・NFS サーバー・ネットワークロックマネージャ (lockd)・下層の RPC レイヤのトレースを制御する。これらのファイルに対して 10 進数を読み書きできる。各数値は特定の種類のトレースを有効にするためのビットのパターンを表す。どの数値がどのトレースに対応するかを見つけるには、カーネルのヘッダファイルを調べてほしい。
関連項目
rpc.nfsd(8), exports(5), nfsstat(8), mountd(8) exportfs(8).著者
NeilBrown3 July 2003 |