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时间。

推荐阅读





新闻中心
获取星云智联最新动态和新闻资讯
销售咨询:sales@nebula-matrix.com
售后服务支持邮箱: service@nebula-matrix.com
售后服务支持热线: 400-8936-986
联系我们