一种基于统计的虚拟机跨数据中心动态迁移优化方法技术

技术编号:10141242 阅读:194 留言:0更新日期:2014-06-30 12:13
基于统计的虚拟机跨数据中心动态迁移优化方法,实现步骤为:基于数据中心虚拟机内存页面的统计,选取模板页面并构建索引。在源数据中心,如果待传输内存页面与模板页面相同,则只传输索引,在目的端数据中心再根据索引恢复内存页面数据;如果待传输内存页面与模板页面不同,则将该内存页面数据传输至目的端数据中心。本发明专利技术有效减少了迁移过程中的存储资源的开销,加快了数据传输过程,在虚拟机的跨数据中心动态迁移上具有显著的性能优势。

【技术实现步骤摘要】
【专利摘要】基于统计的虚拟机跨数据中心动态迁移优化方法,实现步骤为:基于数据中心虚拟机内存页面的统计,选取模板页面并构建索引。在源数据中心,如果待传输内存页面与模板页面相同,则只传输索引,在目的端数据中心再根据索引恢复内存页面数据;如果待传输内存页面与模板页面不同,则将该内存页面数据传输至目的端数据中心。本专利技术有效减少了迁移过程中的存储资源的开销,加快了数据传输过程,在虚拟机的跨数据中心动态迁移上具有显著的性能优势。【专利说明】
本专利技术涉及云计算及虚拟化领域,具体涉及一种基于统计的虚拟机迁移优化方法。
技术介绍
虚拟机动态迁移(Live Migration)是指可以把基于虚拟机运行的操作系统不间断地从一台物理机器上迁移到另一台物理机器上运行,该技术广泛应用于负载均衡、能耗管理、系统容错及软硬件的在线维护等场景下。虚拟机动态迁移作为虚拟化的核心关键技术之一,对于建立可动态伸缩、资源集约的大型绿色数据中心具有重要意义。虚拟机跨数据中心的动态迁移,需要将虚拟机的内存状态完全从源数据中心拷贝到目的端数据中心,同时保持虚拟机的运行。较之数据中心内部,数据中心之间通信延迟较大、可用于迁移的数据传输速率较低,而内存数据变化较快,这给实现虚拟机跨数据中心动态迁移带来了较大的难度。而且,跨数据中心迁移的场景中,往往需要将若干个虚拟机组成的虚拟集群(Virtual Cluster)作为一个整体进行迁移,这更增加了动态迁移的难度。目前,内存预拷贝动态迁移方法是普遍采用的方法,但是它从源数据中心迁移了大量重复的内存数据到目的端数据中心,这需要额外的迁移时间和宕机时间。虽然数据中心间的网络通信速率将越来越高,但是集群的规模也在迅速增长,所以解决虚拟机跨数据中心动态迁移问题,不能单纯依赖网络速率的提高。解决虚拟机跨数据中心迁移内存状态拷贝的关键是减少拷贝过程中传输的数据量。由于不同虚拟机中运行了相同或者相似的软件,所以数据中心的不同虚拟机之间存在大量相同的内存页面,这使得可以采用数据去重(Data Deduplication)方法减少虚拟机动态迁移过程中传输的数据量。数据去重是一种通过大规模消除冗余数据,降低数据存储成本的重要技术。重复数据大量存在于虚拟机信息处理和存储的各个环节,如文件系统、文件同步、邮件附件、HTML文档和Web对象,以及操作系统和应用软件中,迁移重复数据会浪费大量的网络带宽和存储空间。数据去重技术不仅能降低数据的存储量,减少存储资源的开销,降低物理存储资源的管理和维护成本,也能节约网络带宽,加快数据传输过程。现有的利用数据去重技术提高虚拟机动态迁移性能的方式主要分为两种。第一种是利用内存页面内部特点进行去重。例如QEMU-KVM的默认迁移方法,参见A.Kivity, Y.Kamay, D.Laor, U.Lublin, and A.Liguori,“Kvm:The linux virtual machine monitor,,,InProceedings of Linux Symposium, 2007, pp.225-230.;当内存页面所有字节均相同(例如零页面)时,只需传输一个字节的数据而避免对整个内存页面内容进行传输。这种方法去重效率高,恢复简单,但是去重概率很低,因为内存页面集合中满足此去重条件的页面数量有限。因此这种方法对虚拟机动态迁移性能的提升十分有限。第二种方法是利用不同内存页面内容相同的特点进行去重,例如Shrinker方法,P.Riteau, C.Morin, and T.Priol, uShrinker:1mproving live migration of virtualclusters over wans with distributed data deduplication and content-basedaddressing, ”In Proceedings of EUROPAR, September2011.。这种方法将已经传输过的页面缓存下来并构建索引,当后续传输页面与已经缓存的页面重复时进行去重,用传输索引值来代替传输完整内存页面内容。这种方法去重概率较高,但是由于缓存本身的缺陷,当迁移一台虚拟机或者迁移多台异构虚拟机时,会出现命中率低,动态迁移性能差的问题。
技术实现思路
本专利技术的技术解决问题:克服现有技术的不足,本专利技术中提出了一种适用于跨数据中心进行虚拟机动态迁移的优化方法,该方法基于统计,即从大量运行着操作系统及负载的计算机上提取出内存页面并分析,采用数据去重(Data Deduplication)方法减少虚拟机动态迁移过程中传输的数据量,有效减少了迁移过程中的存储资源的开销,加快了数据传输过程,在虚拟机的跨数据中心动态迁移上具有显著的性能优势。本专利技术技术解决方案:基于统计的虚拟机跨数据中心动态迁移优化方法,所述方法包括以下步骤:(I)统计虚拟机跨数据中心相同内存页面出现的次数,选取模板页面,构建内存页面索引;(2)虚拟机跨数据中心动态迁移过程中,在源数据中心,如果待传输内存页面与模板页面相同,则只传输该内存页面索引;如果待传输内存页面与模板页面不同,则传输该内存页面数据;(3)虚拟机跨数据中心动态迁移过程中,在目的端数据中心,如果目的端虚拟机接收到的是内存页面索引,则根据内存页面索引定位到内存页面数据组来恢复内存页面数据;如果目的端虚拟机接接收到的是内存页面数据,则直接将该内存页面数据传输给对应的虚拟机空间。所述步骤(I)中选取模板页面的方法如下:当某一内存页面tp在虚拟机跨数据中心中出现的次数η > N,其中,N为一个设定的常数,则称内存页面tp为模板页面,所有模板页面的集合记作TP。所述步骤(I)构建内存页面索引的过程如下:(I)使用哈希函数求取内存页面的哈希值;(2)按照哈希值与内存页面内容一一对应的方式将数据存储在一个以哈希值大小排序的表内。所述步骤(2)具体实现如下:(21)使用哈希函数求取待传输内存页面的哈希值;(22)在存储所有模板页面的哈希值的数组中查找待传输内存页面的哈希值;(23)如果查找命中,则实际传输待传输内存页面的哈希值,如果查找不命中,则实际传输待传输内存页面内容。所述步骤(3)具体实现如下:(31) g的端主机接收到迁移数据后,根据数据流结构的头部计算出该内存页面的地址,并根据该头部中的标志位判断接收数据的类型;(32)如果判断出接收到的是内存页面哈希值,则在存储模板页面内容及哈希值的表中恢复出内存页面内容并将数据传输到上一步计算出的指定地址;如果判断出接收到的是内存页面内容,则直接将接收到的数据传输到上一步计算出的指定地址。本专利技术与现有技术相比的有益效果在于:( I)本专利技术针对虚拟机跨数据中心动态迁移过程中,广域网通信延迟大、用于迁移的数据传输速率低,与内存数据更新速度快之间的矛盾,从大量运行着操作系统及负载的计算机上提取出内存页面并分析,采用数据去重(Data Deduplication)方法减少传输的数据量,基于数据中心虚拟机内存页面的统计,选取模板页面并构建索引,在源数据中心,如果待传输内存页面与模板页面相同,则只传输索引,在目的端数据中心再根据索引恢复内存页面数据;如果待传输内存页面与模板页面不本文档来自技高网
...

【技术保护点】
基于统计的虚拟机跨数据中心动态迁移优化方法,其特征在于:所述方法包括以下步骤: (1)统计虚拟机跨数据中心相同内存页面出现的次数,选取模板页面,构建内存页面索引;选取所述模板页面的方法如下:当某一内存页面tp在虚拟机跨数据中心中出现的次数n≥N,其中,N为一个设定的常数,则称内存页面tp为模板页面,所有模板页面的集合记作TP; (2)虚拟机跨数据中心动态迁移过程中,在源数据中心,如果待传输内存页面与模板页面相同,则只传输该内存页面索引;如果待传输内存页面与模板页面不同,则传输该内存页面数据; (3)虚拟机跨数据中心动态迁移过程中,在目的端数据中心,如果目的端虚拟机接收到的是内存页面索引,则根据内存页面索引定位到内存页面数据组来恢复内存页面数据;如果目的端虚拟机接接收到的是内存页面数据,则直接将该内存页面数据传输给对应的虚拟机空间。

【技术特征摘要】

【专利技术属性】
技术研发人员:李明宇郑冕褚涵月
申请(专利权)人:中国科学院软件研究所
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1