本ページでは、NFSv4のみの設定をします。nfs-utils必要なサービス¶NFSv4のサーバーには、rpcbind、nfs、rpcidmapdが必要です。nfslockは、NFSv3までは必要でしたが、NFSv4では不要です。NFSv3以下を受け入れる場合は起動します。rpcidmapdメモ)nfsサービスのスクリプトの中で、rpcidmapdを呼び出している箇所がありました。NFSサーバー側では、rpcidmapdを自動起動設定していなくてもnfsサービスから起動してくれます。finfsサービス設定(/etc/sysconfig/nfs)¶NFSv4のみの(NFSv2とNFSv3での接続をしない)設定とします。rpc.idmapd設定(/etc/idmapd.conf)¶rpc.idmapdデーモンがリクエストのユーザーとUID/GIDのマッピングを制御しています。NFSのリクエストには文字列でユーザー@ドメインが指定され、それをUID/GIDにマッピングします。ドメインは、すべてのNFSクライアントおよびサーバーで同じ名前を指定します。通常はDNSのドメイン名に基づいて指定します。example.com公開するディレクトリを1箇所に集める¶NFSv4では、NFSサーバー上に公開するディレクトリルートを1つ決め、その下あるディレクトリを公開します。公開したいディレクトリがNFSサーバーのファイルシステムで必ずしも1つのディレクトリツリーにあるとは限りません。--bindで公開するディレクトリルートの下に公開したいディレクトリを置きます。Standard)に準拠して、/srv/nfsにします。公開したいディレクトリを次のように/srv/nfs下に集めます。---+コマンドで一過的にbindするときは次を実行します。/srv/nfs/wwwシステム起動時にbindするときは、/etc/fstabに記述します。公開するディレクトリとそのオプションを/etc/exportsに定義します。基本となる書式は次です。192.168.2.0/24(rw,no_root_squash)公開範囲とオプション指定の開き丸括弧の間に空白を入れてはいけませんオプション指定の区切りはカンマのみとし、空白を入れてはいけません公開するディレクトリルートを、fsid=0オプションおよびcrossmntオプションを付けて指定します。すべてのUID/GIDをanonymousにマップする公開設定(/etc/exports)を変更したら、次のコマンドで反映します。-raファイアウォール設定¶TCPポート2049を通しておきます。NFSv4NFSv4でrpcidmapdを起動していないと、マウントした領域に書き込みすると「読み込み専用ファイルシステムです」とエラーになります[#56]。rpc.idmapd設定(/etc/idmapd.conf)¶ドメインは、すべてのNFSクライアントおよびサーバーで同じ名前を指定します。通常はDNSのドメイン名に基づいて指定します。起動時にNFSマウントができないが、起動後にコマンドからマウントを実行するとマウントできるといった現象が起きた場合、この問題による可能性があります。6の標準の設定では、networkサービスがnetfsサービスよりも先に起動します。S25netfsしかし、ネットワークデバイスやネットワークスイッチ等によってはネットワークの初期化に時間がかかることがあり、netfsサービスが起動するときにNFSサーバーとの通信がまだできない可能性があります。そのときは、ネットワークサービス起動後に次の処理へ進むまでスリープを入れる方法があります。次のように使われます。;;または、個々のNIC起動後にスリープを入れる方法もあります。15秒のスリープを入れる例LINKDELAY=15メモ¶/etc/fstabにbgオプションを指定してもだめな模様ネットワークスイッチがスパニングツリーを有効にしているとポートがフォワーディングになるのに時間がかかる模様パフォーマンス関連¶NFSデーモン数¶デフォルトで8個起動します。RPCNFSDCOUNTで変更します。目安としてプロセッサ(コア)あたり、4から8個を動かすとよいようです。見て、th行の値を見て過不足を判断します。3つの値が大きいときは、nfsdの数を増やします。