名 前
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 つ の
ホ ス ト と 対 応
す る 必 要 が な
い と い う 点 で
あ る 。 こ れ に
よ り 同 一 に 扱
う べ き 多 く の
ホ ス ト に 対 し
て 応 答 で き る
。 フ ァ イ ル の
各 行 に は 、 パ
ス 名 ・ ク ラ イ
ア ン ト 名 ・ 括
弧 で 括 ら れ た
オ プ シ ョ ン が
含 ま れ る 。 パ
ス 名 ま た は ク
ラ イ ア ン ト 名
に 含 ま れ る ス
ペ ー ス ・ タ ブ
・ 改 行 ・ バ ッ
ク ス ラ ッ シ ュ
文 字 は 、 バ ッ
ク ス ラ ッ シ ュ
と そ れ ら の 文
字 の 8 進 数 ASCII コ
ー ド に 置 き 換
え ら れ る 。
threads こ の フ ァ イ
ル は 現 在 実 行
さ れ て い る nfsd
ス レ ッ ド の 数
を 表 し て い る
。 こ の フ ァ イ
ル を 読 み 出 す
と ス レ ッ ド 数
が 表 示 さ れ る
。 ASCII の 10 進 数 を
書 き 込 む と 、
そ の 数 に な る
よ う に ス レ ッ
ド 数 が 変 更 さ
れ る (必 要 に 応
じ て 増 加 ま た
は 減 少 さ せ る
)。
filehandle こ れ は 多 少
変 わ っ た フ ァ
イ ル で 、 フ ァ
イ ル か ら 読 み
出 さ れ る も の
は 、 フ ァ イ ル
に 書 き 込 ま れ
る も の に 依 存
し て い る 。 こ
の フ ァ イ ル は
ト ラ ン ザ ク シ
ョ ン の イ ン タ
フ ェ ー ス を 提
供 す る 。 プ ロ
グ ラ ム は こ の
イ ン タ フ ェ ー
ス で フ ァ イ ル
の オ ー プ ン ・
リ ク エ ス ト の
書 き 込 み ・ レ
ス ポ ン ス の 読
み 出 し が で き
る 。 2 つ の 別 々
の プ ロ グ ラ ム
が オ ー プ ン ・
書 き 込 み ・ 読
み 出 し を 同 時
に 行 っ た 場 合
で も 、 リ ク エ
ス ト 同 士 は 混
同 さ れ な い 。
filehandle に 書 き 込 ま れ る リ ク エ ス ト は 、 ク ラ イ ア ン ト 名 ・ パ ス 名 ・ バ イ ト 数 で あ る 。 そ の 後 に は 、 改 行 ・ 空 白 で 区 切 っ た フ ィ ー ル ド ・ 特 殊 文 字 を 8 進 数 表 記 し た も の が 続 く 。 こ の フ ァ イ ル に 書 き 込 む こ と に よ り 、 プ ロ グ ラ ム は 指 定 さ れ た ク ラ イ ア ン ト に エ ク ス ポ ー ト さ れ る パ ス に 対 す る フ ァ イ ル ハ ン ド ル を 読 み 返 す こ と が で き る 。 フ ァ イ ル ハ ン ド ル の 長 さ は 、 指 定 さ れ た バ イ ト 数 以 下 に さ れ る 。 フ ァ イ ル ハ ン ド ル は 先 頭 に ’\x’ を 付 け た 16 進 数 で 表 現 さ れ る 。
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 サ
ー バ ー か ら の
リ ク エ ス ト を
、 ユ ー ザ ー 空
間 の プ ロ グ ラ
ム が 扱 う た め
の 受 け 渡 し を
す る チ ャ ン ネ
ル と し て 働 く
。 カ ー ネ ル が
キ ャ ッ シ ュ に
な い 情 報 を 必
要 と す る 場 合
、 情 報 の キ ー
と な る 1 行 を
channel フ ァ イ ル に
書 き 込 む 。 ユ
ー ザ ー 空 間 プ
ロ グ ラ ム は 、
こ れ を 読 み 込
み 、 答 え を 見
つ け 、 キ ー ・
満 了 時 刻 ・ 内
容 を 含 む 行 を
書 き 込 ま な け
れ ば な ら な い
。 た と え ば 、
カ ー ネ ル が
nfsd 127.0.0.1 を
auth.unix.ip/content フ ァ イ
ル に 書 き 込 ん
だ 場 合 、 ユ ー
ザ ー 空 間 プ ロ
グ ラ ム は
nfsd 127.0.0.1 1057206953 localhost を 書
き 込 ん で 、 少
な く と も 今 の
と こ ろ は 127.0.0.1 を
localhost に マ ッ プ す
べ き で あ る こ
と を 示 す 。 プ
ロ グ ラ ム が select(2)
ま た は poll(2) を 使
っ て channel か ら 読
み 込 め る か を
確 か め た と き
に 、 フ ァ イ ル
の 終 わ り (end-of-file) は
見 つ か ら な い
が 、 全 て の リ
ク エ ス ト に 答
え 終 わ っ て い
る と い う 場 合
に は 、 プ ロ グ
ラ ム は 他 の リ
ク エ ス ト が 現
れ る ま で ブ ロ
ッ ク す る 。
/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).
著 者
NeilBrown