当前位置:问答库>论文摘要

题目:虚拟集群协同快照系统研究与实现

关键词:KVM虚拟机,虚拟集群,快照技术,内存去重

  摘要



随着虚拟化技术的发展,越来越多的服务由虚拟集群来提供。虚拟集群快照技术通过记录虚拟集群的运行时状态,在集群发生故障时使其恢复到某一个时刻点的状态,从而避免集群中程序的重新执行。虚拟集群快照内容主要包括集群内所有虚拟机的内存、磁盘、CPU以及集群的网络通信状态。目前,虚拟集群磁盘快照相关技术已经比较成熟,CPU快照比较容易实现,集群网络状态可通过传输层网络协议实现,而虚拟集群内存快照技术还不够成熟。

现有的虚拟集群内存快照大多基于单虚拟机内存快照技术,虚拟集群内存快照即为集群内各虚拟机内存快照相加的和。由于虚拟集群内虚拟机通常批量生产,运行相同的操作系统和应用,因此各虚拟机之间内存状态存在很高的相似性和重复性。传统的虚拟集群内存快照技术忽略了虚拟机间可能的数据重复,快照时会产生大量的冗余数据。此外,由于虚拟集群涉及较多的虚拟机,快照过程需要保存大量的内存数据,占用大量的存储资源,并且受限于磁盘读写速率,保存这些内存状态需要的快照时间过长。

针对这些问题,通过对虚拟集群特点和现有快照技术的分析,本文基于数据去重技术,设计并实现了一种面向多宿主机环境的虚拟集群协同快照系统。本文的主要工作包括以下几个方面:

1.   实现基于迭代拷贝的单虚拟机快照方法:本文对主流的虚拟机快照方式进行分析和对比,在KVM虚拟机上实现了基于迭代拷贝的虚拟机快照方法,并设计实现了脏页存储策略,缩短了虚拟机停机时间。

2.   设计并实现一种面向多宿主机的多虚拟机内存协同去冗余方案:虚拟集群中虚拟机内存之间存在大量的重复内容,本文基于去重技术,对快照过程中集群内虚拟机的内存以页为单位进行了协同去冗余。

3.   设计并实现虚拟集群内存快照存储格式:针对集群内虚拟机之间的重复内存页和非重复页,以及迭代拷贝过程中的脏页,本文设计了不同的存储格式,以减少快照文件占用的磁盘空间,并保证快照的正确性。

4.   设计并实现多宿主机环境下虚拟集群协同快照系统:基于以上分析与研究,本文设计并实现了一个面向多宿主机环境的虚拟集群协同快照系统,实现集群内部内存快照去冗余,减少集群快照数据量,从而节约存储资源,同时保证快照回滚效率。该系统实现了虚拟机迭代拷贝快照方法,同时也支持传统停机拷贝方法。实验表明,相比传统的快照系统,内存快照数据量平均减少30%,对快照性能的影响控制在10%以内。