第4章 NFS サーバーのデプロイ

ネットワークファイルシステム (NFS) プロトコルを使用すると、リモートユーザーはネットワーク経由で共有ディレクトリーをマウントし、ローカルにマウントされたディレクトリーと同じように使用できます。また、リソースを、ネットワークの集中化サーバーに統合できるようになります。

4.1. NFSv4 のマイナーバージョンの主な機能

NFSv4 の各マイナーバージョンでは、パフォーマンスとセキュリティーの向上を目的とした機能強化が導入されます。この強化を利用して NFSv4 の可能性を最大限に活用すれば、ネットワーク全体で効率的かつ信頼性の高いファイル共有を実現できます。

NFSv4.2 の主な機能

サーバー側コピー
サーバー側コピーは、ネットワーク経由でデータを転送せずにサーバー上のファイルをコピーする NFS サーバーの機能です。
スパースファイル
ファイルに 1 つ以上の空きスペース、つまりギャップを持たせることができます。ギャップとは、ゼロのみで構成される未割り当てまたは未初期化データブロックです。これにより、アプリケーションがスパースファイル内のホールの位置を計画できるようになります。
領域の予約
クライアントが、データを書き込む前にストレージサーバー上の領域を予約または確保できます。これにより、サーバーの領域不足が防止されます。
ラベル付き NFS
データアクセス権を強制し、NFS ファイルシステム上の個々のファイルに対して、クライアントとサーバーとの間の SELinux ラベルを有効にします。
レイアウトの機能強化
Parallel NFS (pNFS) サーバーがより優れたパフォーマンス統計情報を収集できるようにする機能を提供します。

NFSv4.1 の主な機能

pNFS のクライアント側サポート
クラスター化されたサーバーへの高速 I/O のサポートにより、複数のマシンへのデータ保存、データへの直接アクセス、メタデータの更新の同期が可能になります。
セッション
セッションは、クライアントに属する接続に関連するサーバーの状態を維持します。この種類のセッションは、各リモートプロシージャーコール (RPC) 操作の接続の確立と終了に関連するオーバーヘッドを削減し、パフォーマンスと効率を向上させます。

NFSv4.0 の主な機能

RPC とセキュリティー
RPCSEC_GSS フレームワークにより、RPC のセキュリティーが強化されます。NFSv4 プロトコルで、インバンドセキュリティーネゴシエーション用の新しい操作が導入されました。これにより、クライアントがファイルシステムリソースにセキュアにアクセスするためのサーバーポリシーをクエリーできるようになります。
プロシージャーと操作の構造
NFS 4.0 で、COMPOUND プロシージャーが導入されました。これにより、クライアントが複数の操作を 1 つの要求にマージして RPC を削減できるようになりました。
ファイルシステムモデル

NFS 4.0 は、階層型ファイルシステムモデルを保持し、ファイルをバイトストリームとして扱い、国際化のために名前を UTF-8 でエンコードします。

  • ファイルハンドルの種類

    揮発性のファイルハンドルにより、サーバーがファイルシステムの変更に適応できます。また、クライアントが、永続的なファイルハンドルを必要とせずに、必要に応じて適応できます。

  • 属性タイプ

    ファイル属性構造には、必須属性、推奨属性、および名前付き属性が含まれています。各属性は異なる目的を果たします。NFSv3 から派生した必須属性は、ファイルタイプを区別するために必要です。一方、ACL などの推奨属性は、アクセス制御を強化します。

  • マルチサーバー名前空間

    名前空間は、複数のサーバー全体を対象に、属性に基づいてファイルシステム転送を簡素化します。また、参照、冗長性、シームレスなサーバー移行をサポートします。

OPEN および CLOSE 操作
これらの操作により、ファイルの検索、作成、セマンティック共有を 1 カ所で組み合わせて、ファイルアクセス管理を効率化できます。
ファイルロック
ファイルロックがプロトコルに含まれているため、RPC コールバックが不要になります。ファイルロックの状態は、リースベースのモデルに基づいてサーバーによって管理されます。リースの更新に失敗すると、サーバーによって状態が解放されることがあります。
クライアントのキャッシュと委譲
キャッシュは以前のバージョンと似ています。属性とディレクトリーのキャッシュのタイムアウトが、クライアントによって決定されます。NFS 4.0 の委譲により、サーバーがクライアントに特定の役割を割り当てることができます。これにより、特定のファイル共有セマンティクスが確保され、サーバーとの直接のやり取りなしでローカルファイル操作が可能になります。