KVM虚拟化网络优化技术总结
来源 http://blog.51cto.com/xiaoli110/1558984
一个完整的数据包从虚拟机到物理机的路径是:
虚拟机--QEMU虚拟网卡--虚拟化层--内核网桥--物理网卡
KVM的网络优化方案,总的来说,就是让虚拟机访问物理网卡的层数更少,直至对物理网卡的单独占领,和物理机一样的使用物理网卡,达到和物理机一样的网络性能。
方案一 全虚拟化网卡和virtio
Virtio与全虚拟化网卡区别
全虚拟化网卡是虚拟化层完全模拟出来的网卡,半虚拟化网卡通过驱动对操作系统做了改造;
viritio简单的说,就是告诉虚拟机,hi 你就是在一个虚拟化平台上跑,咱们一起做一些改动,让你在虚拟化平台上获得更好的性能;
关于virtio的使用场景
因 为windows虚拟机使用viritio有网络闪断的情况发生,windows 虚拟机如果网络压力不高,建议使用e1000这样的全虚拟化网卡,如果网络压力比较高,建议使用SRIVO或者PCI Device Assignment这样的技术;viritio也在不断的演进,希望windows的闪断的问题越来越少。
KVM天生就是为linux系统设计的,linux系统请放心大胆的使用viritio驱动;
方案二 vhost_net macvtap技术