win10でConnectX-3の動作確認とファームウェアのアップデートが完了したので、CentOS7.8にMLXN_OFEDをインストールして、ConnectX-3の動作確認とopensmの起動までを記録
Install CentOS 7.8
oepnsmを動作させておくのが目的なので、CentOS7.8は「最小限のインストール」でインストールを完了させた。
CentOS/RHELにMLNX_OFEDをインストールする際に必要なパッケージはHardware and Software Requirementsに書かれているので、必要なパッケージをインストールしておく。
# yum install perl pciutils python gcc-gfortran libxml2-python tcsh libnl.i686 libnl expat glib2 tcl libstdc++ bc tk gtk2 atk cairo numactl pkgconfig ethtool lsof
Download MLNX_OFED
MellanoxのサポートページからConnectX-3 VPI用のMLNX_OFEDをダウンロードする。OSのマイナーバージョン単位でサポートOSを限定しているが、ConnectX-3 VPI用でCent/RHEL7.8をサポートしているMLNX_OFEDのバージョンは、V5.0-2.1.8.0なので、これをダウンロードする。
ISOとtgz両方が提供されているが、通常のインストール手順はISOイメージを使った方法がガイドされているので、ISOイメージをダウンロードした。(ISOイメージの場合には、mountする。tgzの場合には適当なディレクトリにtarする。の違い程度でその後の手順に変わりはない筈)
ISOイメージのリンクをクリックすると、ダウンロードページに移動して、ライセンスに承諾後にダウンロードが始まる仕組みになっているので、別PCでWebブラウザからダウンロードしてしまうのがコマンドラインしか使えない状態のCentの環境の場合には簡単なので、ISOイメージは別PCでダウンロードしてCentへscpで解決。
Install MLNX_OFED
ダウンロードが完了したので、後はUser Manualの手順に従ってインストールするのだが... アカウントとパスワードを求められるようになってしまった...
基本的なインストール手順に大きな違いはなさそうなので、少し古いバージョンのUser Manualを入手することで回避。(その後に少し探してみると...)
(インストール手順に従うと)MLNX_OFEDをインストールする前に、HCAカード(ConnectX-3)が認識(インストール)されていることをlspciコマンドで確認する。
# lspci -v | grep Mellanox
01:00.0 Network controller: Mellanox Technologies MT27500 Family [ConnectX-3]
Subsystem: Mellanox Technologies Device 0022
#
ConnectX-3が表示されない場合には、HCAカードがハード的に認識されていない状態なので、事前に解決が必要。
ConnectX-3が表示されているのを確認したので、ISOイメージをmountコマンドでマウントする。
# mount -o ro,loop MLNX_OFED_LINUX-5.0-2.1.8.0-rhel7.8-x86_64.iso /mnt
# ls /mnt
LICENSE RPMS common.pl create_mlnx_ofed_installers.pl docs mlnx_add_kernel_support.sh src
RPM-GPG-KEY-Mellanox RPMS_UPSTREAM_LIBS common_installers.pl distro is_kmp_compat.sh mlnxofedinstall uninstall.sh
#
ISOイメージのマウントが完了したので、MLNX_OFEDをインストールする。
mlnxofedinstallコマンドでMLNX_OFEDをインストールする。但し、OEM版のHCAなので、インストーラーがエラーで終了するのを避ける為に、--without-fw-updateをオプション指定する。
MLNX_OFED_LINUXパッケージをインストールするが、「OFED,RDMA等々(ガッツリ省略)のパッケージはインストールされたままだとコンフリクトするから削除する。絶対に削除したパッケージを再インストールしてはいけない!」と表示されているので、インストールしないと先に進まないので「Do you want to continue?」でyを入力してインストーラーを進める。
# /mnt/mlnxofedinstall --without-fw-update
Logs dir: /tmp/MLNX_OFED_LINUX.9912.logs
General log file: /tmp/MLNX_OFED_LINUX.9912.logs/general.log
Verifying KMP rpms compatibility with target kernel...
This program will install the MLNX_OFED_LINUX package on your machine.
Note that all other Mellanox, OEM, OFED, RDMA or Distribution IB packages will be removed.
Those packages are removed due to conflicts with MLNX_OFED_LINUX, do not reinstall them.
Do you want to continue?[y/N]:y
Starting MLNX_OFED_LINUX-5.0-2.1.8.0 installation ...
Installing mlnx-ofa_kernel RPM
Preparing... ########################################
Updating / installing...
mlnx-ofa_kernel-5.0-OFED.5.0.2.1.8.1.g########################################
Configured /etc/security/limits.conf
Installing kmod-mlnx-ofa_kernel 5.0 RPM
Preparing... ########################################
kmod-mlnx-ofa_kernel-5.0-OFED.5.0.2.1.########################################
Installing mlnx-ofa_kernel-devel RPM
Preparing... ########################################
Updating / installing...
mlnx-ofa_kernel-devel-5.0-OFED.5.0.2.1########################################
Installing kmod-kernel-mft-mlnx 4.14.0 RPM
Preparing... ########################################
kmod-kernel-mft-mlnx-4.14.0-1.rhel7u8 ########################################
Installing knem RPM
Preparing... ########################################
Updating / installing...
knem-1.1.3.90mlnx1-OFED.5.0.0.3.8.1.g1########################################
Installing kmod-knem 1.1.3.90mlnx1 RPM
Preparing... ########################################
kmod-knem-1.1.3.90mlnx1-OFED.5.0.0.3.8########################################
Installing kmod-iser 5.0 RPM
Preparing... ########################################
kmod-iser-5.0-OFED.5.0.2.1.8.1.g5f6717########################################
Installing kmod-srp 5.0 RPM
Preparing... ########################################
kmod-srp-5.0-OFED.5.0.2.1.8.1.g5f67178########################################
Installing kmod-isert 5.0 RPM
Preparing... ########################################
kmod-isert-5.0-OFED.5.0.2.1.8.1.g5f671########################################
Installing kmod-rshim 1.18 RPM
Preparing... ########################################
kmod-rshim-1.18-0.gb99e894.rhel7u8 ########################################
Installing mpi-selector RPM
Preparing... ########################################
Updating / installing...
mpi-selector-1.0.3-1.50218 ########################################
Installing user level RPMs:
Preparing... ########################################
ofed-scripts-5.0-OFED.5.0.2.1.8 ########################################
Preparing... ########################################
rdma-core-50mlnx1-1.50218 ########################################
Preparing... ########################################
libibverbs-50mlnx1-1.50218 ########################################
Preparing... ########################################
librdmacm-50mlnx1-1.50218 ########################################
Preparing... ########################################
libibumad-50mlnx1-1.50218 ########################################
Preparing... ########################################
infiniband-diags-50mlnx1-1.50218 ########################################
Preparing... ########################################
rdma-core-devel-50mlnx1-1.50218 ########################################
Preparing... ########################################
libibverbs-utils-50mlnx1-1.50218 ########################################
Preparing... ########################################
ibsim-0.9-1.50218 ########################################
Preparing... ########################################
ibacm-50mlnx1-1.50218 ########################################
Preparing... ########################################
librdmacm-utils-50mlnx1-1.50218 ########################################
Preparing... ########################################
opensm-libs-5.6.0.MLNX20200217.cedc1e4########################################
Preparing... ########################################
opensm-5.6.0.MLNX20200217.cedc1e4-0.1.########################################
Preparing... ########################################
opensm-devel-5.6.0.MLNX20200217.cedc1e########################################
Preparing... ########################################
opensm-static-5.6.0.MLNX20200217.cedc1########################################
Preparing... ########################################
dapl-2.1.10mlnx-OFED.3.4.2.1.0.50218 ########################################
Preparing... ########################################
dapl-devel-2.1.10mlnx-OFED.3.4.2.1.0.5########################################
Preparing... ########################################
dapl-devel-static-2.1.10mlnx-OFED.3.4.########################################
Preparing... ########################################
dapl-utils-2.1.10mlnx-OFED.3.4.2.1.0.5########################################
Preparing... ########################################
perftest-4.4-0.23.g89e176a.50218 ########################################
Preparing... ########################################
mstflint-4.13.0-1.41.g4e8819c.50218 ########################################
Preparing... ########################################
mft-4.14.0-105 ########################################
Preparing... ########################################
srp_daemon-50mlnx1-1.50218 ########################################
Preparing... ########################################
ibutils2-2.1.1-0.121.MLNX20200324.g061########################################
Preparing... ########################################
ibutils-1.5.7.1-0.12.gdcaeae2.50218 ########################################
Preparing... ########################################
cc_mgr-1.0-0.48.MLNX20200216.g4ea049f.########################################
Preparing... ########################################
dump_pr-1.0-0.44.MLNX20200216.g4ea049f########################################
Preparing... ########################################
ar_mgr-1.0-0.49.MLNX20200216.g4ea049f.########################################
Preparing... ########################################
ibdump-6.0.0-1.50218 ########################################
Preparing... ########################################
qperf-0.4.11-1.50218 ########################################
Preparing... ########################################
mxm-3.7.3112-1.50218 ########################################
Preparing... ########################################
ucx-1.8.0-1.50218 ########################################
Preparing... ########################################
ucx-devel-1.8.0-1.50218 ########################################
Preparing... ########################################
sharp-2.1.0.MLNX20200223.f63394a9c8-1.########################################
Preparing... ########################################
ucx-cma-1.8.0-1.50218 ########################################
Preparing... ########################################
ucx-ib-1.8.0-1.50218 ########################################
Preparing... ########################################
ucx-rdmacm-1.8.0-1.50218 ########################################
Preparing... ########################################
ucx-knem-1.8.0-1.50218 ########################################
Preparing... ########################################
hcoll-4.5.3045-1.50218 ########################################
Preparing... ########################################
openmpi-4.0.3rc4-1.50218 ########################################
Preparing... ########################################
mlnx-ethtool-5.4-1.50218 ########################################
Preparing... ########################################
mlnx-iproute2-5.4.0-1.50218 ########################################
Preparing... ########################################
mlnxofed-docs-5.0-2.1.8.0 ########################################
Preparing... ########################################
mpitests_openmpi-3.2.20-e1a0676.50218 ########################################
Device (01:00.0):
01:00.0 Network controller: Mellanox Technologies MT27500 Family [ConnectX-3]
Link Width: x8
PCI Link Speed: 8GT/s
Installation finished successfully.
Preparing... ################################# [100%]
Updating / installing...
1:mlnx-fw-updater-5.0-2.1.8.0 ################################# [100%]
Added 'RUN_FW_UPDATER_ONBOOT=no to /etc/infiniband/openib.conf
Skipping FW update.
To load the new driver, run:
/etc/init.d/openibd restart
#
色々とパッケージがインストールされて、インストールが終了したので、指示通りにopenibdを再起動して、openidbの状態を確認する。
# /etc/init.d/openibd restart
Unloading HCA driver: [ OK ]
Loading HCA driver and Access Layer: [ OK ]
#
# /etc/init.d/openibd status
HCA driver loaded
Configured IPoIB devices:
ib0
Currently active IPoIB devices:
ib0
Configured Mellanox EN devices:
Currently active Mellanox devices:
ib0
The following OFED modules are loaded:
rdma_ucm
rdma_cm
ib_ipoib
mlx4_core
mlx4_ib
mlx4_en
mlx5_core
mlx5_ib
ib_uverbs
ib_umad
ib_ucm
ib_cm
ib_core
mlxfw
mlx5_fpga_tools
#
HCAドライバーが正常にロードされて、IPoIB deviceも作成(認識)されているので問題なさそう。
次に、MST(Mellanox Software Toolsの略だそうな)を起動して、ConnectX-3の状態を確認する。
# mst start
Starting MST (Mellanox Software Tools) driver set
Loading MST PCI module - Success
Loading MST PCI configuration module - Success
Create devices
-W- Missing "lsusb" command, skipping MTUSB devices detection
#
# mst status -v
MST modules:
------------
MST PCI module loaded
MST PCI configuration module loaded
PCI devices:
------------
DEVICE_TYPE MST PCI RDMA NET NUMA
ConnectX3(rev:1) /dev/mst/mt4099_pciconf0
ConnectX3(rev:1) /dev/mst/mt4099_pci_cr0 01:00.0 mlx4_0 net-ib0 -1
#
MTUSB deviceはスキップされているが、ConnectX-3のdeviceファイルが作成されているので、無事にHCAが認識されている模様。
念のため、デバイスの情報を確認する。
# flint -d /dev/mst/mt4099_pci_cr0 query
Image type: FS2
FW Version: 2.42.5000
FW Release Date: 5.9.2017
Product Version: 02.42.50.00
Device ID: 4099
Description: Node Port1 Port2 Sys image
GUIDs: 0002c90300f66b30 0002c90300f66b31 0002c90300f66b32 0002c90300f66b33
MACs: 0002c9f66b30 0002c9f66b31
VSD:
PSID: FJT1060100019
#
# mlxconfig -d /dev/mst/mt4099_pci_cr0 query
Device #1:
----------
Device type: ConnectX3
Device: /dev/mst/mt4099_pci_cr0
Configurations: Next Boot
SRIOV_EN True(1)
NUM_OF_VFS 16
LINK_TYPE_P1 VPI(3)
LINK_TYPE_P2 VPI(3)
LOG_BAR_SIZE 3
BOOT_PKEY_P1 0
BOOT_PKEY_P2 0
BOOT_OPTION_ROM_EN_P1 True(1)
BOOT_VLAN_EN_P1 False(0)
BOOT_RETRY_CNT_P1 0
LEGACY_BOOT_PROTOCOL_P1 PXE(1)
BOOT_VLAN_P1 1
BOOT_OPTION_ROM_EN_P2 True(1)
BOOT_VLAN_EN_P2 False(0)
BOOT_RETRY_CNT_P2 0
LEGACY_BOOT_PROTOCOL_P2 PXE(1)
BOOT_VLAN_P2 1
IP_VER_P1 IPv4(0)
IP_VER_P2 IPv4(0)
CQ_TIMESTAMP True(1)
#
# ibv_devices
device node GUID
------ ----------------
mlx4_0 0002c90300f66b30
#
# ibv_devinfo
hca_id: mlx4_0
transport: InfiniBand (0)
fw_ver: 2.42.5000
node_guid: 0002:c903:00f6:6b30
sys_image_guid: 0002:c903:00f6:6b33
vendor_id: 0x02c9
vendor_part_id: 4099
hw_ver: 0x1
board_id: FJT1060100019
phys_port_cnt: 1
port: 1
state: PORT_DOWN (1)
max_mtu: 4096 (5)
active_mtu: 4096 (5)
sm_lid: 0
port_lid: 0
port_lmc: 0x00
link_layer: InfiniBand
#
確認出来る範囲で一通りデータを取得出来ているので、HCAとしてConnectX-3がCent7で動作可能な状態になっている模様。
opensm
ConnectX-3が認識されているのを確認したが、SMとしてOpenSMを動作させるのが目的なので、opensmを起動してみる。
# opensm
-------------------------------------------------
OpenSM 5.6.0.MLNX20200217.cedc1e4
Command Line Arguments:
Log File: /var/log/opensm.log
-------------------------------------------------
OpenSM 5.6.0.MLNX20200217.cedc1e4
Using default GUID 0x2c90300f66b31
Entering DISCOVERING state
SM port is down
^COpenSM: Got signal 2 - exiting...
Exiting SM
#
起動は問題ない模様。(対抗となるHCA or スイッチが無いので、port is downはその通り。)
システム起動時にopensmが自動で起動する状態になっている筈なのだが、確認する為、一旦rebootしてからopensmdの状態を確認する。
OS起動後に、以下のコマンドでopensmの状態を確認する。
# /etc/init.d/opensmd status
opensm (pid 1496) is running...
#
# systemctl status opensmd
● opensmd.service - LSB: Activates/Deactivates InfiniBand Subnet Manager
Loaded: loaded (/etc/rc.d/init.d/opensmd; bad; vendor preset: disabled)
Active: active (running) since 木 2020-08-13 18:07:20 JST; 48s ago
Docs: man:systemd-sysv-generator(8)
Process: 1421 ExecStart=/etc/rc.d/init.d/opensmd start (code=exited, status=0/SUCCESS)
Main PID: 1496 (opensm)
CGroup: /system.slice/opensmd.service
└─1496 /usr/sbin/opensm --daemon
8月 13 18:07:19 localhost.localdomain systemd[1]: Starting LSB: Activates/Deactivates InfiniBand Subnet Manager...
8月 13 18:07:19 localhost.localdomain OpenSM[1496]: /var/log/opensm.log log file opened
8月 13 18:07:19 localhost.localdomain OpenSM[1496]: OpenSM 5.6.0.MLNX20200217.cedc1e4
8月 13 18:07:19 localhost.localdomain OpenSM[1496]: Entering DISCOVERING state
8月 13 18:07:20 localhost.localdomain OpenSM[1496]: SM port is down
8月 13 18:07:20 localhost.localdomain opensmd[1421]: Starting IB Subnet Manager.[ OK ]
8月 13 18:07:20 localhost.localdomain systemd[1]: Started LSB: Activates/Deactivates InfiniBand Subnet Manager.
#
# systemctl list-units --type=service | grep open
openibd.service loaded active exited openibd - configure Mellanox devices
opensmd.service loaded active running LSB: Activates/Deactivates InfiniBand Subnet Manager
と、systemctlのサービスとして管理されていて、普通に動作(running状態)していることを確認出来た。
opensmのパッケージは、yumでインストールされているようなのでパッケージ情報を確認する。
# yum info opensm
読み込んだプラグイン:fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.cat.net
* extras: ftp.iij.ad.jp
* updates: ftp.iij.ad.jp
インストール済みパッケージ
名前 : opensm
アーキテクチャー : x86_64
バージョン : 5.6.0.MLNX20200217.cedc1e4
リリース : 0.1.50218
容量 : 2.4 M
リポジトリー : installed
要約 : InfiniBand subnet manager and administration
URL : https://github.com/linux-rdma/opensm
ライセンス : GPLv2 or BSD
説明 : OpenSM provides an implementation of an InfiniBand Subnet Manager and
: Administration. Such a software entity is required to run for in order
: to initialize the InfiniBand hardware (at least one per each
: InfiniBand subnet).
#
後は、IBな環境に設置して起動して普通に動作するれば完了。
設置後の状況
IB環境下に設置した直後の状態は以下の通り。
# lspci -v -s 01:00.0
01:00.0 Network controller: Mellanox Technologies MT27500 Family [ConnectX-3]
Subsystem: Mellanox Technologies Device 0022
Flags: bus master, fast devsel, latency 0, IRQ 16
Memory at f0200000 (64-bit, non-prefetchable) [size=1M]
Memory at 1fff000000 (64-bit, prefetchable) [size=8M]
Capabilities: [40] Power Management version 3
Capabilities: [48] Vital Product Data
Capabilities: [9c] MSI-X: Enable+ Count=128 Masked-
Capabilities: [60] Express Endpoint, MSI 00
Capabilities: [c0] Vendor Specific Information: Len=18 <?>
Capabilities: [100] Alternative Routing-ID Interpretation (ARI)
Capabilities: [148] Device Serial Number 00-02-c9-03-00-f6-6b-30
Capabilities: [154] Advanced Error Reporting
Capabilities: [18c] #19
Capabilities: [108] Single Root I/O Virtualization (SR-IOV)
Kernel driver in use: mlx4_core
Kernel modules: mlx4_core
#
# ibv_devinfo
hca_id: mlx4_0
transport: InfiniBand (0)
fw_ver: 2.42.5000
node_guid: 0002:c903:00f6:6b30
sys_image_guid: 0002:c903:00f6:6b33
vendor_id: 0x02c9
vendor_part_id: 4099
hw_ver: 0x1
board_id: FJT1060100019
phys_port_cnt: 1
port: 1
state: PORT_ACTIVE (4)
max_mtu: 4096 (5)
active_mtu: 4096 (5)
sm_lid: 5
port_lid: 5
port_lmc: 0x00
link_layer: InfiniBand
#
# /etc/init.d/openibd status
HCA driver loaded
Configured IPoIB devices:
ib0
Currently active IPoIB devices:
ib0
Configured Mellanox EN devices:
Currently active Mellanox devices:
ib0
The following OFED modules are loaded:
rdma_ucm
rdma_cm
ib_ipoib
mlx4_core
mlx4_ib
mlx4_en
mlx5_core
mlx5_ib
ib_uverbs
ib_umad
ib_ucm
ib_cm
ib_core
mlxfw
mlx5_fpga_tools
#
# ibstat
CA 'mlx4_0'
CA type: MT4099
Number of ports: 1
Firmware version: 2.42.5000
Hardware version: 1
Node GUID: 0x0002c90300f66b30
System image GUID: 0x0002c90300f66b33
Port 1:
State: Active
Physical state: LinkUp
Rate: 56
Base lid: 5
LMC: 0
SM lid: 5
Capability mask: 0x0251486a
Port GUID: 0x0002c90300f66b31
Link layer: InfiniBand
#
Centが起動してデバイスの認識は出来ているので、後はスイッチに繋ぎ込んで貰ってから、必要があればOpenSMの設定を変更すれば完了。
基本、デフォルトのままで使える筈