数据包从虚拟机到物理机的流程:
采用半虚拟化技术,数据包跳过QEMU虚拟网卡,直接从虚拟机发送到虚拟化层。
虚拟网卡性能排名:
取代传统的LinuxTAP和桥接设备的组合,简化虚拟化环境中的交换网络
MacVTap设备包括3种不同的运行模式:
MacVTap端口创建过程
KVM虚拟机使用MacVTap联网
配置XML文件如下
当虚拟机开启时,主机系统自动使用虚拟机的MacVTap设备。MacVTap设备连接父设备eth0,工作模式为bridge
xml文件配置
1.物理网卡
检查你的网卡是否支持RSS。
ls/sys/class/net/eth0/queues/
2.暂停绑定
>3.支持多队列Virtio网卡
:
grepIFF_MULTL_QUEUE/usr/include/Linux/if_tun.h
多队列Virtio网卡配置:
N1-8最多支持8个队列。要启用多队列网卡,请运行以下命令:
ethtool-Leth0combinedM
M1-N,M是。N下面
PCIPassthrough配置
1.显示网卡设备信息。
lspci或virshnodedev-list--tree
_0000_02_00_0
virshnodedev-dumpxmlpci_0000_02_00_0
3.编辑虚拟机XML文件并添加PCI设备信息。
SR-IOV有两种功能类型。
SR-IOV标准可实现PCI-E设备的高效共享,并具有以下优势:
2.网卡SR-IOV配置
必须先配置SR-IOV。然后,主机PF使用虚拟机的专用子网卡。
(1)加载SR-IOV内核模块。
使用modprobe命令加载igb模块。
modprobeigb
实际加载时必须启用虚拟函数(VF)。
modprobeigbmax_vfs=7
如果需要重置VF,可以移除模块并重新加载。
modprobe-rigb
将配置永久写入配置文件。
echo"optionsigbmax_vfs=7">>/etc/modprobe.d/
可以使用lspci命令显示多个主网卡和子网卡。
(2)使用子网卡
虚拟机只能通过网卡来使用子网卡。
virshnodedev-list|grep0b
虚拟机的网卡XML配置文件为:
虚拟机要使用更高版本的子网卡,必须安装网卡驱动程序。Linux系统可以自动识别子网卡。
Windows系统必须是2008Severer或更高版本,并且必须安装最新的Intel网卡驱动程序。