差分
このページの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]] | ||