File: nfsd.7

package info (click to toggle)
manpages-ja 0.5.0.0.20210215%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 28,568 kB
  • sloc: perl: 161; makefile: 58
file content (220 lines) | stat: -rw-r--r-- 9,583 bytes parent folder | download | duplicates (6)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
.\"
.\" nfsd(7) - The nfsd filesystem
.\"
.\" Copyright (C) 2003 Neil Brown <neilb@cse.unsw.edu.au>
.\" Licensed for public use under the terms of the FSF
.\" General Public License (GPL) version 2.
.\"
.\" Japanese Version Copyright (c) 2006 Yuichi SATO
.\"         all rights reserved.
.\" Translated Sun Jun  4 06:13:28 JST 2006 
.\"         by Yuichi SATO <ysato444@yahoo.co.jp> catch up to v1.0.7
.\"
.TH nfsd 7 "3 July 2003"
.SH 名前
nfsd \- Linux NFS を制御する特殊ファイルシステム
.SH 書式
.B "mount -t nfsd nfsd /proc/fs/nfsd"
.SH 説明
.B nfsd
ファイルシステムは Linux NFS サーバーへのアクセスを提供する
特殊ファイルシステムである。
このファイルシステムは複数個のファイルを含む 1 つのディレクトリで構成される。
これらのファイルが実際には NFS サーバーへのゲートウェイになる。
これらのファイルに書き込むことにより、サーバーに影響を及ぼすことができる。
これらのファイルを読み出すことにより、サーバーの情報が提供される。
.P
このファイルシステムは Linux 2.6 以降
(と開発版である 2.5 系の後期から 2.6 まで) のカーネルでのみ利用可能である。
この man ページは 2.4 以前には適用されない。
.P
このファイルシステムだけではなく、
.B procfs
ファイルシステム (通常は
.B /proc
にマウントされている) にも NFS サーバーを制御するためのファイル群がある。
この man ページは、これら全てのファイルについて記述している。
.P
.I exportfs
.I mountd
プログラム (nfs-utils パッケージの一部) は、このファイルシステムが
.B /proc/fs/nfsd
または
.B /proc/fs/nfs
にマウントされていることを想定している。
マウントされていない場合、これらのプログラムは 2.4 系の機能に戻る。
2.4 系の機能には、システムコール経由で
NFS サーバーにアクセスすることが含まれる。
このシステムコールは 2.6 カーネルより後の系列では削除される予定である。
.SH 詳細
.B nfsd
ファイルシステムに含まれる 3 つのファイルは、以下の通りである:
.TP
.B exports
このファイルには、現在エクスポートされているファイルシステムと
各ファイルシステムがエクスポートされている先のクライアントの一覧が、
クライアントとファイルシステムのペア毎のエクスポートオプションの
リストと共に含まれている。
これは 2.4 における
.B /proc/fs/nfs/exports
ファイルと似ている。
1 つの違いは、1 つのクライアントが 1 つのホストと対応する
必要がないという点である。
これにより同一に扱うべき多くのホストに対して応答できる。

ファイルの各行には、パス名・クライアント名・
括弧で括られたオプションが含まれる。
パス名またはクライアント名に含まれる
スペース・タブ・改行・バックスラッシュ文字は、
バックスラッシュとそれらの文字の 8 進数 ASCII コードに置き換えられる。

.TP
.B threads
このファイルは現在実行されている
.B nfsd
スレッドの数を表している。
このファイルを読み出すとスレッド数が表示される。
ASCII の 10 進数を書き込むと、その数になるようにスレッド数が変更される
(必要に応じて増加または減少させる)。

.TP
.B filehandle
これは多少変わったファイルで、ファイルから読み出されるものは、
ファイルに書き込まれるものに依存している。
このファイルはトランザクションのインタフェースを提供する。
プログラムはこのインタフェースでファイルのオープン・
リクエストの書き込み・レスポンスの読み出しができる。
2 つの別々のプログラムがオープン・書き込み・読み出しを同時に行った場合でも、
リクエスト同士は混同されない。

.B filehandle
に書き込まれるリクエストは、クライアント名・パス名・バイト数である。
その後には、改行・空白で区切ったフィールド・
特殊文字を 8 進数表記したものが続く。

このファイルに書き込むことにより、プログラムは
指定されたクライアントにエクスポートされるパスに対する
ファイルハンドルを読み返すことができる。
ファイルハンドルの長さは、指定されたバイト数以下にされる。

