在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
一个完整的数据包从虚拟机到物理机的路径是: 虚拟机--QEMU虚拟网卡--虚拟化层--内核网桥--物理网卡 KVM的网络优化方案,总的来说,就是让虚拟机访问物理网卡的层数更少,直至对物理网卡的单独占领,和物理机一样的使用物理网卡,达到和物理机一样的网络性能。
Virtio与全虚拟化网卡区别 关于virtio的使用场景 KVM天生就是为linux系统设计的,linux系统请放心大胆的使用viritio驱动;
vhost_net使虚拟机的网络通讯直接绕过用户空间的虚拟化层,直接可以和内核通讯,从而提供虚拟机的网络性能; macvtap则是跳过内核的网桥;
vhost_net虚拟机xml文件配置, XML/HTML Code复制内容到剪贴板
如果不使用vhost_net,则为 macvtap 虚拟机xml配置 XML/HTML Code复制内容到剪贴板
注意:macvtap在windows虚拟机上性能很差,不建议使用 vhost_net macvtap比较 macvlan的功能是给同一个物理网卡配置多个MAC地址,这样可以在软件商配置多个以太网口,属于物理层的功能。
网卡passthrough在虚拟机的配置方法 1 使用lcpci 设备查看pci设备信息 复制代码 代码如下:04:00.0 Ethernet controller: Intel Corporation 82571EB Gigabit Ethernet Controller (rev 06) 04:00.1 Ethernet controller: Intel Corporation 82571EB Gigabit Ethernet Controller (rev 06) 也可以使用virsh nodedev-list –tree得到信息 复制代码 代码如下:+- pci_0000_00_07_0 | | | +- pci_0000_04_00_0 | | | | | +- net_p1p1_00_1b_21_88_69_dc | | | +- pci_0000_04_00_1 | | | +- net_p1p2_00_1b_21_88_69_dd 2 使用virsh nodedev-dumxml pci_0000_04_00_0得到xml配置信息 复制代码 代码如下:[root@]# virsh nodedev-dumpxml pci_0000_04_00_0 <device> <name>pci_0000_04_00_0</name> <parent>pci_0000_00_07_0</parent> <driver> <name>e1000e</name> </driver> <capability type='pci'> <domain>0</domain> <bus>4</bus> <slot>0</slot> <function>0</function> <product id='0x105e'>82571EB Gigabit Ethernet Controller</product> <vendor id='0x8086'>Intel Corporation</vendor> </capability> </device> 3 编辑虚拟机xml文件,加入pci设备信息 复制代码 代码如下:<hostdev mode='subsystem' type='pci' managed='yes'> <source> <address domain='0x0000' bus='0x04' slot='0x00' function='0x0'/> </source> </hostdev> Domain bus slot function信息从dumpxml出的xml文件获取,define虚拟机,然后开启虚拟机就可以,注意以为附件上去的是物理设备,需要在系统里面安装相应的驱动。
以下内容来自oracle网站,链接为 物理功能 (Physical Function, PF) 复制代码 代码如下:# lspci | grep 82576 0b:00.0 Ethernet controller: Intel Corporation 82576 Gigabit Network Connection (rev 01) 0b:00.1 Ethernet controller: Intel Corporation 82576 Gigabit Network Connection (rev 01) 0b:10.0 Ethernet controller: Intel Corporation 82576 Virtual Function (rev 01) 0b:10.1 Ethernet controller: Intel Corporation 82576 Virtual Function (rev 01) 0b:10.2 Ethernet controller: Intel Corporation 82576 Virtual Function (rev 01) 0b:10.3 Ethernet controller: Intel Corporation 82576 Virtual Function (rev 01) 0b:10.4 Ethernet controller: Intel Corporation 82576 Virtual Function (rev 01) 0b:10.5 Ethernet controller: Intel Corporation 82576 Virtual Function (rev 01) 0b:10.6 Ethernet controller: Intel Corporation 82576 Virtual Function (rev 01) 0b:10.7 Ethernet controller: Intel Corporation 82576 Virtual Function (rev 01) 0b:11.0 Ethernet controller: Intel Corporation 82576 Virtual Function (rev 01) 0b:11.1 Ethernet controller: Intel Corporation 82576 Virtual Function (rev 01) 0b:11.2 Ethernet controller: Intel Corporation 82576 Virtual Function (rev 01) 0b:11.3 Ethernet controller: Intel Corporation 82576 Virtual Function (rev 01) 0b:11.4 Ethernet controller: Intel Corporation 82576 Virtual Function (rev 01) 0b:11.5 Ethernet controller: Intel Corporation 82576 Virtual Function (rev 01) 复制代码 代码如下:# virsh nodedev-list | grep 0b pci_0000_0b_00_0 pci_0000_0b_00_1 pci_0000_0b_10_0 pci_0000_0b_10_1 pci_0000_0b_10_2 pci_0000_0b_10_3 pci_0000_0b_10_4 pci_0000_0b_10_5 pci_0000_0b_10_6 pci_0000_0b_11_7 pci_0000_0b_11_1 pci_0000_0b_11_2 pci_0000_0b_11_3 pci_0000_0b_11_4 pci_0000_0b_11_5 虚拟机网卡xml文件 XML/HTML Code复制内容到剪贴板
centos 7开始支持virtio网卡多队列,可以大大提高虚拟机网络性能,配置方法如下: 虚拟机的xml网卡配置 XML/HTML Code复制内容到剪贴板
N 1 - 8 最多支持8个队列 在虚拟机上执行以下命令开启多队列网卡 复制代码 代码如下:#ethtool -L eth0 combined M
|
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论