以计算为中心 虚拟化时代的交换网络 (4)

来源:互联网 发布:js 时间字符串转date 编辑:程序博客网 时间:2024/05/16 08:27

增强虚拟化软件交换机性能

因为虚拟化软件交换机基于服务器内部处理,消耗大量CPU资源和IO资源,为了提高转发性能,各个组织如CPU厂家Intel、AMD和PCI工业协会一直积极推进提高虚拟化性能。第一种性能提高方式是虚拟主机IO页面地址直接访问功能,Intel VT-x功能是允许虚拟机直接访问由VMM(Virtual Machine Monitor)配置的物理内存空间,直接路径I/O存取,加速DMA数据存取。Intel VT-d与VT-d功能类似,使用DMA描述符号标识虚拟机I/O地址空间,它们共同点是都需要做虚拟机I/O地址转换到物理I/O地址工作,与物理I/O资源需要一一对应关系,无法做到一对多,只能实现虚拟化对应物理资源性能提高,无法I/O资源共享;第二种性能提高方式是卸载软件网络功能到物理网卡,VMDq (Virtual Machine Direct Queue) 就是基于网卡硬件加速的技术,提高虚拟化环境下网络I/O性能。VMDq网卡实现了二层交换机部分功能,分拣和分类数据包,轮询传输,传统模式下由软件交换机实现,据说可以提高2倍性能,但是还需要VMM复制网络数据包;第三种性能提高方式是SR-IOV实现IO设备资源共享,SR-IOV网卡内嵌具有完整功能、支持广播的二层交换机,是基本网络转发平面,由CPU的VMM管理,可实现更加数据分拣、分类与安全等控制平面,还有一些简单QoS控制平面功能。资源共享方式是PCI Mgr (SR PCIM)给每个虚拟机分配一个单独虚拟功能号VF(Virtual Function),最大支持256个子设备号256个虚拟机。性能提高方式是虚拟化软件交换机完成初始资源(CPU、内存和IO虚拟)分配管理,保留基本网络控制平面。建立数据转发连接后,虚拟机虚拟网卡之间通过VF直接转发数据,无需经过主机虚拟化软件交换机,从而加速了虚拟化交换性能。其他性能提高方式还有Intel VT-c/VMDc功能(Virtual Machine Direct Connectivity)实现同一物理口不同虚拟机和虚拟功能之间直接通信模式,可以动态指定不同虚拟机虚拟网卡专用带宽,限于篇幅,这里就不多述了。

SR-IOV系统结构图