次の手順では、NFS over RDMAサーバーを有効にする方法の詳細も説明しています。 NFS over RDMAサーバーは現在UEK R3カーネルでサポートされていないので、これらは単なる例として提供されています。
RDMAデバイスをインストールし、InfiniBandを設定してIPoIBを有効にします。
Oracle Linux OFEDパッケージは次のチャネルから入手できます。
Oracle Linux 6:
ol6_x86_64_ofed_UEKOracle Linux 7:
ol7_x86_64_UEKR3_OFED20
RDMAデバイスが機能していることを確認します。
#
cat /sys/class/infiniband/4: ACTIVEdriver_name/ports/1/statedriver_nameはRDMAデバイス・ドライバです(mlx4_0など)。物理InfiniBandインタフェースとリンクを確認します。
ibhostsやibnetdiscoverなどのコマンドを使用して、InfiniBandスイッチ経由でホストに接続できることを確認します。
NFSクライアントとNFSサーバー間の接続を確認します。
InfiniBandインタフェースの設定は
/etc/sysconfig/network-scripts/ifcfg-ibファイルで構成できます。Npingを使用して接続を確認できます。 次に例を示します。
nfs-server$
ip addr add 10.196.0.101/24 dev ib0nfs-client$ip addr add 10.196.0.102/24 dev ib0nfs-server$ping 10.196.0.102nfs-client$ping 10.196.0.101NFSクライアントとサーバーに
nfs-utilsパッケージをインストールします。NFS共有を構成します。
/etc/exportsファイルを編集します。 クライアントのIPoIBアドレスを使用して、クライアントがマウントできるようにNFSサーバーが使用可能にするディレクトリを定義します。 次に例を示します。/
export_dir10.196.0.102(fsid=0,rw,async,insecure,no_root_squash) /export_dir10.196.0.0/255.255.255.0(fsid=0,rw,async,insecure,no_root_squash)NFSサーバー上で、
svcrdmaカーネル・モジュールをロードし、NFSサービスを開始します。Oracle Linux 6:
#
modprobe svcrdma#service nfs start#echo rdma 20049 > /proc/fs/nfsd/portlistOracle Linux 7:
#
modprobe svcrdma#systemctl start nfs-server#echo rdma 20049 > /proc/fs/nfsd/portlist注意rdma 20049設定は、NFSサービスを再起動すると失われます。 NFSサービスを起動するたびに、これを設定する必要があります。NFSクライアント上で、
xprtrdmaカーネル・モジュールをロードし、NFSサービスを開始します。#
modprobe xprtrdma#service nfs start#mount -o proto=rdma,port=20049host:/export/mnthostは、IPoIBサーバーのホスト名またはIPアドレスで、exportはNFS共有の名前です。RDMA経由のマウントが正常に行われたことを確認するには、マウント・ポイントの
protoフィールドを確認します。#
nfsstat -m/mnt from 10.196.0.102:/export Flags: rw,relatime,vers=4.0,rsize=262144,wsize=262144,namlen=255,hard,proto=rdma,port=20049, ...あるいは、次のようにします。
#
cat /proc/mounts

