vDPA:高性能、支持热迁移的虚拟机IO加速技术

虚拟机(VM)作为云计算发展的关键技术,实现了“一虚多”的能力——即在一台物理服务器上运行多个相互隔离、安全独立的虚拟计算环境。在虚拟机网络方案的演进历程中,其数据路径经历了从半虚拟化的 Virtio-net,到 SR-IOV VF 直通虚拟机,再到 vDPA(virtio data path acceleration)的不断发展。


 技术方案及优缺点 

1.1 半虚拟化的Virtio-net 

  • 优点:1)VM里面的网卡驱动只需要使用linux自带的Virtio,不需要安装网卡厂商私有驱动,安全性高。 2)支持热迁移。

  • 缺点:VM的IO没有直通硬件,还需要Host的软件Bridge做软转。需要消耗大量CPU算力做IO搬运、转发,因此VM的网络时延高,性能低。




1.2 VF直通VM

  • 优点:VM的IO直通到硬件,转发卸载到硬件的switch引擎。即VM的IO不需要CPU做搬运和软件switch做转发,因此,VM的网络时延低、性能高。

  • 缺点:1)需要安装厂商私有驱动(网卡驱动合入linux main-line周期长,客户更新到带该驱动的内核需要好几年)。 2)不能很好支持热迁移。




1.3 vDPA

  • 优点: 1)VM里面的网卡驱动只需要使用linux自带的Virtio,不需要安装网卡厂商私有驱动,安全性高。 2)VM的IO直通到硬件,转发卸载到硬件的switch引擎。即VM的IO不需要CPU做搬运和软件switch做转发,因此,VM的网络时延低、性能高。 3)支持热迁移。

  • 缺点: Host需要引入OVS-DPDK App,来使用硬件的流卸载能力,配置相对VF直通VM复杂。




 vDPA对于网卡厂商的要求 

为了支持vDPA,星云智联做了如下专门设计:

  • 数据面原生支持Virtio:  星云智联网卡从第一代网络产品就开始原生支持Virtio的数据面,VM的数据面直通到硬件,不需要Host实时部署线程辅助硬件做桥接转换(某头部大厂XXX-6网卡)。


  • 热迁移引擎:  在热迁移区间,实时跟踪硬件使用的IO内存,并DMA到Qemu用于管理内存脏页的bitmap。


  • vDPA App与OVS APP解耦:  现有的vDPA,一般采用基于用户态OVS-DPDK管理方案。vDPA端口管理,vDPA Driver与VM的控制面协商相关软件驻留在OVS-DPDK,管理复杂,可靠性相对较低。 星云芯片支持vDPA端口管理、vDPA Driver部署在独立APP。


  • 优化热迁移downtime时间: 修改vDPA设备模式、优化qemu代码,大大降低热迁移downtime时间。




推荐阅读








新闻中心

 

获取星云智联最新动态和新闻资讯