环境介绍
- 主机:AMD Ryzen7 7700X,Windows11
- 虚拟机软件:VMware Workstation 17
- 客户机:2 个,centos7.4
- 客户机网卡:每个客户机配有2个虚拟网卡,1个网卡NAT模式用于主机远程ssh,1个网卡Host-Only模式被dpdk接管用于客户机之间通信。
- DPDK:22.03
- 环境说明:不需要虚拟化IOMMU来支持vfio
客户机环境配置
安装编译环境
yum install python3 python3-pip
pip3 install --upgrade pip
pip3 install pyelftools
pip3 install meson
pip3 install ninja
yum install kernel-devel-$(uname -r)
编译dpdk
cd dpdk-22.03/
meson --prefix=/opt/dpdk -Denable_kmods=true build
cd build
ninja
ninja install
配置大页内存
- 大页内存可配置为2M、1G
- 查看大页内存配置情况(此处还没配置)
[root@localhost gyk]
AnonHugePages: 202752 kB
HugePages_Total: 0
HugePages_Free: 0
HugePages_Rsvd: 0
HugePages_Surp: 0
Hugepagesize: 2048 kB
vi /etc/default/grub
GRUB_CMDLINE_LINUX="crashkernel=auto rhgb quiet transparent_hugepage=never default_hugepagesz=1G hugepagesz=1G hugepages=4"
grub2-mkconfig -o /boot/grub2/grub.cfg
reboot
dpdk绑定网卡(可选)
- dpdk的驱动(位于内核)有:uio_pci_generic、igb_uio、vfio-pci
- dpdk的驱动有vfio-pci和uio,vfio-pci需要iommu支持,也可以使用uio
- 查看虚拟机是否支持IOMMU,Intel 处理器需要开启VT-d,然后VM也要支持
- Intel VT-d的全称是Intel Virtualization Technology for Direct I/O
dmesg | grep -e DMAR -e IOMMU