Go to main content
Oracle® Solaris 11.3 でのネットワークファイルシステムの管理

印刷ビューの終了

更新: 2016 年 11 月
 
 

NFS サービスの機能

このセクションでは、NFS サービスの重要な機能について説明します。

NFS Version 2 プロトコル

NFS プロトコルの最初のバージョンである NFS Version 2 は広く使用されています。すべての Oracle Solaris リリースが NFS Version 2 プロトコルをサポートします。

NFS Version 3 プロトコル

NFS Version 2 プロトコルとは異なり、NFS Version 3 プロトコルは 2G バイトより大きいファイルを扱えます。NFS での大きなファイルの扱いについては、NFS 大規模ファイルのサポートを参照してください。

NFS Version 3 プロトコルではサーバー上で安全な非同期書き込みが可能なので、サーバーがクライアント書き込み要求をメモリー内にキャッシュすることを許可することでパフォーマンスが向上します。サーバーが変更をディスクにコミットするのをクライアントが待機する必要がなくなるため、応答時間が速くなります。サーバーは要求をバッチ処理することもできるので、サーバー上の応答時間も短縮されました。

多くの Solaris NFS Version 3 操作は、ローカルキャッシュに保存されている、ファイル属性を返します。キャッシュがより頻繁に更新されるため、このデータを更新するために別個の操作の実行が必要になる頻度が少なくなります。したがって、サーバーへのリモートプロシージャー呼び出し (RPC) の回数が減少し、パフォーマンスが向上します。

ファイルアクセス権の検証処理が改善されました。version 2 では、ユーザーが適切なアクセス権を持っていないリモートファイルをコピーしようとすると、「書き込みエラー」や「読み取りエラー」というメッセージが出力されました。Version 3 では、ファイルが開かれる前にアクセス権がチェックされるため、エラーが「オープンエラー」として報告されます。

NFS Version 3 プロトコルでは、8K バイト転送サイズ制限が解除されました。クライアントとサーバーは、Version 2 で適用された 8K バイト制限に準拠する代わりに、クライアントとサーバーがサポートする転送サイズにかかわらずネゴシエートできます。以前の Solaris の実装では、デフォルトで、プロトコルが 32K バイトの転送サイズに設定されていることに注意してください。Oracle Solaris 10 リリースから、書き込み転送サイズの制限が緩和されました。使用するトランスポートプロトコルに基づいて転送サイズが決定されるようになりました。

NFS Version 4 プロトコル

    NFS Version 4 プロトコルでは、ユーザー ID とグループ ID を文字列として表現します。nfsmapid デーモンは、NFS Version 4 クライアントおよびサーバーで次のマッピングに使用されます。

  • ユーザー ID およびグループ ID 文字列をローカル値 ID にマップする

  • ローカル数値 ID をユーザー ID およびグループ ID 文字列にマップする

nfsmapid デーモンの詳細は、NFS デーモン を参照してください。

NFS Version 4 では、サーバー上のアクセス制御リスト (ACL) エントリ内のユーザー ID またはグループ ID をクライアント上の ACL エントリ内のユーザー ID またはグループ ID にマッピングするために、nfsmapid デーモンが使用されます。逆も同じです。ユーザー ID とグループ ID のマッピングの詳細は、NFS Version 4 での ACL と nfsmapidおよびNFS ACL サポートを参照してください。

NFS Version 4 では、ファイルシステムを共有解除すると、そのファイルシステム内のオープンファイルまたはファイルロックのすべての状態情報が破棄されます。NFS Version 3 では、ファイルシステムが共有解除される前にクライアントが取得したロックをサーバーが保守します。NFS Version 4 でのファイルシステム共有解除の詳細は、NFS Version 4 におけるファイルシステムの共有解除と再共有を参照してください。

NFS Version 4 サーバーは擬似ファイルシステムを使用して、サーバー上でエクスポートされたオブジェクトへのアクセスをクライアントに提供します。擬似ファイルシステムの詳細は、NFS Version 4 でのファイルシステム名前空間を参照してください。NFS Version 4 は揮発性ファイルハンドルをサポートします。詳細は、NFS Version 4 における揮発性ファイルハンドルを参照してください。

委託とは、サーバーがファイルの管理をクライアントに委託するテクニックです。委託は、クライアントとサーバーの両方でサポートされます。たとえば、サーバーは、読み取り委託または書き込み委託のいずれかをクライアントに付与できます。委託の詳細は、NFS Version 4 における委託を参照してください。

NFS Version 4 は LIPKEY/SPKM セキュリティーをサポートしません。

    また、NFS Version 4 は次のデーモンを使用しません。

  • lockd

  • nfslogd

  • statd

NFS Version 4 での機能の完全なリストについては、NFS Version 4 における機能を参照してください。

NFS サービスの設定については、NFS サービスの設定を参照してください。

NFS バージョンの制御

SMF リポジトリには、クライアントとサーバーの両方によって使用される NFS プロトコルを制御するためのパラメータが含まれています。たとえば、パラメータを使用して、バージョンネゴシエーションを管理できます。クライアントおよびサーバーパラメータの詳細は、NFS デーモンを参照してください。NFS デーモンのパラメータ値の詳細は、 nfs(4)のマニュアルページを参照してください。

