searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

SR-IOV创建和VM使用介绍

2023-10-18 03:17:05
219
0

SR-IOV的全称是Single Root I/O Virtualization,他是一种可以将一张物理网卡分出多个PCI-E虚拟网卡的技术,这些网卡可以在虚拟机中使用。相较于传统网络虚拟化,SR-IOV的性能更高。

 

Intel网卡部署SR-IOV

创建VF网卡

以Intel 82599网卡为例

  1. 修改/etc/default/grub

          GRUB_CMDLINE_LINUX 一行中添加 intel_iommu=on

          重新生成加载项

          grub2-mkconfig  -o /boot/grub2/grub.cfg

       2. 例如设置加载ens4的VF网卡,Intel 82599最大支持63个VF,以下是虚拟出63个VF例子,建议加入开机启动

           echo 63 > /sys/class/net/ens4/device/sriov_numvfs

           

       3. 查看VF生成情况,

            lspci|grep -i net

           

             可以看到,VF网卡已成功生成,并拥有独立的PCI。 生成的VF数量应该等于第二步时的配置数量。

         4. (可选)给VF配置MAC地址

               ip link set ens4 vf 0 mac aa:bb:cc:11:22:30  ===》 给ens4的网卡配置

              可选的原因是,在创建KVM虚机时会自动给网卡生成MAC,所以这里不需要配置。

 

Mellanox网卡部署SR-IOV

创建VF网卡

     1.修改/etc/default/grub

          GRUB_CMDLINE_LINUX 一行中添加 intel_iommu=on

          重新生成加载项

          grub2-mkconfig  -o /boot/grub2/grub.cfg

    2.系统上开启SRIOV

# mst start

# mst status -v
MST modules:
------------
    MST PCI module is not loaded
    MST PCI configuration module loaded
PCI devices:
------------
DEVICE_TYPE                   MST                                          PCI       RDMA            NET                       NUMA  
ConnectX6DX(rev:0)      /dev/mst/mt4125_pciconf1.1    98:00.1   mlx5_3          net-ens6f1                1     

ConnectX6DX(rev:0)      /dev/mst/mt4125_pciconf1      98:00.0   mlx5_2          net-ens6f0                1     

ConnectX6DX(rev:0)      /dev/mst/mt4125_pciconf0.1    32:00.1   mlx5_1          net-ens3f1                0     

ConnectX6DX(rev:0)      /dev/mst/mt4125_pciconf0      32:00.0   mlx5_0          net-ens3f0                0     

      3. 查看网卡SR-IOV能力,配置支持VF数量。

# mlxconfig -d /dev/mst/mt4125_pciconf1 query | grep -e SRIOV_EN -e NUM_OF_VFS -e FPP_EN
         NUM_OF_VFS                          8               
         SRIOV_EN                            True(1) 

其中/dev/mst/mt4125_pciconf1为网卡对应的MST路径,NUM_OF_VFS 为8代表最大的VF数量,SRIOV_EN为True代表为SR-IOV功能已经开启,如果想修改这里的配置:

     mlxconfig -/dev/mst/mt4125_pciconf1 set SRIOV_EN=1 NUM_OF_VFS=96

    4.重启设备,查看VF支持已经变为96

  # mlxconfig -d /dev/mst/mt4125_pciconf0 query | grep -e SRIOV_EN -e NUM_OF_VFS -e FPP_EN  
         NUM_OF_VFS                          96              
         SRIOV_EN                            True(1)

     5.   设置加载VF网卡,查看生成情况

    # echo 64 > /sys/class/net/ens3f1/device/sriov_numvfs 
    # lspci | grep -i net               

   

虚拟机添加VF网卡

         1. 将VF的PCI绑定到虚拟机的XML中

                  lspci|grep -i net     ===》查看PCID

                   virsh edit  虚机名    ====》编辑虚机XML

                   

               <source>
                    <address type='pci' domain='0x0000' bus='0x05' slot='0x11' function='0x0'/>
              </source>

             注意VF的pcid与需要添加VF网卡的虚拟机的xml配置文件的对应关系

          2.  查看配置结果

                1. virsh domiflist 虚机名      , 查看网卡生成成功,自动生成MAC

                   

            3. 进入虚机查询

                 lspci|grep -i net

                  可以看到VF已经和虚机绑定,VF直通成功。

                 

0条评论
0 / 1000
y****n
3文章数
0粉丝数
y****n
3 文章 | 0 粉丝
y****n
3文章数
0粉丝数
y****n
3 文章 | 0 粉丝
原创

