论文部分内容阅读
随着虚拟化技术的快速发展,越来越多的数据中心中部署了虚拟化软件系统。利用虚拟化技术,单个物理机可以被虚拟化成多个虚拟机。多个虚拟机之间相互独立,运行各自不同的操作系统,并可以在不同的物理机之间动态迁移。对于数据中心而言,虚拟化技术可以显著提高其物理服务器的资源利用率,提高资源管理效率,从而降低数据中心的运营成本。然而,与此同时数据中心在采用虚拟化技术的同时,也引入了新的技术挑战,出现了很多像亚马逊云数据中心的服务器宕机、微软数据中心的服务器失效等严重事件,导致企业对外服务中断、客户流失,给企业造成了严重的经济损失。在虚拟化环境下,由于虚拟机的物理资源动态变化和在线迁移等虚拟化特性,使得传统的异常检测和失效恢复方法出现了准确率低和性能开销大等问题。 针对数据中心因采用虚拟化技术而引入的系统异常检测和失效恢复问题,本文的主要研究工作和贡献包括如下三个方面: (1)针对虚拟化环境下的物理资源动态伸缩性所导致的虚拟机异常检测准确率低的问题,提出了一种虚拟化环境下的异常检测方法。传统的数据中心里异常检测方法没有考虑底层的物理资源在虚拟化环境下会动态变化的特点,比如当虚拟机内存需求增加时,底层的虚拟化管理模块会动态的为其增加内存资源,反之,则降低内存资源。这种动态调整的特性导致了传统方法的检测准确率下降。针对这个问题,本文通过建立整个虚拟化系统的贝叶斯分类器模型来提高系统的异常检测的准确率,首先从整个系统的应用层、系统层和虚拟化管理层三个层次抽取系统的状态向量,然后建立整个系统的贝叶斯分类器模型来对系统状态进行检测,并对检测结果进行倾向性修正。实验表明,我们的方法比传统的异常检测方法能更有效的检测出由虚拟化环境引入的异常行为。 (2)针对虚拟化环境下用于失效恢复的系统状态备份过程性能开销大的问题,提出了一种基于隐马尔可夫模型的虚拟机失效恢复方法。系统状态实时备份是虚拟机失效恢复的主要方法,但是传统方法的系统开销较大,特别是对于内存状态变化较快的情况。本文提出一种通过系统当前的运行状态来动态调整虚拟机备份频率的方法。首先,通过抽取系统的运行时状态向量,并构造系统的隐马尔科夫预测模型来对系统的运行状态进行预测,判断系统是否处于正常运行状态。然后,根据系统的运行状态动态调整虚拟机的备份频率,即在系统运行状态正常的时候,降低虚拟机的备份频率,把更多的计算资源用于提高业务系统的对外服务能力,反之则提高虚拟机的备份频率,降低系统可能发生的失效恢复损失。实验表明,本方法可以有效降低系统运行过程中失效恢复的性能开销。 (3)针对在传统虚拟机执行轨迹记录开销大的问题,提出一种基于内存检查点的虚拟机执行轨迹记录方法。系统的失效恢复是为了达到较高的可用性而快速恢复系统的运行,但是其并没有从根本上去查找和解决导致系统失效的根源问题。而传统的虚拟机执行轨迹记录方法性能开销较大。本文我们提出一种基于内存检查点的执行轨迹记录方法,首先通过增量式的记录系统的内存变化状态,而不是序列化所有的CPU对内存的操作序列,来降低执行轨迹记录的线上开销问题。然后,对记录的内存检查点进行线下搜索的方法来得到一条可行的系统执行轨迹。在获取系统的执行轨迹后,就可以通过后续的重放来进行错误诊断和调试。实验表明,本方法有效的降低了虚拟机执行轨迹记录的线上开销。 综上研究成果,本文从数据中心的虚拟机可靠性保障的异常检测、失效恢复、执行轨迹记录三个方面进行研究,实验结果验证我们的方法提高了数据中心虚拟机的异常检测准确率,并降低了失效恢复与执行轨迹记录的系统开销。