论文部分内容阅读
随着云计算的快速发展和深入普及,越来越多的应用服务向云平台上开发和迁移。虚拟化技术作为云计算实现资源高效利用以及构建高可用性和高可扩展性云平台的基础,云计算的蓬勃发展也为虚拟化技术提出了更多的要求和挑战。目前,处理器和内存的虚拟化技术相对较成熟,而I/O虚拟化技术和虚拟网络资源在数据中心虚拟机之间的分配机制却相对滞后。网络作为数据中心极其重要的资源,通常是制约整个系统性能的关键所在。网络I/O虚拟化和在线迁移技术是解决数据中心网络争用和提升系统性能的有效手段。但是尽管数据中心的工作负载具有复杂性和需求变化性等特点,在实际应用中网络工作负载的属性却很少会被资源调度器所感知利用。无法根据工作负载的变化而动态调度网络资源势必会导致在分配网络资源时无法在吞吐量和性能等方面达到最优,基于网络I/O虚拟化和在线迁移技术设计一个能够负载感知以分配网络资源的调度框架是一个迫切的需求。本文在深入研究和分析动态SR-IOV技术以及在线迁移技术的基础上,提出了一种基于软件定义的虚拟网络资源分配框架。本文的主要贡献如下:(1)改进了动态SR-IOV技术:动态SR-IOV技术是一种用于优化数据中心虚拟网络资源分配的有效方法。但是动态SR-IOV也是一种高度受限制的技术,因为它只能针对于单个物理服务器网络的优化,而无法从全局的角度对数据中心的网络资源进行调度或分配。因此这很可能会导致计算和通信中热点的发生,从而会导致数据中心整体服务成本的增加和性能的降低。本文分析和研究了动态SR-IOV技术的工作原理,改进动态SR-IOV技术以能够结合在线迁移技术来弥补动态SR-IOV技术的缺点。(2)提出并设计了Sova系统:Sova系统是一种用于数据中心虚拟网络分配的优化框架,它利用软件定义的方式将虚拟机在线迁移技术整合到动态SR-IOV中,以达到提升数据中心整体网络性能和资源利用率的目的。根据物理服务器的资源使用情况和虚拟机的工作负载特性,Sova可以使用动态SR-IOV或在线迁移自适应地优化不同服务器之间的网络分配。因此,Sova需要监控群集中的网络流量以及工作负载特征,从而能够即时的获取到物理服务器和虚拟机的网络属性,以指导这两种技术之间协调机制的设计和实现。(3)基于Xen虚拟化环境实现了Sova系统:在XenStore的基础上实现了同一主机虚拟机之间的通信机制,并修改XenMon以及使用让虚拟机运行守护进程的方式以实现对虚拟机数据的采集。此外,本文使用PCIe设备的热插拔技术以最小化动态分配和移除VF对正在运行虚拟机的不利影响,以及使用Bonding Driver技术的激活备份模式实现多网卡之间的动态切换,同时确保虚拟机网络的不中断性。(4)基于原型系统验证和分析了Sova系统的有效性:使用七台物理服务器搭建Sova的原型集群系统,并在实现的原型系统上验证了本文提出的虚拟网络优化框架的有效性。实验结果表明,Sova系统可以结合动态SR-IOV和在线迁移技术各自的优势,并且具有比这两种技术单独使用时更好的性能。