
私が間違っている、または欠けている部分について誰かが助けることができることを願っています。
- 3つのテストサーバー(ホスト名node1..3)があり、各サーバーにはMellanox MT28908シリーズインフィニバンドカード、モデルCX653105Aが装備されています。
- Mellanox HDRインフィニバンドスイッチQM8700があります。
- RHEL 7.9を実行しているすべてのサーバーでカーネル3.10.0-1160.49.1.el7.x86_64
- Access_Redhatストレージ管理ガイド、8.6を参照してください。NFS サーバーの構成。
systemctl disable firewalld; service firewalld stop
- selinuxは
/etc/selinux/config
。 - すでに
MLNX_OFED_LINUX-5.4-3.1.0.0-rhel7.9-x86_64.iso
(362Mb)を以下からダウンロードしました。https://www.mellanox.com/products/infiniband-drivers/linux/mlnx_ofed;そして各node1、node2、node3にインストールされます。mount -o loop MLNX_OFED_LINUX-5.4-3.1.0.0-rhel7.9-x86_64.iso /mlx;
- 走る
/mlx/mlnxofedinstall
- アクションを実行し、すべてのプロンプトに「はい」と答えると、互換性がないと言っている既存のrhel ofedエントリを削除します。
chkconfig opensm on
そしてopenibd.service=enabled
3つのノードすべてで。- 再起動
ib0
システムツール - 設定 - ネットワークの下のGUIを介してネットワークを設定します。- ib0転送モード=データグラム。 MTU = 自動、ipv4 アドレス設定 = 無視。
/etc/hosts
3つのテストサーバーのうち、node1、node2、node3のIPアドレスを追加するように手動で編集しました:172.16.2。{1,2,3}- インフィニバンドネットワークは、これら3つのサーバーとスイッチの間に物理的に接続された唯一のネットワークです。
- Infinebandネットワークを介してpingとsshまたはscpを正常に実行できます。
/etc/sysconfig/nfs
すべてのノードで同じで、ファイルが以下にリストされます。- ノード1から
/etc/exports
::/scratch *(rw,async,no_root_squash)
とnfs.service=enabled
- ノード2またはノード3:
mount node1:/scratch /scratch
有効 - ノード2またはノード3:
mount -o rdma,port=20049 node1:/scratch /scratch
結果mount.nfs: マウントシステムコールに失敗しました /etc/rdma/mlx4.conf
変更していないファイルがあります。- いいえ、
/etc/rdma/rmda.conf
しかし一つあります/etc/rdma/modules/rdma.conf
。 - 私は
ln -s /etc/rdma/modules/rdma.conf /etc/rdma/rdma.conf
それが必要かどうかはわかりませんでした。 - その中のすべての行(サービス)のコメントを削除しました。構文が異なるようです。必要に応じてこのファイルを公開できません。
/var/log/messages
これを試した後、これが重要かどうかはわかりませんmount -o proto=rdma
。Request for unknown module key Mellanox Technologies signing key <40 hex chars> err -11
転送プロトコルを次に設定してみました。接続済み両方のノードの「System-Tools-Settings-Network」では、オフ/オンがオフになっており、オンになっておらず、ip a
ib0が接続されているがIPアドレスがなく、2つの間にネットワーク接続がないことが示されています。 。
質問:
- RDMAを介してNFSを実装するには、転送モードをDATAGRAMまたはCONNECTEDに設定する必要がありますか?
- 一つのために基本的な 伝送制御プロトコルインフィニバンドネットワークで作業を開始できるように、上記の内容は正しいですか?私は何かを逃したか、何か間違っていますか?すべてのサーバーで動作するのは
opensm
正しいですか? mount -o rdma node1:/scratch /scratch
NFS = RDMAが機能するように他のすべてが正しく設定されている場合は、すべてです。- NFS + RDMAが実際に動作している場合は、小規模ネットワーク間にsshまたはscpが可能な共通tcp型ネットワークがまだ存在しますか?
- Aは
systemctl list-unit-files | grep nfs
13の異なるものを示していますnfs-xxx.service
。他のエントリ(blkmap、config、idmap、lock、mountd、rquotad、server、lock)を有効にする必要がありますか? - selinux = enforcingに問題がありますか?
-
My /etc/sysconfig/nfs file on each server
#LOCKDARG=
#RPCNFSDCOUNT=16
#NFSD_V4_GRACE=90
#NFSD_V4_LEASE=90
RPCMOUNTDOPTS=""
STATDARG=""
#STATD_HA_CALLOUT="/usr/local/bin/foo"
SMNOTIFYARGS=""
RPCIDMAPDARGS=""
RPCGSSDARGS=""
GSS_USE_PROXY="yes"
BLKMAPDARGS=""
RPCNFSDARGS="--rdma=20049"
STATD_PORT=4001
STATD_OUTGOING_PORT=4002
MOUNTD_PORT=4003
LOCKD_TCPPORT=4004
LOCKD_UDPPORT=4004
答え1
私が理解したことは、2つの間に矛盾があるようです。MLNX_OFED_LINUX-5.4-3.1.0.0-rhel7.9-x86_64.iso そしてsystemctl rdma.service
。 MLNX isoをインストールすると、そのタスクを実行し、実行するすべてのアイテムをインストールするときにRedhatのバージョンが削除され、独自のバージョンに置き換えられるため、rdma-core-22.4-6.el7_9.x86_64
もはやrdma.service
。
rdma.service
Redhatサービスチケットの助けを借りて、MLNX isoのインストールパスに従ったのでなく、それが正しく機能していることを確認できました。
DVDからRHEL 7.9を再インストールしてInfiniband Support
パッケージを選択しましたが、再起動後、デフォルトではInfinibandネットワークが機能し始めました...インストールして実行していましたopensm
。
/etc/rdma/rdma.conf
そこで、すべてのサービスが「はい」であることを確認することが重要ですSVCRDMA_LOAD
。TECH_PREVIEW_LOAD
No.のままです。
ファイアウォールで、nfs4用のポート2049とrdma用のポート20049を開きます。
編集/etc/sysconfig/nfs
と変更のみ可能
RPCNFSARGS='--rdma=20049'
nfs-clientのmountコマンドは次のとおりです。
mount -o rdma,port=20049 server:/scratch /scratch
また、インフィニバンドを動作させるためにMLNX isosを使用するサーバーと、MLNX isosを使用せずにredhat infinibandパッケージを使用するサーバーとの間の非互換性と失敗したnfsインストールを観察しました。だからMLNXはどこでも使われていないか、まったく使われていないようです。 MLNX isoのみを使用してインストールされたinifinibandカードのファームウェアアップデートを許可し、インストールする他のすべてのエントリは拒否されます。私は少し異なって動作し、openibdなどを使用すると言うMLNX文書を見たようですが、動作しにくいことがわかりました。
nfs v4.1のみを動作させることができます。 /etc/nfs.confはnfs4.2が利用可能であると述べていますが、Redhatではこれを有効にする方法についての記事もありますが、成功しませんでした。