差分
このページの2つのバージョン間の差分を表示します。
| — |
virtualization:proxmox_ve_7_4_how_to_build_latest_mlnx_ofed [2023-09-03 20:33] (現在) Decomo 作成 |
||
|---|---|---|---|
| 行 1: | 行 1: | ||
| + | ====== Proxmox VE 7.4でConnectX-4向けMLNX_OFEDを自前ビルドする ====== | ||
| + | |||
| + | ===== 試した環境 ===== | ||
| + | |||
| + | * Proxmox VE 7.4-16 | ||
| + | * ConnectX-4 | ||
| + | * NVIDIA MLNX_OFED 23.07-0.5.0.0 | ||
| + | |||
| + | ===== 手順 ===== | ||
| + | |||
| + | ===== 現状の確認 ===== | ||
| + | |||
| + | インボックスドライバの状態を確認しておく。 | ||
| + | |||
| + | < | ||
| + | # modinfo mlx5_core.ko | ||
| + | filename: | ||
| + | license: | ||
| + | description: | ||
| + | author: | ||
| + | srcversion: | ||
| + | alias: | ||
| + | alias: | ||
| + | alias: | ||
| + | alias: | ||
| + | alias: | ||
| + | alias: | ||
| + | alias: | ||
| + | alias: | ||
| + | alias: | ||
| + | alias: | ||
| + | alias: | ||
| + | alias: | ||
| + | alias: | ||
| + | alias: | ||
| + | alias: | ||
| + | alias: | ||
| + | alias: | ||
| + | alias: | ||
| + | alias: | ||
| + | alias: | ||
| + | alias: | ||
| + | alias: | ||
| + | alias: | ||
| + | alias: | ||
| + | alias: | ||
| + | depends: | ||
| + | retpoline: | ||
| + | intree: | ||
| + | name: | ||
| + | vermagic: | ||
| + | parm: | ||
| + | parm: | ||
| + | |||
| + | # modinfo mlx5_ib.ko | ||
| + | filename: | ||
| + | license: | ||
| + | description: | ||
| + | author: | ||
| + | srcversion: | ||
| + | alias: | ||
| + | alias: | ||
| + | alias: | ||
| + | depends: | ||
| + | retpoline: | ||
| + | intree: | ||
| + | name: | ||
| + | vermagic: | ||
| + | </ | ||
| + | |||
| + | ==== 最新のOFEDの取得 ==== | ||
| + | |||
| + | [[https:// | ||
| + | |||
| + | 利用規約への同意が必要なので、作業マシンでISOをダウンロードし管理Web画面からアップロードするのが手っ取り早い。 | ||
| + | |||
| + | Proxmox VE 7.4はDebian 11.6ベースだが、MLNX_OFEDはDebian 11.3用となっている。メージャーバージョンが同じなら大丈夫だろうってなもんで、これを使う事にする。 | ||
| + | |||
| + | ==== ISOの展開 ==== | ||
| + | |||
| + | アップロードしたMLNX_OFEDのISOから中身を取り出す。 | ||
| + | |||
| + | インストールスクリプトを書き換える必要があるので、てきとーにマウントして作業フォルダにコピーする。ドットファイルが含まれるので"/ | ||
| + | |||
| + | < | ||
| + | # mkdir /mnt/iso | ||
| + | # mount -t iso9660 / | ||
| + | # mkdir ~/ofed2307 | ||
| + | # cp -Rp /mnt/iso/. ~/ofed2307/ | ||
| + | # cd ~/ofed2307 | ||
| + | </ | ||
| + | |||
| + | ==== インストールスクリプトの書き換え ==== | ||
| + | |||
| + | そのままのインストールスクリプトでは古いMLNX_OFEDパッケージの削除のところで失敗するので、当該箇所を書き換える。 | ||
| + | |||
| + | mlnxofedinstallファイルのremove_old_package関数を即returnするように変える。 | ||
| + | |||
| + | < | ||
| + | # | ||
| + | # remove old packages | ||
| + | # | ||
| + | sub remove_old_packages | ||
| + | { | ||
| + | return; # ★追加 | ||
| + | print_and_log(" | ||
| + | ... | ||
| + | </ | ||
| + | |||
| + | ==== インストールスクリプトの書き換え ==== | ||
| + | |||
| + | |||
| + | ==== 必要なツールのインストール ==== | ||
| + | |||
| + | ビルドに必要なツールとヘッダを入れる。 | ||
| + | |||
| + | < | ||
| + | # apt install gcc make dkms pve-headers-$(uname -r) | ||
| + | </ | ||
| + | |||
| + | 試しにmlnxofedinstallを実行してみる。普通にやるとディストリビューションチェックで弾かれるので、'' | ||
| + | < | ||
| + | # ./ | ||
| + | Logs dir: / | ||
| + | General log file: / | ||
| + | (中略) | ||
| + | Checking SW Requirements... | ||
| + | One or more required packages for installing MLNX_OFED_LINUX are missing. | ||
| + | Attempting to install the following missing packages: | ||
| + | chrpath automake tcl tk m4 bison libgfortran4 dpatch libltdl-dev graphviz flex gfortran swig quilt ethtool autoconf debhelper pkg-config autotools-dev | ||
| + | </ | ||
| + | |||
| + | 特に初めて実行した場合、上記のようにパッケージ不足のエラーが出る可能性が高い。メッセージに従い追加する。 | ||
| + | |||
| + | < | ||
| + | # apt install chrpath automake tcl tk m4 bison libgfortran4 dpatch libltdl-dev graphviz flex gfortran swig quilt ethtool autoconf debhelper pkg-config autotools-dev | ||
| + | </ | ||
| + | |||
| + | ==== 過去バージョンパッケージの削除 ==== | ||
| + | |||
| + | 古いMLNX_OFEDが入っている場合、debのインストールに失敗することがある。本来はスクリプト内で削除されるものと追われるが、remove_old_packagesを書き換えちゃったので手動で消す必要がある。 | ||
| + | |||
| + | < | ||
| + | # ./ | ||
| + | ... | ||
| + | |||
| + | Do you want to continue? | ||
| + | |||
| + | Checking SW Requirements... | ||
| + | Installing new packages | ||
| + | Installing ofed-scripts-23.07... | ||
| + | Installing mlnx-tools-23.07... | ||
| + | Failed to install mlnx-tools DEB | ||
| + | Collecting debug info... | ||
| + | See / | ||
| + | </ | ||
| + | |||
| + | メッセージでは「debインストールのログを見ろ」となっているが、同じフォルダ内の'' | ||
| + | |||
| + | < | ||
| + | # less / | ||
| + | ... | ||
| + | |||
| + | Installing mlnx-tools-23.07... | ||
| + | Running / | ||
| + | Failed to install mlnx-tools DEB | ||
| + | </ | ||
| + | |||
| + | '' | ||
| + | |||
| + | < | ||
| + | # / | ||
| + | dpkg: regarding .../ | ||
| + | | ||
| + | mlnx-ofed-kernel-utils (version 4.9-OFED.4.9.4.0.8.1) is present and installed. | ||
| + | |||
| + | ... | ||
| + | </ | ||
| + | |||
| + | 古いmlnx-ofed-kernel-utilsが悪さをしているのでアンインストール。 | ||
| + | |||
| + | < | ||
| + | # dpkg --purge mlnx-ofed-kernel-utils | ||
| + | (Reading database ... 289858 files and directories currently installed.) | ||
| + | Removing mlnx-ofed-kernel-utils (4.9-OFED.4.9.4.0.8.1) ... | ||
| + | </ | ||
| + | |||
| + | こんな感じでせっせと消していく。 | ||
| + | |||
| + | ==== ビルド ==== | ||
| + | |||
| + | 問題が解消されれば | ||
| + | |||
| + | CPUがうんうん唸りを上げてビルドが走るので、重いVMが動いてたり、リソースがカツカツの場合は要注意。 | ||
| + | |||
| + | < | ||
| + | # ./ | ||
| + | Logs dir: / | ||
| + | General log file: / | ||
| + | |||
| + | Below is the list of MLNX_OFED_LINUX packages that you have chosen | ||
| + | (some may have been added by the installer due to package dependencies): | ||
| + | |||
| + | ofed-scripts | ||
| + | mlnx-tools | ||
| + | mlnx-ofed-kernel-utils | ||
| + | mlnx-ofed-kernel-dkms | ||
| + | iser-dkms | ||
| + | isert-dkms | ||
| + | srp-dkms | ||
| + | rdma-core | ||
| + | libibverbs1 | ||
| + | ibverbs-utils | ||
| + | ibverbs-providers | ||
| + | libibverbs-dev | ||
| + | libibverbs1-dbg | ||
| + | libibumad3 | ||
| + | libibumad-dev | ||
| + | ibacm | ||
| + | librdmacm1 | ||
| + | rdmacm-utils | ||
| + | librdmacm-dev | ||
| + | mstflint | ||
| + | ibdump | ||
| + | libibmad5 | ||
| + | libibmad-dev | ||
| + | libopensm | ||
| + | opensm | ||
| + | opensm-doc | ||
| + | libopensm-devel | ||
| + | libibnetdisc5 | ||
| + | infiniband-diags | ||
| + | mft | ||
| + | kernel-mft-dkms | ||
| + | perftest | ||
| + | ibutils2 | ||
| + | ibsim | ||
| + | ibsim-doc | ||
| + | ucx | ||
| + | sharp | ||
| + | hcoll | ||
| + | knem-dkms | ||
| + | knem | ||
| + | openmpi | ||
| + | mpitests | ||
| + | dpcp | ||
| + | srptools | ||
| + | mlnx-ethtool | ||
| + | mlnx-iproute2 | ||
| + | rshim | ||
| + | ibarr | ||
| + | |||
| + | 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 you want to continue? | ||
| + | |||
| + | Checking SW Requirements... | ||
| + | Installing new packages | ||
| + | Installing ofed-scripts-23.07... | ||
| + | Installing mlnx-tools-23.07... | ||
| + | Installing mlnx-ofed-kernel-utils-23.07... | ||
| + | Installing mlnx-ofed-kernel-dkms-23.07... | ||
| + | Installing iser-dkms-23.07... | ||
| + | Installing isert-dkms-23.07... | ||
| + | Installing srp-dkms-23.07... | ||
| + | Installing rdma-core-2307mlnx47... | ||
| + | Installing libibverbs1-2307mlnx47... | ||
| + | Installing ibverbs-utils-2307mlnx47... | ||
| + | Installing ibverbs-providers-2307mlnx47... | ||
| + | Installing libibverbs-dev-2307mlnx47... | ||
| + | Installing libibverbs1-dbg-2307mlnx47... | ||
| + | Installing libibumad3-2307mlnx47... | ||
| + | Installing libibumad-dev-2307mlnx47... | ||
| + | Installing ibacm-2307mlnx47... | ||
| + | Installing librdmacm1-2307mlnx47... | ||
| + | Installing rdmacm-utils-2307mlnx47... | ||
| + | Installing librdmacm-dev-2307mlnx47... | ||
| + | Installing mstflint-4.16.1... | ||
| + | Installing ibdump-6.0.0... | ||
| + | Installing libibmad5-2307mlnx47... | ||
| + | Installing libibmad-dev-2307mlnx47... | ||
| + | Installing libopensm-5.16.0.MLNX20230719.c143fc96... | ||
| + | Installing opensm-5.16.0.MLNX20230719.c143fc96... | ||
| + | Installing opensm-doc-5.16.0.MLNX20230719.c143fc96... | ||
| + | Installing libopensm-devel-5.16.0.MLNX20230719.c143fc96... | ||
| + | Installing libibnetdisc5-2307mlnx47... | ||
| + | Installing infiniband-diags-2307mlnx47... | ||
| + | Installing mft-4.25.0... | ||
| + | Installing kernel-mft-dkms-4.25.0... | ||
| + | Installing perftest-23.07.0... | ||
| + | Installing ibutils2-2.1.1... | ||
| + | Installing ibsim-0.12... | ||
| + | Installing ibsim-doc-0.12... | ||
| + | Installing ucx-1.15.0... | ||
| + | Installing sharp-3.4.0.MLNX20230719.b557c42d... | ||
| + | Installing hcoll-4.8.3223... | ||
| + | Installing knem-dkms-1.1.4.90mlnx2... | ||
| + | Installing knem-1.1.4.90mlnx2... | ||
| + | Installing openmpi-4.1.5rc2... | ||
| + | Installing mpitests-3.2.20... | ||
| + | Installing dpcp-1.1.40... | ||
| + | Installing srptools-2307mlnx47... | ||
| + | Installing mlnx-ethtool-6.3... | ||
| + | Installing mlnx-iproute2-6.3.0... | ||
| + | Installing rshim-2.0.9... | ||
| + | Installing ibarr-0.1.3... | ||
| + | Selecting previously unselected package mlnx-fw-updater. | ||
| + | (Reading database ... 292223 files and directories currently installed.) | ||
| + | Preparing to unpack .../ | ||
| + | Unpacking mlnx-fw-updater (23.07-0.5.0.0) ... | ||
| + | Setting up mlnx-fw-updater (23.07-0.5.0.0) ... | ||
| + | |||
| + | Added ' | ||
| + | |||
| + | Initializing... | ||
| + | Attempting to perform Firmware update... | ||
| + | Querying Mellanox devices firmware ... | ||
| + | |||
| + | Device #1: | ||
| + | ---------- | ||
| + | |||
| + | Device Type: ConnectX4 | ||
| + | Part Number: | ||
| + | Description: | ||
| + | PSID: | ||
| + | PCI Device Name: 03:00.0 | ||
| + | Base GUID: 1c34da0300XXXXXX | ||
| + | Base MAC: | ||
| + | Versions: | ||
| + | | ||
| + | | ||
| + | | ||
| + | |||
| + | Status: | ||
| + | |||
| + | |||
| + | Log File: / | ||
| + | Real log file: / | ||
| + | Device (03:00.0): | ||
| + | 03:00.0 Ethernet controller: Mellanox Technologies MT27700 Family [ConnectX-4] | ||
| + | Link Width: x4 ( WARNING - device supports x8 ) | ||
| + | PCI Link Speed: 8GT/s | ||
| + | |||
| + | Installation passed successfully | ||
| + | To load the new driver, run: | ||
| + | / | ||
| + | </ | ||
| + | |||
| + | ==== バージョン確認 ==== | ||
| + | |||
| + | modinfoで出来上がったドライバを確認。 | ||
| + | |||
| + | < | ||
| + | # modinfo mlx5_core | ||
| + | filename: | ||
| + | alias: | ||
| + | alias: | ||
| + | basedon: | ||
| + | version: | ||
| + | license: | ||
| + | description: | ||
| + | author: | ||
| + | srcversion: | ||
| + | alias: | ||
| + | alias: | ||
| + | alias: | ||
| + | alias: | ||
| + | alias: | ||
| + | alias: | ||
| + | alias: | ||
| + | alias: | ||
| + | alias: | ||
| + | alias: | ||
| + | alias: | ||
| + | alias: | ||
| + | alias: | ||
| + | alias: | ||
| + | alias: | ||
| + | alias: | ||
| + | alias: | ||
| + | alias: | ||
| + | alias: | ||
| + | alias: | ||
| + | alias: | ||
| + | depends: | ||
| + | retpoline: | ||
| + | name: | ||
| + | vermagic: | ||
| + | parm: | ||
| + | parm: | ||
| + | parm: | ||
| + | parm: | ||
| + | |||
| + | # modinfo mlx5_ib | ||
| + | filename: | ||
| + | alias: | ||
| + | alias: | ||
| + | alias: | ||
| + | license: | ||
| + | description: | ||
| + | author: | ||
| + | srcversion: | ||
| + | depends: | ||
| + | retpoline: | ||
| + | name: | ||
| + | vermagic: | ||
| + | parm: | ||
| + | </ | ||
| + | |||
| + | システムを再起動し、ConnectX-4を使った通信が問題なくできるか確認する。 | ||
| + | |||
| + | ===== 参考サイト ===== | ||
| + | |||
| + | * [[proxmox_ve_6_3_how_to_build_latest_mlnx_ofed]] | ||