论文部分内容阅读
随着计算机硬件技术的不断发展以及虚拟化技术的日臻成熟,越来越多的公司和企业采用虚拟化技术作为资源管理方案,提高服务器的利用率和复用率。同时在一台物理机上能够部署更多的虚拟机和类型更复杂的应用程序,如何提高这些虚拟机之间的性能隔离性以及保证用户应用程序的服务质量,将是虚拟化技术重点关注的议题之一。从这点出发,提出了一种基于Xen虚拟化平台的虚拟机磁盘带宽分配机制,实现系统带宽在各个虚拟机之间按服务优先级和权重比例的分配,有效提高了虚拟机在I/O性能方面的隔离性,保证了应用程序的服务质量(QoS)。在Xen的前后端驱动模型中,虚拟机磁盘带宽分配系统在后端驱动处以模块的形式实现,在已有的I/O处理流程中增加带宽控制策略。该方法主要包括两部分内容:虚拟机带宽控制系统和需求预测系统。其中,虚拟机带宽控制系统主要作用是管理和调度虚拟机的I/O请求,确定I/O请求的服务顺序。该系统采用改进的令牌桶算法,即在网络流控中常用的令牌桶算法的基础上,增加了公共令牌桶,算法的核心思想是以每个虚拟机私有令牌桶中的令牌作为其访问I/O资源的凭证,而公共令牌桶的加入主要是为了解决系统空闲带宽在各个虚拟机之间的共享。虚拟机带宽需求预测系统的主要作用是辅助带宽控制系统更加精确地完成带宽的按比例分配,为其提供各个虚拟机的实时带宽需要信息。该子系统主要采用基于历史信息的带宽预测算法,根据虚拟机之前时间段内的带宽消耗信息,预测下个时间段的带宽需求和趋势。最终在两个子系统的相互协作之下,完成对虚拟机带宽的管理和分配。最后的实验证明,该系统在功能上达到了设计的要求,能够实现多个虚拟机磁盘带宽的按权重比例分配;在性能方面也能有效地提高虚拟机之间的性能隔离性和特定虚拟机的I/O服务质量。