2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

CentOS7でConnectX-3 VPIをセットアップ

Last updated at Posted at 2021-01-12

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なので、これをダウンロードする。
CX3-Linux-01.png

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の設定を変更すれば完了。
基本、デフォルトのままで使える筈

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?