SR-IOV创建和VM使用介绍

2023-10-18 03:17:05
219
0

SR-IOV的全称是Single Root I/O Virtualization,他是一种可以将一张物理网卡分出多个PCI-E虚拟网卡的技术,这些网卡可以在虚拟机中使用。相较于传统网络虚拟化,SR-IOV的性能更高。

 

Intel网卡部署SR-IOV

创建VF网卡

以Intel 82599网卡为例

  1. 修改/etc/default/grub

          GRUB_CMDLINE_LINUX 一行中添加 intel_iommu=on

          重新生成加载项

          grub2-mkconfig  -o /boot/grub2/grub.cfg

       2. 例如设置加载ens4的VF网卡,Intel 82599最大支持63个VF,以下是虚拟出63个VF例子,建议加入开机启动

           echo 63 > /sys/class/net/ens4/device/sriov_numvfs

           

       3. 查看VF生成情况,

            lspci|grep -i net

           

             可以看到,VF网卡已成功生成,并拥有独立的PCI。 生成的VF数量应该等于第二步时的配置数量。

         4. (可选)给VF配置MAC地址

               ip link set ens4 vf 0 mac aa:bb:cc:11:22:30  ===》 给ens4的网卡配置

              可选的原因是,在创建KVM虚机时会自动给网卡生成MAC,所以这里不需要配置。

 

Mellanox网卡部署SR-IOV

创建VF网卡

     1.修改/etc/default/grub

          GRUB_CMDLINE_LINUX 一行中添加 intel_iommu=on

          重新生成加载项

          grub2-mkconfig  -o /boot/grub2/grub.cfg

    2.系统上开启SRIOV

# mst start

# mst status -v
MST modules:
------------
    MST PCI module is not loaded
    MST PCI configuration module loaded
PCI devices:
------------
DEVICE_TYPE                   MST                                          PCI       RDMA            NET                       NUMA  
ConnectX6DX(rev:0)      /dev/mst/mt4125_pciconf1.1    98:00.1   mlx5_3          net-ens6f1                1     

ConnectX6DX(rev:0)      /dev/mst/mt4125_pciconf1      98:00.0   mlx5_2          net-ens6f0                1     

ConnectX6DX(rev:0)      /dev/mst/mt4125_pciconf0.1    32:00.1   mlx5_1          net-ens3f1                0     

ConnectX6DX(rev:0)      /dev/mst/mt4125_pciconf0      32:00.0   mlx5_0          net-ens3f0                0     

      3. 查看网卡SR-IOV能力,配置支持VF数量。

# mlxconfig -d /dev/mst/mt4125_pciconf1 query | grep -e SRIOV_EN -e NUM_OF_VFS -e FPP_EN
         NUM_OF_VFS                          8               
         SRIOV_EN                            True(1) 

其中/dev/mst/mt4125_pciconf1为网卡对应的MST路径,NUM_OF_VFS 为8代表最大的VF数量,SRIOV_EN为True代表为SR-IOV功能已经开启,如果想修改这里的配置:

     mlxconfig -/dev/mst/mt4125_pciconf1 set SRIOV_EN=1 NUM_OF_VFS=96

    4.重启设备,查看VF支持已经变为96

  # mlxconfig -d /dev/mst/mt4125_pciconf0 query | grep -e SRIOV_EN -e NUM_OF_VFS -e FPP_EN  
         NUM_OF_VFS                          96              
         SRIOV_EN                            True(1)

     5.   设置加载VF网卡,查看生成情况

    # echo 64 > /sys/class/net/ens3f1/device/sriov_numvfs 
    # lspci | grep -i net               

   

虚拟机添加VF网卡

         1. 将VF的PCI绑定到虚拟机的XML中

                  lspci|grep -i net     ===》查看PCID

                   virsh edit  虚机名    ====》编辑虚机XML

                   

               <source>
                    <address type='pci' domain='0x0000' bus='0x05' slot='0x11' function='0x0'/>
              </source>

             注意VF的pcid与需要添加VF网卡的虚拟机的xml配置文件的对应关系

          2.  查看配置结果

                1. virsh domiflist 虚机名      , 查看网卡生成成功,自动生成MAC

                   

            3. 进入虚机查询

                 lspci|grep -i net

                  可以看到VF已经和虚机绑定,VF直通成功。

                 

文章来自个人专栏
弹性网络与CDN
3 文章 | 1 订阅
0条评论
0 / 1000
请输入你的评论
0
0