Infiniband RHEL7、NFS RDMAの設定とヘルプ

Infiniband RHEL7、NFS RDMAの設定とヘルプ

私が間違っている、または欠けている部分について誰かが助けることができることを願っています。

  • 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=enabled3つのノードすべてで。
    • 再起動
  • ib0システムツール - 設定 - ネットワークの下のGUIを介してネットワークを設定します。
  • ib0転送モード=データグラム。 MTU = 自動、ipv4 アドレス設定 = 無視。
  • /etc/hosts3つのテストサーバーのうち、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=rdmaRequest for unknown module key Mellanox Technologies signing key <40 hex chars> err -11

転送プロトコルを次に設定してみました。接続済み両方のノードの「System-Tools-Settings-Network」では、オフ/オンがオフになっており、オンになっておらず、ip aib0が接続されているがIPアドレスがなく、2つの間にネットワーク接続がないことが示されています。 。

質問:

  1. RDMAを介してNFSを実装するには、転送モードをDATAGRAMまたはCONNECTEDに設定する必要がありますか?
  2. 一つのために基本的な 伝送制御プロトコルインフィニバンドネットワークで作業を開始できるように、上記の内容は正しいですか?私は何かを逃したか、何か間違っていますか?すべてのサーバーで動作するのはopensm正しいですか?
  3. mount -o rdma node1:/scratch /scratchNFS = RDMAが機能するように他のすべてが正しく設定されている場合は、すべてです。
  4. NFS + RDMAが実際に動作している場合は、小規模ネットワーク間にsshまたはscpが可能な共通tcp型ネットワークがまだ存在しますか?
  5. Aはsystemctl list-unit-files | grep nfs13の異なるものを示していますnfs-xxx.service。他のエントリ(blkmap、config、idmap、lock、mountd、rquotad、server、lock)を有効にする必要がありますか?
  6. 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.serviceRedhatサービスチケットの助けを借りて、MLNX isoのインストールパスに従ったのでなく、それが正しく機能していることを確認できました。

DVDからRHEL 7.9を再インストールしてInfiniband Supportパッケージを選択しましたが、再起動後、デフォルトではInfinibandネットワークが機能し始めました...インストールして実行していましたopensm

/etc/rdma/rdma.confそこで、すべてのサービスが「はい」であることを確認することが重要ですSVCRDMA_LOADTECH_PREVIEW_LOADNo.のままです。

ファイアウォールで、nfs4用のポート2049とrdma用のポート20049を開きます。

編集/etc/sysconfig/nfsと変更のみ可能

RPCNFSARGS='--rdma=20049'

nfs-clientのmou​​ntコマンドは次のとおりです。

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ではこれを有効にする方法についての記事もありますが、成功しませんでした。

おすすめ記事