-
PF绑定到igb_uio
./dpdk-devbind.py -b igb_uio 0000:17:00.0
2. 创建VF
修改max_vfs,报Input/output error
[root@localhost usertools]# echo 1 > /sys/bus/pci/devices/0000\:17\:00.0/max_vfs
-bash: echo: write error: Input/output error
dmesg
[root@localhost usertools]# dmesg
[91758.362299] pci 0000:17:00.4: [8848:8309] type 7f class 0xffffff
[91758.362306] pci 0000:17:00.4: unknown header type 7f, ignoring device
或者修改sriov_numvfs,报No such file or directory
[root@localhost usertools]# echo 1 > /sys/bus/pci/devices/0000\:17\:00.0/sriov_numvfs
-bash: echo: write error: No such file or directory
由于加载了uio和igb_uio驱动导致,重启之后直接加载内核驱动rnp.ko;或者不重启直接卸载uio和igb_uio后再加载内核驱动rnp.ko,就可以了。
另一个创建VF失败的问题:
[root@localhost usertools]# echo 1 > /sys/bus/pci/devices/0000\:03\:00.2/sriov_numvfs
-bash: echo: write error: Cannot allocate memory
需要在/boot/grub/grub.cfg 中追加参数pci=assign-busses pci=realloc,然后重启生效;并且在/etc/default/grub GRUB_CMDLINE_LINUX中也加入参数,然后更新grub配置;
但是在配置过程中遇到几个问题:
-
我的设备grub.cfg没在/boot/grub/目录中,而是在/boot/grub2/目录中,修改的改目录下的grub.cfg文件;
-
grub-mkconfig更新grub配置没有grub-mkconfig目录,直接使用grub2-mkconfig -o /boot/grub2/grub.cfg更新;
但是将配置按照自己设备上的环境文件和命令配置后修改sriov_numvfs创建VF仍然有问题,查看信息发现修改的配置没生效,如下图,没有自己添加的pci=assign-busses pci=realloc等配置信息;
![](https://img-blog.csdnimg.cn/img_convert/e318939846dd6e87620b2c8cd0ecfdf4.png)
后来发现还有其它grub配置文件,/boot/efi/EFI/centos/grub.cfg 我的设备应该是通过这个配置的,查看该文件发现pci=assign-busses pci=realloc等参数果然没配置,将该文件按照上述方法修改配置后,没问题了。
![](https://img-blog.csdnimg.cn/img_convert/0fd116d8dd21e79c711d8c123b2ac09e.png)
![](https://img-blog.csdnimg.cn/img_convert/a9302b4539777a6f4acfe2c21a5011a3.png)
该问题参考:(130条消息) echo: write error: Cannot allocate memory_echo: 写错误: 无法分配内存_shuai_wow的博客-CSDN博客
(130条消息) sudo:update-grub:找不到命令 这要怎么办?_grub2-mkconfig 命令不存在_sbtmbj2010的博客-CSDN博客
使用网口名创建VF
echo 1 > /sys/class/net/ethX/device/sriov_numvfs
参考
dpdk - Can't create VF with vfio-pci via sysfs - Stack Overflow
driver doesn't support SRIOV configuration via sysfs - tycoon3 - 博客园 (cnblogs.com)
VM高性能网络I/O:DPDK +SR-IOV配置 - 简书 (jianshu.com)
配置dpdk使用PF和VF:
6. VF daemon (VFd) — Data Plane Development Kit 18.11.11 documentation (dpdk.org)
SR-IOV 网卡虚拟化技术 - 爱码网 (likecs.com) --有关于SRIOV PF VF报文分发处理机制描述
linux系统中安装KVM虚拟机
(110条消息) Centos7安装KVM全流程_centos安装kvm_AdolfQiu的博客-CSDN博客