NFS ACL サポート

アクセス制御リスト (ACL) は、UNIX 標準ファイルアクセス権を使用する代わりに、ファイルアクセス権を設定するメカニズムを提供します。NFS ACL サポートは、Oracle Solaris NFS クライアントから Oracle Solaris NFS サーバーへ ACL エントリを変更および表示する方法を提供します。

NFS Version 2 および Version 3 実装は、古い POSIX ドラフトスタイル ACL をサポートします。POSIX ドラフト ACL は、UFS によりネイティブでサポートされます。POSIX ドラフト ACL の詳細は、Oracle Solaris 11.3 でのファイルのセキュリティー保護とファイル整合性の検証 の アクセス制御リストによる UFS ファイルの保護を参照してください。

NFS Version 4 プロトコルは NFS Version 4 スタイル ACL をサポートします。NFS Version 4 ACL は Oracle Solaris ZFS でネイティブサポートされます。NFS Version 4 ACL のあらゆる機能を利用するには、NFS Version 4 サーバーで ZFS を基盤となるファイルシステムとして使用する必要があります。NFS Version 4 ACL は、豊富な継承プロパティーセットと、標準の読み取り、書き込み、および実行より多くのアクセス権ビットセットを備えています。ZFS ファイルを保護するために ACL を使用する方法の詳細については、Oracle Solaris 11.3 での ZFS ファイルシステムの管理 の 第 9 章, ACL および属性を使用した Oracle Solaris ZFS ファイルの保護を参照してください。NFS Version 4 での ACL のサポートの詳細は、NFS Version 4 での ACL と nfsmapidを参照してください。

TCP 経由の NFS

NFS プロトコルのデフォルトトランスポートプロトコルは、TCP (Transport Control Protocol) です。TCP は、低速ネットワークとワイドエリアネットワークのパフォーマンスの向上に役立ちます。TCP には、トラフィック抑制機能とエラー回復機能もあります。TCP 経由の NFS は、NFS Version 2、NFS Version 3、および NFS Version 4 プロトコルで動作します。


注 -  InfiniBand ハードウェアがシステムで使用可能な場合は、デフォルトトランスポートプロトコルが TCP から Remote Direct Memory Access (RDMA) プロトコルに変わります。詳細は、RDMA 経由の NFS の概要およびRDMA 経由の NFSを参照してください。–proto=tcp マウントオプションを使用する場合、NFS マウントは TCP のみを使用するように強制されます。

UDP 経由の NFS

Oracle Solaris 11 リリースから、NFS クライアントは 1 つの UDP (User Datagram Protocol) 予約済みポート (構成可能) のみを使用します。システムパフォーマンスを向上するために、複数のポートを使用するようにシステムを構成できます。この機能は、最初からこのように構成可能であった TCP 経由 NSF を、忠実に反映しています。NFS 環境の調整の詳細は、Oracle Solaris 11.3 カーネルのチューンアップ・リファレンスマニュアルを参照してください。

RDMA 経由の NFS の概要

InfiniBand ハードウェアがシステムで使用可能な場合は、デフォルトトランスポートプロトコルが TCP から RDMA プロトコルに変わります。RDMA プロトコルは、高速ネットワーク経由でデータをメモリー間転送するためのテクノロジです。特に、RDMA により、CPU の介入なしでメモリーにリモートデータ転送を直接行えます。この機能を提供するために、RDMA は InfiniBand のインターコネクト I/O テクノロジと Oracle Solaris OS を結合します。ただし、–proto=tcp マウントオプションを使用する場合、NFS マウントは TCP のみを使用するように強制されます。NFS で RDMA プロトコルを使用する方法の詳細は、RDMA 経由の NFSのマニュアルページを参照してください。

ネットワークロックマネージャーと NFS

ネットワークロックマネージャーは、NFS 経由で共有されるファイルに UNIX レコードロックを提供します。このロックメカニズムによって、クライアントはその I/O 要求をほかのクライアントと同期できるため、データ整合性が確保されます。


注 -  ネットワークロックマネージャーは、NFS Version 2 と NFS Version 3 マウントでのみ使用されます。ファイルロックは NFS Version 4 プロトコルに組み込まれています。

NFS 大規模ファイルのサポート

NFS Version 3 プロトコルでは 2G バイトより大きなファイルを扱えますが、NFS Version 2 プロトコルではできません。

NFS クライアントフェイルオーバー

読み取り専用ファイルシステムの動的フェイルオーバーは、マニュアルページ、その他のドキュメント、共有バイナリなどのすでに複製された読み取り専用リソースに高いレベルの可用性を提供します。フェイルオーバーは、ファイルシステムマウント後はいつでも発生できます。手動マウントでは、今までのリリースのオートマウンタのように複数の複製を一覧表示できるようになりました。オートマウンタは、ファイルシステムが再マウントされるまでフェイルオーバーが待機することがなくなった点以外は、変更されていません。詳細は、クライアント側フェイルオーバーを使用する方法クライアント側フェイルオーバーを参照してください。

