ConnectX-3 VPIでSR-IOVを活用する

SR-IOVを使えば仮想マシン・コンテナでホストのデバイスを共有できる。有効にする手順はCPUがintelかAMDかで変わる。AMDの場合は明示的にブート時にiommuを有効にするカーネルパラメータを渡さないといけない。

Bash
$ sudo apt update
$ sudo apt install mstflint
$ sudo mstconfig query
Device #1:
----------

Device type:    ConnectX3       
Device:         /sys/bus/pci/devices/0000:02:00.0/config

Configurations:                              Next Boot
         SRIOV_EN                            True(1)    #SRIOV_EN=1が必要     
         NUM_OF_VFS                          8          #NUM_OF_VFSは必要なVF数に設定しておく              
         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)
$ sudo mstconfig -d 02:00.0 set SRIOV_EN=1 NUM_OF_VFS=8
$ sudo nano /etc/default/grub
GRUB_CMDLINE_LINUX_DEFAULT="amd_iommu=on iommu=pt quiet" #AMD製CPUの場合のみamd_iommu=onを追加する。intel製では不要(intel_iommu=onを追加してもよい)
$ sudo update-grub
$ sudo nano /etc/modprobe.d/mlx4_core.conf   #proxmox veではmlx4.conf
options mlx4_core debug_level=1 port_type_array=1,1 num_vfs=4,4,0 probe_vf=4,4,0
$ sudo update-initramfs -u
$ sudo reboot now

https://nofu.jp/wiki/virtualization/proxmox_ve_6_3_how_to_use_connectx3_sr_iov

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です