ファイルハンドルは先頭に '\ex' を付けた 16 進数で表現される。
.PP
.B procfs
ファイルシステム上のディレクトリ
.B /proc/net/rpc
には、いくつかのファイルとディレクトリが含まれる。
ファイルには
.I nfsstat
プログラムを使って表示できる統計情報が含まれる。
ディレクトリには NFS サーバが管理するいろいろなキャッシュが含まれる。
これらのキャッシュは、各クライアントがファイルシステム毎に持つ
アクセス許可を把握するためのものである。
キャッシュは以下の通り:

.TP
.B auth.domain
このキャッシュはクライアント (またはドメイン) の名前を
内部データ構造にマップする。
利用可能なアクセスは、キャッシュの書き出し (flush) のみである。

.TP
.B auth.unix.ip
このキャッシュは IP アドレスから認証されたドメインへのマップを保持する。
認証されたドメインでは、この IP アドレスがドメインの一部として扱われる。

.TP
.B nfsd.export
このキャッシュはディレクトリとドメインから
エクスポートオプションへのマッピングを保持する。

.TP
.B nfsd.fh
このキャッシュはドメインとファイルシステム識別子から
ディレクトリへのマッピングを保持する。
ファイルシステム識別子はファイルハンドルに格納され、
識別子のタイプを表す数値と
識別子の内容を表す 16 進数のバイトの数値で構成される。

.PP
キャッシュを表す各ディレクトリは 1 〜 3 個のファイルを保持できる。
ファイルは以下の通り:
.TP
.B flush
紀元 (epoch, 1970 年 1 月 1 日) からの秒数がこのファイルに書き込まれると、
その時刻より前に更新されたキャッシュ内の全てのエントリが無効化され、
そのエントリはフラッシュされる (書き出される)。
1 を書き込むと全てのエントリが書き出される。
このファイルだけが常に存在するだろう。

.TP
.B content
このファイルが存在する場合、キャッシュ内の全てのエントリの文字列表現が
1 行に 1 個ずつ含まれる。
エントリがまだキャッシュ内にあり (アクティブで使用中であり)、
かつ期限切れの場合、またはそれ以外でエントリが無効である場合、
そのエントリは (先頭にハッシュ記号を付けた) コメントとして表される。

.TP
.B channel
このファイルが存在する場合、カーネルベースの NFS サーバーからのリクエストを、
ユーザー空間のプログラムが扱うための受け渡しをするチャンネルとして働く。

カーネルがキャッシュにない情報を必要とする場合、
情報のキーとなる 1 行を
.B channel
ファイルに書き込む。
ユーザー空間プログラムは、これを読み込み、答えを見つけ、
キー・満了時刻・内容を含む行を書き込まなければならない。

たとえば、カーネルが
.ti +5
nfsd 127.0.0.1
.br
.B auth.unix.ip/content
ファイルに書き込んだ場合、ユーザー空間プログラムは
.ti +5
nfsd 127.0.0.1 1057206953 localhost
.br
を書き込んで、少なくとも今のところは
127.0.0.1 を localhost にマップすべきであることを示す。

プログラムが select(2) または poll(2) を使って
.B channel
から読み込めるかを確かめたときに、
ファイルの終わり (end-of-file) は見つからないが、
全てのリクエストに答え終わっているという場合には、
プログラムは他のリクエストが現れるまでブロックする。

.PP
.B /proc
ファイルシステムには、nfsd とそれに関連するコードの
より詳細なトレースを可能にするための、4 つのファイルがある:
.in +5
.B /proc/sys/sunrpc/nfs_debug
.br
.B /proc/sys/sunrpc/nfsd_debug
.br
.B /proc/sys/sunrpc/nlm_debug
.br
.B /proc/sys/sunrpc/rpc_debug
.br
.in -5
これらのファイルは、それぞれ、
NFS クライアント・NFS サーバー・ネットワークロックマネージャ (lockd)・
下層の RPC レイヤのトレースを制御する。
これらのファイルに対して 10 進数を読み書きできる。
各数値は特定の種類のトレースを有効にするためのビットのパターンを表す。
どの数値がどのトレースに対応するかを見つけるには、
カーネルのヘッダファイルを調べてほしい。

.SH 関連項目
.BR rpc.nfsd (8),
.BR exports (5),
.BR nfsstat (8),
.BR mountd (8)
.BR exportfs (8).

.SH 著者
NeilBrown