CentOS8.2 で古い QLogic IBA7322 Infiniband カードを復活させる

CentOS8.2 で古い QLogic IBA7322 Infiniband カードを復活させる

私は、QLogic Infiniband カード IBA7322 を搭載した HP Blades Gen7 を数台所有しており、これを CentOS 8 で使用したいと考えています。問題は、適切なドライバーが見つからないことです。見つかった情報はすべて古いか、リンクが機能しません (例: marvell のダウンロード リンク)。

lspci でカードは確認できますが、それ以外では電源をオンにすることができませんでした (いわば)。

この問題に関して、何らかの方向性を教えていただける方はいらっしゃいますか?

乾杯。

編集:

から得られる結果lspci -vv

01:00.0 InfiniBand: QLogic Corp. IBA7322 QDR InfiniBand HCA (rev 02)
        Subsystem: Hewlett-Packard Company Device 178a
        Physical Slot: 0
        Control: I/O+ Mem+ BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr+ Stepping- SERR+ FastB2B- DisINTx-
        Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
        Interrupt: pin A routed to IRQ 10
        Region 0: Memory at fd400000 (64-bit, non-prefetchable) [size=4M]
        Capabilities: [40] Power Management version 3
                Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
                Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
        Capabilities: [70] Express (v2) Endpoint, MSI 00
                DevCap: MaxPayload 512 bytes, PhantFunc 0, Latency L0s <64ns, L1 <1us
                        ExtTag- AttnBtn- AttnInd- PwrInd- RBE+ FLReset- SlotPowerLimit 0.000W
                DevCtl: Report errors: Correctable+ Non-Fatal+ Fatal+ Unsupported+
                        RlxdOrd+ ExtTag- PhantFunc- AuxPwr- NoSnoop-
                        MaxPayload 128 bytes, MaxReadReq 4096 bytes
                DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr- TransPend-
                LnkCap: Port #0, Speed 5GT/s, Width x8, ASPM L0s, Exit Latency L0s <4us
                        ClockPM- Surprise- LLActRep- BwNot- ASPMOptComp-
                LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- CommClk+
                        ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
                LnkSta: Speed 5GT/s, Width x8, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
                DevCap2: Completion Timeout: Not Supported, TimeoutDis+, LTR-, OBFF Not Supported
                         AtomicOpsCap: 32bit- 64bit- 128bitCAS-
                DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis-, LTR-, OBFF Disabled
                         AtomicOpsCtl: ReqEn-
                LnkCtl2: Target Link Speed: 5GT/s, EnterCompliance- SpeedDis-
                         Transmit Margin: Normal Operating Range, EnterModifiedCompliance- ComplianceSOS-
                         Compliance De-emphasis: -6dB
                LnkSta2: Current De-emphasis Level: -6dB, EqualizationComplete-, EqualizationPhase1-
                         EqualizationPhase2-, EqualizationPhase3-, LinkEqualizationRequest-
        Capabilities: [b0] MSI-X: Enable- Count=32 Masked-
                Vector table: BAR=0 offset=00008000
                PBA: BAR=0 offset=00009000
        Capabilities: [100 v1] Advanced Error Reporting
                UESta:  DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
                UEMsk:  DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq+ ACSViol-
                UESvrt: DLP- SDES+ TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
                CESta:  RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr-
                CEMsk:  RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr-
                AERCap: First Error Pointer: 00, ECRCGenCap+ ECRCGenEn- ECRCChkCap+ ECRCChkEn-
                        MultHdrRecCap- MultHdrRecEn- TLPPfxPres- HdrLogCap-
                HeaderLog: 00000000 00000000 00000000 00000000

答え1

まず最初に、問題のハードウェアのPCIベンダーIDとデバイスIDを取得します。カードは1077:7322のようです。クイックルックLinux ドライバー データベースによると、このカードは ib_qib ドライバーを使用しているようです。

RHELのドキュメントを見てみたところ、RHEL 8で削除されたドライバー、このドライバーは見つかりませんでした。ただし、RHEL 8 VM を起動したところ、ドライバーは存在せず、対応するカーネル構成で有効化されていません。ただし、RHEL 7 には存在します。

このような状況で人々が通常行うことは、古いハードウェアを使用するために、エルレポリポジトリには、RHEL 8 用の不足している ib_qib ドライバー (および Red Hat が削除した他のいくつかのドライバー) が含まれています。例:

dnf install https://www.elrepo.org/elrepo-release-8.el8.elrepo.noarch.rpm
dnf install kmod-ib_qib

答え2

何度も何度も試した後、友人は思い切って Rocky 8.5 で 4.19 カーネルを再コンパイルし、qibドライバーを有効にしました。ドライバーは最初から存在していたのですが、デフォルトのカーネルではコンパイルされていなかったのです。

これで、古い QLogic カードが再び動作するようになりました。このカードは、サブネット マネージャーを実行している (なんと!) Mellanox Infiniband スイッチに接続されています。

ノードは相互に 40 Gbps で通信でき、さらに新しい 100 Gbps Mellanox ConnectX5 カードとも通信できます。

Infiniband の世界では、すべてが順調です!

これが誰かの役に立つことを願っています。質問があれば、できる限りお答えします。ただし、私はこれらのことに関して専門家ではないことを覚えておいてください。ただ、何かを見つけて古い機器を再び使えるようにしなければならなかっただけの人間です。

関連情報