NFS(Network File System)は、Sun Microsystems 社により開発された技術で、ネットワークに接続されたホスト間のファイルシステムを共有するシステムです。クライアントは、他のシステムあるファイルをあたかもローカルのファイルシステムにあるかのようにアクセスすることができます。ほとんどの UNIX システムは、NFS をサポートしており UNIX システム間でファイルを共有する方法として広く一般的に利用されています。Turbolinux 10 Server が採用している Kernel 2.6 では、NFS の最新バージョンである NFSv4 がサポートされました。NFSv4 では、NFSv2/v3 の設計を根本から見直し、以前のバージョンの NFS には見られなかったセキュリティ強化や広域ネットワークでの利用を前堤とした以下のような機能拡張が図られています。
NFS over TCP とは、NFS プロトコルを TCP 上で実現する機能です。TCP では、UDP のように RPC リクエスト全体を再送する必要がないため、パケットの再送にかかるオーバーヘッドが軽減されます。そのため、パケットロスの発生しやすい不安定なネットワーク環境でのパフォーマンスが向上するメリットがあります。Kernel 2.6 が NFSv4 をサポートしたことにより、Turbolinux 10 Server の NFSv4 サーバーとクライアント間の通信は、NFS over TCP がデフォルトとなっています。
NFSv4 では、複数の RPC を 1 回のリクエストに含める複合プロシージャー(compound procedures)がサポートされ、ファイルシステムの操作に必要な RPC の回数が軽減されています。これにより、NFS サーバーを操作するためのオーバーヘッドが減少しています。
NFSv4 では、AUTH_SYS と RPCSEC_GSS を含むいくつかの新しいセキュリティ機能が実装されています。AUTH_SYS は、RPC リクエストの送信側と受信側を識別するために UID/GID を使用します。これは、従来の NFSv2/v3 がベースの低いセキュリティモデルですが、NFSv4 では idmapd デーモンにより、UID/GID だけでなく、ユーザーやグループの文字列とのマップが保持されます。RPCSEC_GSS は GSS-API をベースにしたクライアント認証と RPC リクエストに対する安全な暗号化機能を Kerberos 5 や SPKM3 のメカニズムを利用することにより実装しています。
NFSv4 では、ロック機構の改善が行われ、NFS プロトコルの一部としてバイト範囲ファイルロッキングの機能が取り込まれています。これにより、従来のバージョンの NFS で使用されてきた lockd デーモンのプロトコルが NFSv4 では不要になります。
その他にも、NFSv4 は、ACL(Access Control List)、NFS サーバーのマイグレーション / レプリケーションなど、NFS のパフォーマンス向上だけでなく運用管理面での機能強化も図られています。NFSv4 の開発は、現在も活発な活動が続いており、最新の情報は以下の Web サイトから得ることができます。