NFS サービスのための Kerberos のサポート

NFS サービスは、Kerberos をサポートするように NFS クライアントおよびサーバーを構成するときに、Kerberos Version 5 認証、整合性、およびプライバシーをサポートします。安全な認証のために Kerberos を使用するときに、mount および share コマンド行オプションを使用できます。Kerberos Version 5 認証については、Oracle Solaris 11.3 での Kerberos およびその他の認証サービスの管理 の Kerberos NFS サーバーの構成を参照してください。

WebNFS サポート

WebNFS は、ファイアウォール経由でアクセス可能なファイルシステムをインターネット上に作成する機能を提供します。この機能は NFS プロトコルの拡張機能を使用します。インターネットアクセスに WebNFS プロトコルを使用する利点の 1 つは、その信頼性です。このサービスは、NFS Version 3 および Version 2 プロトコルの拡張として構築されます。さらに、WebNFS では匿名 ftp サイトの管理オーバーヘッドなしでファイルを共有できます。WebNFS の詳細は、WebNFS サービスのセキュリティーネゴシエーション および WebNFS の管理を参照してください。


注 -  NFS Version 4 プロトコルは、WebNFS サービスに優先します。NFS Version 4 は、MOUNT プロトコルと WebNFS サービスに追加されたすべてのセキュリティーネゴシエーションを完全に統合します。

RPCSEC_GSS セキュリティー方式

Solaris 7 リリースでは、RPCSEC_GSS と呼ばれるセキュリティーフレーバーがサポートされます。この方式では、標準的な GSS-API インタフェースを使用して、認証、一貫性、機密性を実現し、複数のセキュリティーメカニズムをサポートしています。Kerberos V5 認証のサポートについての詳細は、NFS サービスのための Kerberos のサポートを参照してください。GSS-API の詳細は、Oracle Solaris 11 セキュリティー開発者ガイドを参照してください。

NFS マウントの拡張機能

NFS サービスは、Oracle Solaris の mount および automountd コマンドへの拡張機能を提供します。これらの拡張機能によって、マウント要求は MOUNT プロトコルの代わりに公開ファイルハンドルを使用できます。WebNFS サービスは MOUNT プロトコルをアクセスとして使用します。公開ファイルハンドルを使用することで、ファイルファイル経由でマウントが発生できます。サーバーとクライアント間のトランザクションが減少するため、マウント発生が速くなります。

この拡張機能によって、標準パス名の代わりに NFS URL を使用することもできます。また、mount コマンドとオートマウンタマップで –public オプションを使用して、公開ファイルハンドルの使用を強制できます。WebNFS サービスの詳細は、WebNFS サポート を参照してください。

WebNFS サービスのセキュリティーネゴシエーション

NFS サービスにより、WebNFS クライアントは NFS サーバーとセキュリティーメカニズムをネゴシエートできます。WebNFS クライアントは NFS サーバーとセキュリティーメカニズムをネゴシエートするためのプロトコルを使用します。このプロトコルによって、WebNFS サービスで安全なトランザクションを使用できます。WebNFS のセキュリティーネゴシエーションの詳細は、WebNFS セキュリティーネゴシエーション機能のしくみ を参照してください。

NFS サーバーロギング


注 -  NFS Version 4 はサーバーロギング機能をサポートしません。

NFS サーバーロギングによって、NFS サーバーはファイルシステムで実行されたファイル操作の記録を提供できます。この記録には、どのファイルが、いつ、だれによってアクセスされたかという情報が含まれています。一連の構成オプションを使用して、これらの情報を含むログの場所を指定することができます。これらのオプションを使用して、ログに記録する操作を選択することもできます。NFS サーバーロギング機能は、NFS および WebNFS クライアントに対して匿名 FTP アーカイブを利用可能にするサイトで特に便利です。詳細は、NFS サーバーログを有効にする方法を参照してください。

autofs の機能

autofs は、ローカル名前空間に指定されているファイルシステムで機能します。この情報は、LDAP、NIS (ネットワーク情報サービス)、またはローカルファイルで保守できます。Autofs は次の機能をサポートします。

  • 完全にマルチスレッド化されたバージョンの automountd 機能により、autofs の信頼性が向上します。この機能により、複数マウントを並行して提供できるため、サーバーが使用できなくなった場合でもサービスのハングアップを回避できます。

  • automountd 機能はオンデマンドマウントも提供します。最上位ファイルシステムのみがマウントされます。そのマウントポイントに関係する他のファイルシステムは、必要に応じてマウントされます。

  • autofs サービスは間接マップの「ブラウザビリティー」をサポートします。このサポートにより、ユーザーは各ファイルシステムを実際にマウントすることなく、どのディレクトリをマウントできるかを確認できます。–nobrowse オプションにより、/net/home などの大きなファイルシステムが自動的にブラウズ可能にならないことが保証されます。–automount コマンドで n オプションを使用することによって、autofs ブラウザビリティーをクライアントごとにオフにすることもできます。autofs ブラウザビリティーを無効にするためのさまざまな方法の詳細は、autofs ブラウザビリティーの無効化 を参照してください。