ソースの表示以前のリビジョンバックリンク全て展開する/折り畳む文書の先頭へ Share via Share via... Twitter LinkedIn Facebook Pinterest Telegram WhatsApp Yammer Reddit Teams最近の変更Send via e-Mail印刷パーマリンク × 目次 Proxmox VE 6.3でConnectX-3のSR-IOVを使う 試した環境 手順 mlx4_coreモジュールの設定 initramfsの更新と確認 カードのSR-IOV設定の有効化 MFTのインストール カードの状態の確認 カードのSR-IOVの有効化 参考サイト 文書の過去の版を表示しています。 Proxmox VE 6.3でConnectX-3のSR-IOVを使う 試した環境 Proxmox VE 6.3-3 Supermicro X10DRi Mellanox ConnectX-3 Pro EN (MCX314A-BCCT) 手順 ConnectXカードのSR-IOV設定が有効になっていれば、confファイルを1つ作るだけでSR-IOVが使えるようになる。 カードのSR-IOVが有効になってない、有効か確認したい場合はページ後半を参照。 mlx4_coreモジュールの設定 /etc/modprobe.d/mlx4.confに以下の記述を追加する。 options mlx4_core port_type_array=2,2 num_vfs=4,0,0 probe_vf=4,0,0 initramfsの更新と確認 confファイルを作ったら、initramfsを更新しマシンを再起動する。 # update-initramfs -u -k all # reboot 上手く設定できてればPCIデバイスとしてVFが生えてくる。 prove_vfを設定すると、ホスト側でネットワークデバイスとして認識される。物理ポート1に4つのVFを指定してるハズなのに、ens1とens1d1の両方にVFが出来てるのは何故… カードのSR-IOV設定の有効化 上記の設定でVFが出てこない場合、カードのファームウェアのSR-IOVとVF数の設定を確認する。 PVEのホスト側にコンパイラやmst (Mellanoxのツール)を入れる事になるので、環境を汚したくなければ別マシンで確認&設定を行ってもよい。 MFTのインストール MFTのインストールに必要なツールチェイン類を入れる。 # apt install gcc make dkms pve-headers-$(uname -r) 公式サイトからMFTのDebian向けパッケージを取ってくる。本記事執筆時は4.16.0-105が最新だった。 # wget https://www.mellanox.com/downloads/MFT/mft-4.16.0-105-x86_64-deb.tgz 展開してインストールスクリプトを実行。 # tar -xvf ./mft-4.16.0-105-x86_64-deb.tgz # cd mft-4.16.0-105-x86_64-deb/ # ./install.sh カードの状態の確認 MFTを使うにはmstを実行しておく必要がある。 # mst start Starting MST (Mellanox Software Tools) driver set Loading MST PCI module - Success Loading MST PCI configuration module - Success Create devices mlxconfigでカードの状態を確認する。 表示されたConfigurationsで、SRIOV_ENがTrue、NUM_OF_VFSが1以上になっていれば、カードのSR-IOVは有効になっている。 # mlxconfig q Device #1: ---------- Device type: ConnectX3Pro Device: /dev/mst/mt4103_pciconf0 Configurations: Next Boot SRIOV_EN True(1) NUM_OF_VFS 8 LOG_BAR_SIZE 3 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) カードのSR-IOVの有効化 カードのSR-IOVが有効になっていなければ有効化する。 # mlxconfig -d /dev/mst/mt4103_pciconf0 set SRIOV_EN=1 Device #1: ---------- Device type: ConnectX3Pro Device: /dev/mst/mt4103_pciconf0 Configurations: Next Boot New SRIOV_EN False(0) True(1) Apply new Configuration? (y/n) [n] : y Applying... Done! -I- Please reboot machine to load new configurations. 同様にNUM_OF_VFSも適切な値を設定し、マシンを再起動する。 参考サイト HowTo Configure SR-IOV for ConnectX-3 with KVM (Ethernet) HowTo Configure SR-IOV VFs on Different ConnectX-3 Ports HowTo Set Virtual Network Attributes on a Virtual Function (SR-IOV) 有關於 PVE 5 如何安裝 mft tools 以及開啟 Mellanox SR-IOV | Facebook virtualization/proxmox_ve_6_3_how_to_use_connectx3_sr_iov.1610627284.txt.gz 最終更新: 2021-01-14 21:28by Decomo