从虚拟化初露头角到未来无限可能一探究竟技术演变与趋势展望
⑴网络虚拟化技术
数据包从虚拟机到物理机的过程:
半虚拟化技术可以让数据包跳过QEMU虚拟网卡,直接从虚拟机进入虚拟化层。
虚拟网卡性能排名:
简化虚拟化环境中的交换网络,取代传统的LinuxTAP设备和Bridge设备的组合
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
2.获取pci_0000_02_00_0的配置信息
virshnodedev-dumpxmlpci_0000_02_00_0
3.编辑虚拟机xml文件,添加PCI设备信息
SR-IOV上有两种功能类型。
SR-IOV标准可以实现PCI-E设备的高效共享,具有以下优点:
2.网卡SR-IOV配置
需要先配置主机PF的SR-IOV配置,然后使用虚拟机专用的子网卡。
(1)加载SR-IOV内核模块
通过modprobe命令加载igb模块。
modprobeigb
实际加载时,需要激虚拟功能(VF)。
modprobeigbmax_vfs=7
如果需要重置VF,可以删除该模块并重新加载。
modprobe-rigb
将配置永久写入配置文件中。
echo"optionsigbmax_vfs=7">>/etc/modprobe.d/igb.conf
通过lspci命令可以查看多个主网卡和子网卡。
(2)子网卡的使用
虚拟机可以通过网卡独占地使用子网卡。
virshnodedev-list|grep0b
虚拟机网卡xml配置文件如下:
虚拟机需要安装网卡驱动才能使用子网卡。 高版本的Linux系统可以自动识别子网卡。
Windows系统只能是2008Severer以上,并且必须安装最新的Intel网卡驱动。