Oracle Solaris 11.1 リリース以降、NFS のデフォルトトランスポートは Remote Direct Memory Access (RDMA) プロトコルです。このプロトコルは、高速ネットワークを介したメモリー間データ転送を提供します。特に、RDMA により、CPU の介入なしでメモリーにリモートデータ転送を直接行えます。RDMA は直接データ配置も提供しており、これによってデータコピーがなくなり、さらに CPU 介入がなくなります。このように、RDMA はホストの CPU を解放するだけでなく、ホストメモリーと入出力バスの競合を少なくします。この機能を提供するために、RDMA は、InfiniBand のインターコネクト入出力テクノロジ (SPARC および x86 プラットフォームの両方で使用可能) と Oracle Solaris オペレーティングシステムを結合します。次の図は、UDP や TCP など、その他のプロトコルとの RDMA の関係を示します。
図 2-1 その他のプロトコルとの RDMA の関係
RDMA は NFS のデフォルトのトランスポートプロトコルなので、クライアントまたはサーバーで RDMA を使用するために特別な share オプションや mount オプションは必要ありません。既存のオートマウンタマップ、vfstab とファイルシステム共有は、RDMA トランスポートで機能します。クライアントとサーバーの間に InfiniBand 接続が存在するときは、RDMA トランスポート経由の NFS マウントが透過的に実行されます。InfiniBand 接続機能は SPARC と x86 の両方のプラットフォームで動作します。RDMA トランスポートをクライアントとサーバーで使用できない場合、TCP トランスポートが初期フォールバックになります。TCP が使用できない場合は UDP がフォールバックになります。ただし、–proto=rdma マウントオプションを使用する場合、NFS マウントは RDMA だけを使用するように強制されます。
TCP と UDP のみを使用するように指定するときは、–proto=tcp/udp mount オプションを使用できます。このオプションは、NFS クライアントの RDMA を無効にします。NFS マウントオプションの詳細は、mount_nfs(1M) および mount(1M) のマニュアルページを参照してください。