NFSD(8)

名称
nfsd - リモートマシンに対して NFS サービスを行うデーモン

書式
nfsd [-arut] [-n num_servers] [-h bindip]

解説
nfsd は NFS サーバマシン上で実行され、クライアントからの NFS 要求に対するサービスを行います。サーバマシンとして動作させるには、 最低でも 1 つの nfsd が動作していなければなりません。

何も指定されない場合は、 UDP トランスポートを用いるサーバが 4 つ起動されます。

以下のオプションが利用可能です:

-r  新たなサーバを生成せずに、 NFS サービスだけを portmap(8) に登録します。 このオプションは、portmap サーバが再起動したときに NFS サービスを再登録するために、 -u や -t オプションといっしょに使われます。

-n  スタートさせるサーバの数を指定します。

-h bindip
    どの IP アドレスまたはホスト名をローカルホストに結び付けるかを指定します。 ホストが複数インタフェースを持つ場合、本オプションが推奨されます。 複数の -h オプションが指定可能です。

-a  nfsd をワイルドカード IP アドレスに結び付けるべきことを指定します。 -h オプションを指定しないと、これがデフォルトです。 -h オプションを指定しても、本オプションを指定可能です。 -a を使用するか -h を使用しないことによって ワイルドカード IP アドレスが結び付けられた場合、 NFS/UDP は正しく動作しないことに注意してください。

-t  TCP NFS クライアントに対するサービスを行います。

-u  UDP NFS クライアントに対するサービスを行います。

例えば、 “nfsd -u -t -n 6” は、 UDP と TCP トランスポートに対するサービスを行う 6 つのデーモンを生成します。

クライアントからの要求を最大限並列処理するのに十分な数のデーモンを実行 する必要があります。典型的には 4 個から 6 個です。

nfsd は、 NFS サーバの仕様で示されているポートで、サービス要求を待ちます。 この仕様に関しては、 RFC1094, を参照してください。

動作中のカーネルに NFS がロードされていないことを検出すると、 nfsd は vfsload(3) を経由して kldload(8) により、 NFS をサポートしたロード可能カーネルモジュールを読み込もうとします。 nfsd は、これに失敗した場合、もしくは NFS KLD が用意されていないときにはエラー終了します。

nfsd が複数インタフェースまたはインタフェースエイリアスがある ホスト上で実行する場合、 -h オプションの使用が推奨されます。 本オプションを使用しないと、 送信先と同じ IP アドレスからの UDP パケットにNFS が応答しないかもしれません。 ファイアウォール上の NFS エクスポートを安全にするためにも、 本オプションの使用が推奨されます。 これは NFS ソケットが内部インタフェースからのみアクセス可能とします。 そして ipfw を使用し、外部インタフェースからの nfs 関連パケットを遮断します。

nfsd を終了するには SIGUSR1 を使用することが必要であり、 SIGTERM または SIGQUIT では殺せません。 nfsd は、シャットダウン中にできるだけ長く生き残るために、 これらのシグナルを無視することが必要なのです。 そうしなければ、ループバックマウントをアンマウントできなくなってしまいます。 nfsd を殺す必要がある場合、単に “kill -USR1 <PID of master nfsd>” としてください。

nfsd は、成功した場合は 0 を、エラーが起きた場合は 0 より大きな値を返します。

関連項目
nfsstat(1), nfssvc(2), kldload(8), mountd(8), nfsiod(8), portmap(8), ipfw(8)

歴史
nfsd ユーティリティは 4.4BSD から登場しました。