论文部分内容阅读
云计算的兴起与发展彻底改变了人们对计算资源的使用方式,促生了以计算为中心向以业务和服务为中心的一次变革性转化。基础设施即服务(Infrastructure-as-a-Service,IaaS)模式在云计算的服务模式中占据了重要的地位,同时也是当前云计算市场上主要组成部分。IaaS云服务将硬件基础设施,包括计算资源、存储资源、网络资源等,作为一种可计量可伸缩的资源提供给客户,我们称之为弹性虚拟资源。弹性虚拟资源的服务性能决定了云服务的经济成本与服务质量,因而成为提供商和用户共同关注的核心问题。优化弹性资源的性能面临着许多挑战,解决这些问题不仅具有重要的学术价值,而且具有广阔的应用前景。针对当前IaaS云计算大规模虚拟机群部署时间较长的问题,本文提出了一种基于分布式块设备的点对点虚拟机集群快速部署方法VMThunder,实现了10秒到20秒时间级的百台数量级虚拟机集群快速部署,有效提高了部署效率。该方法的核心思想是:基于虚拟机启动过程中的按需性、多虚拟机启动行为相似性等特点,利用块设备系统的灵活映射和配置,通过虚拟机按需获取启动数据、在中继节点缓存数据并对外提供与原始镜像服务器等价服务的方法,减少了单机载入数据量,减少了存储服务器总负载,从而达到加快部署时间的目标。在此基础上,本文针对用户需要在虚拟机启动后快速启动应用程序的需求,提出了一种基于虚拟机休眠恢复的虚拟机集群快速部署方法VMThunder+,可以在VMThunder相近时延下启动并携带指定的应用状态。VMThunder和VMThunder+在国家超算天津中心得到了实际大规模的部署和测试,实验表明,实测160台虚拟机的启动总耗时与单机上启动一台虚拟机耗时相似,同时两种方法均可以保证虚拟机运行态的性能。在传统存储系统中,预读机制对提高存储I/O性能发挥着巨大的作用;而在分布式多虚拟抽象层存储结构中,预读机制则表现出预读传递、预读叠加、以及预读窗口激进展开等现象,带来了网络数据流量增加、阻碍序列后续请求等问题。针对该问题,本文通过实验证实了多层预读机制中的预读传递与叠加现象对维持整个虚拟存储的性能是必要的;同时,本文提出了一种扇形预读窗口展开机制来克服激进窗口展开机制带来的数据流量陡增现象。该机制的主要思想是:通过建立读请求的深度信息维护机制,使每层虚拟抽象层感知自身在整个I/O路径上的位置,进而协同完成整体预读窗口的展开;协同式的窗口展开方式平滑且幅第i页度小,可以有效避免过于激进的、阻塞后续读请求的初始预读窗口;该协同预读窗口的展开机制是适应性的,可以根据不同的网络延时调节窗口展开的粒度。通过实验,我们将多层体系结构下的读数据访问性能提升了20%到50%。并且,读请求中序列数量越多,激进的预读窗口展开机制带来的性能损耗越大,该机制发挥的作用也越大。虽然在线迁移使得虚拟机的可用率可以高于物理机的可用率,但当前虚拟机的迁移性能尚不理想。针对该问题,本文提出了面向存储迁移问题的解耦合在线存储迁移方法DLSM和面向内存迁移问题的块设备化解耦合在线迁移方法BDLM。其核心技术点是:DLSM通过块设备系统的灵活映射与配置,实现了先迁后拷(Post-Copy)技术,有效的避免了迭代拷贝脏数据与迁移收敛问题;DLSM由于在存储层实现,对虚拟机透明,因此轻量地解决了已有先迁后拷方法中复杂的修改虚拟机管理器和其引发的内存数据崩溃等衍生问题。BDLM通过气球过充的方法来完成内存数据的块设备化,从而复用DLSM方法完成轻量级的内存在线迁移,有效的减小了内存迁移中对内存缺页等问题进行维护的复杂度。实验证明:较KVM原生CSI存储迁移方法,DLSM相比缩短了50%至70%的迁移时间,同时能有效减少CSI迁移不收敛问题的发生;而BDLM在KVM原生停机时间(60ms)的基础上,缩短了迁移时间,如1GB内存负载、115MB/s写脏页率情况下,将迁移时间从原有先拷后迁90s迁移时间缩短到在20s之内。