Red Hat Training
A Red Hat training course is available for RHEL 8
3.2. 対応している NFS バージョン
本セクションでは、Red Hat Enterprise Linux でサポートされている NFS のバージョンと、その機能の一覧を紹介します。
現在、Red Hat Enterprise Linux 8 は、以下の NFS のメジャーバージョンに対応しています。
- NFS バージョン 3 (NFSv3) は安全な非同期書き込みに対応しており、以前の NFSv2 よりもエラー処理において安定しています。64 ビットのファイルサイズとオフセットにも対応しているため、クライアントは 2 GB を超えるファイルデータにアクセスできます。
-
NFS バージョン 4 (NFSv4) は、ファイアウォールやインターネットを介して動作し、
rpcbind
サービスを必要とせず、アクセス制御リスト (ACL) に対応し、ステートフルな操作を利用します。
NFS バージョン 2 (NFSv2) は、Red Hat のサポート対象外になりました。
デフォルトの NFS バージョン
Red Hat Enterprise Linux 8 のデフォルトの NFS バージョンは 4.2 です。NFS クライアントは、デフォルトで NFSv4.2 を使用してマウントを試行し、サーバーが NFSv4.2 に対応していない場合は NFSv4.1 にフォールバックします。マウントは後で NFSv4.0 に戻り、次に NFSv3 に戻ります。
NFS のマイナーバージョンの機能
以下は、Red Hat Enterprise Linux 8 における NFSv4.2 の機能です。
- サーバー側コピー
-
NFS クライアントが
copy_file_range()
システムコールを使用してネットワークリソースを無駄にすることなく、データを効率的にコピーできるようにします。 - スパースファイル
-
ファイルに 1 つ以上の ホール を持たせることができます。ホールとは、割り当てられていない、またはゼロのみで設定される未初期化データブロックです。NFSv4.2 の
lseek()
操作はseek_hole()
とseek_data()
に対応しています。これにより、アプリケーションはスパースファイルのホールの場所をマップできます。 - 領域の予約
-
ストレージサーバーが空き領域を予約することを許可します。これにより、サーバーで領域が不足することがなくなります。NFSv4.2 は、領域を予約するための
allocate()
操作、領域の予約を解除するためのdeallocate()
操作、およびファイル内の領域の事前割り当てまたは割り当て解除を行うfallocate()
操作に対応しています。 - ラベル付き NFS
- データアクセス権を強制し、NFS ファイルシステム上の個々のファイルに対して、クライアントとサーバーとの間の SELinux ラベルを有効にします。
- レイアウトの機能強化
-
一部の Parallel NFS (pNFS) サーバーがより良いパフォーマンス統計を収集できるようにする
layoutstats()
操作が提供されます。
NFSv4.1 の機能は次のとおりです。
- ネットワークのパフォーマンスおよびセキュリティーを強化し、pNFS のクライアント側サポートも含みます。
- コールバックに個別の TCP 接続を必要としなくなりました。これにより、NAT やファイアウォールが干渉した場合など、クライアントと通信できない場合でも NFS サーバーは委任を許可できます。
- 応答が失われ、操作が 2 回送信された場合に特定の操作が不正確な結果を返すことがあるという以前の問題を防ぐために、1 回限りのセマンティクスを提供します (再起動操作を除く)。