System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术属于云计算,具体的说是一种云计算环境下的多虚拟机热迁移数据去重方法。
技术介绍
1、在大规模的云计算环境下,批量的虚拟机的热迁移是经常发生的事情。批量的数据迁移往往是由于某些宿主机的硬件故障,或者软件bug造成宿主机不可用,宿主机上的虚拟机需要批量迁移;运维过程中需要对某些宿主机进行升级固件版本,或者软件版本更新,这些都需要实施批量的虚机迁移。虚机的热迁移会把虚拟机在宿主机内存中的虚机数据部分copy到目的端。对于云计算场景下数以万计的虚拟机,其创建时所加载的镜像文件基本为云平台上存储的数十种操作系统镜像,也就是说整个云平台环境里存在大量的虚拟机,它们是基于同一个镜像创建的,这些虚拟机在内存中的数据有很大一部分是相同的,那么在这个批量热迁移虚机的过程中,实际上拷贝的内存数据存在着大量的重复内容,这不仅造成了网络带宽的无谓消耗,影响正常主机的业务运行,同时也增加了迁移的整体时间。
2、本专利技术提出一种云计算环境下的多虚拟机热迁移数据去重方法,基于对云平台上各个操作系统镜像,通过对创建于同一镜像的虚机的反复热迁移,提炼出其内存数据中重复的内容,在后续的热迁移操作中对迁移数据进行实时去重。
技术实现思路
1、针对现有技术的不足,本专利技术提出了一种云计算环境下的多虚拟机热迁移数据去重方法,能够有效解决
技术介绍
中的问题。
2、为实现上述目的,本专利技术提供如下技术方案:包括以下具体步骤:
3、s1、通过对测试环境中虚机的不断学习,掌握一定程度
4、s2、通过在迁移缓存服务器中导入所述测试环境中学习到的数据,完成多虚拟机热迁移数据去重。
5、本专利技术进一步改进在于,所述s1具体步骤包括:
6、s11、在测试环境中,基于云平台上提供的操作系统镜像,以单一镜像创建大量虚拟机,并配置好相应的测试业务模型;
7、s12、对虚拟机进行反复的热迁移测试,虚机迁移拷贝内存的同时,libvirtd对虚机内存数据以4k为单位的page,使用hash算法对每个内存page计算出hash值,将hash值和内存数据的对应数据暂存到宿主机clinet端的内存数据库中;
8、s13、client通过将内存page及其hash digest值通过网络发送给迁移缓存服务器。server端通过比对hash digest值,检查数据库中是否已存在该hash键值,如果存在则对应块的命中加1;如果不存在,则存储其hash digest及page数据;
9、s14、通过在测试环境中的反复迁移,不断更新server端的数据值,提炼出数据命中率在95%以上的数据。
10、本专利技术进一步改进在于,所述热迁移的过程包括设置待迁移主机a和被迁移主机b,以所述待迁移主机a上的n台相同镜像开源操作系统创建虚拟机集合vmn表示第n个虚拟机,迁移开始时管理平台发出对待迁移主机a发送vm1的迁移请求,并确定迁移的目的服务器被迁移主机b;待迁移主机a的hyperisor收到迁移请求后,首先给client端发送查询请求,查询缓存中是否有所述操作系统的hash digest和内存页的数据;如果client的缓存中没有所述操作系统的hash digest和内存页数据,则发送请求给迁移服务器server端,获取对应的hash digest即可;迁移服务器返回对应的所述操作系统中命中率在95%以上的数据的digest列表值给待迁移主机a,同时被迁移主机b的hypervisor也给被迁移主机b的client发送查询请求,查询缓存中是否有所述操作系统的hash digest和内存page的数据;迁移服务器返回对应的所述操作系统中命中率在95%以上的数据的digest和内存页数据给被迁移主机b,此时vm1迁移开始。
11、本专利技术进一步改进在于,所述vm1迁移时开始拷贝内存数据,需要传数的内存页4k的数据,计算hash digest值,然后查询本机client端是否存在该hash digest值,如果client存在该hash digest值,则发送hash digest值给目的端被迁移主机b的hypervisor进程,如果client不存在该hash digest值,说明该内存块不具有缓存数据,则按照原始迁移方式进行,发送对应内存数据到被迁移主机b;如果client不存在该hash digest值,同时将该hash digest值和对应内存页的内容转存到缓存中,稍后发送给server端,这样可以促使每次虚拟机得热迁移能够对server端缓存数据的进行不断学习。
12、本专利技术进一步改进在于,所述被迁移主机b上ype是hash digest值,则去client缓存中查找对应的hash digest值,获取对应的内存数据,完成本次内存数据拷贝过程,反复执行该流程直到整个内存拷贝阶段结束,进行虚拟机的状态切换,从待迁移主机a切换到被迁移主机b,随后迁移vm2,所述vm2迁移完成后,重复上述过程,直至虚拟机集合全部迁移完成。
13、本专利技术进一步改进在于,所述client端的架构包括:首先client端会起一个内存数据库redis,用以缓存内存页面的hash值和对应的数据;后端用以处理内部的业务逻辑;前端提供api,用以和hypervisor及server端通信。
14、本专利技术进一步改进在于,所述server端得结构包括:server端会起一个mysql数据库,云平台下基于每个操作系统建立一张表,每张表主要存储5个字段:hash,内存数据,迁移总次数,迁移命中次数,迁移命中率;后端用以处理内部得业务逻辑;前端提供api,用以和hypervisor及client端通信。
15、本专利技术进一步改进在于,所述hypervisor需要修改迁移业务逻辑,迁移过程中,首先查询本地是否有内存页的hash digest,发送伪代码,接受的业务逻辑如果是hashdigest,则通过client获取对应digest的value。
16、一种电子设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述的一种云计算环境下的多虚拟机热迁移数据去重方法。
17、一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述的一种云计算环境下的多虚拟机热迁移数据去重方法。
18、与现有技术相比,本专利技术的有益效果是:
19、1.目前现有的关于云环境中的虚拟机热迁移技术,基本是都关注于热迁移的三种模式的方法优化,主流的方法是通过限制虚拟机的cpu性能减少对内存脏页的产生,缩短虚机迁移时间,本专利技术的技术在于创新性的对云计算环境中大量虚拟机是基于统一镜像创建这一情况,提出对批量虚机热迁移的情况下,迁移数据的去重方法,有效减少虚机热迁移时本文档来自技高网...
【技术保护点】
1.一种云计算环境下的多虚拟机热迁移数据去重方法,其特征在于,包括以下具体步骤:
2.如权利要求1所述的一种云计算环境下的多虚拟机热迁移数据去重方法,其特征在于,所述S1具体步骤包括:
3.如权利要求2所述的一种云计算环境下的多虚拟机热迁移数据去重方法,其特征在于,所述热迁移的过程包括设置待迁移主机A和被迁移主机B,在所述待迁移主机A上的n台相同镜像开源操作系统创建虚拟机集合vmn表示第n个虚拟机,迁移开始时管理平台发出对待迁移主机A发送vm1的迁移请求,并确定迁移的目的服务器被迁移主机B;待迁移主机A的hyperisor收到迁移请求后,首先给client端发送查询请求,查询缓存中是否有所述操作系统的hash digest和内存页的数据;如果client的缓存中没有所述操作系统的hash digest和内存页数据,则发送请求给迁移服务器server端,获取对应的hashdigest即可;迁移服务器返回对应的所述操作系统中命中率在95%以上的数据的digest列表值给待迁移主机A,同时被迁移主机B的hypervisor也给被迁移主机B的client发送查询请
4.如权利要求3所述的一种云计算环境下的多虚拟机热迁移数据去重方法,其特征在于,所述vm1迁移时开始拷贝内存数据,需要传数的内存页4k的数据,计算hash digest值,然后查询本机client端是否存在该hash digest值,如果client存在该hash digest值,则发送hash digest值给目的端被迁移主机B的hypervisor进程,如果client不存在该hashdigest值,则按照原始迁移方式进行,发送对应内存数据到被迁移主机B;如果client不存在该hash digest值,同时将该hash digest值和对应内存页的内容转存到缓存中,稍后发送给server端。
5.如权利要求4所述的一种云计算环境下的多虚拟机热迁移数据去重方法,其特征在于,所述被迁移主机B上ype是hash digest值,则去client缓存中查找对应的hash digest值,获取对应的内存数据,完成本次内存数据拷贝过程,反复执行该流程直到整个内存拷贝阶段结束,进行虚拟机的状态切换,从待迁移主机A切换到被迁移主机B,随后迁移vm2,所述vm2迁移完成后,重复上述过程,直至虚拟机集合全部迁移完成。
6.如权利要求5所述的一种云计算环境下的多虚拟机热迁移数据去重方法,其特征在于,所述client端的架构包括:首先client端会起一个内存数据库redis,用以缓存内存页面的hash值和对应的数据;后端用以处理内部的业务逻辑;前端提供api,用以和hypervisor及server端通信。
7.如权利要求6所述的一种云计算环境下的多虚拟机热迁移数据去重方法,其特征在于,所述Server端得结构包括:Server端会起一个mysql数据库,云平台下基于每个操作系统建立一张表,每张表主要存储5个字段:hash,内存数据,迁移总次数,迁移命中次数,迁移命中率;后端用以处理内部得业务逻辑;前端提供api,用以和hypervisor及client端通信。
8.如权利要求7所述的一种云计算环境下的多虚拟机热迁移数据去重方法,其特征在于,所述Hypervisor需要修改迁移业务逻辑,迁移过程中,首先查询本地是否有内存页的hash digest,发送伪代码,接受的业务逻辑如果是hash digest,则通过client获取对应digest的value。
9.一种电子设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1-8任一项的一种云计算环境下的多虚拟机热迁移数据去重方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-8任一项的一种云计算环境下的多虚拟机热迁移数据去重方法。
...【技术特征摘要】
1.一种云计算环境下的多虚拟机热迁移数据去重方法,其特征在于,包括以下具体步骤:
2.如权利要求1所述的一种云计算环境下的多虚拟机热迁移数据去重方法,其特征在于,所述s1具体步骤包括:
3.如权利要求2所述的一种云计算环境下的多虚拟机热迁移数据去重方法,其特征在于,所述热迁移的过程包括设置待迁移主机a和被迁移主机b,在所述待迁移主机a上的n台相同镜像开源操作系统创建虚拟机集合vmn表示第n个虚拟机,迁移开始时管理平台发出对待迁移主机a发送vm1的迁移请求,并确定迁移的目的服务器被迁移主机b;待迁移主机a的hyperisor收到迁移请求后,首先给client端发送查询请求,查询缓存中是否有所述操作系统的hash digest和内存页的数据;如果client的缓存中没有所述操作系统的hash digest和内存页数据,则发送请求给迁移服务器server端,获取对应的hashdigest即可;迁移服务器返回对应的所述操作系统中命中率在95%以上的数据的digest列表值给待迁移主机a,同时被迁移主机b的hypervisor也给被迁移主机b的client发送查询请求,查询缓存中是否有所述操作系统的hash digest和内存page的数据;迁移服务器返回对应的所述操作系统中命中率在95%以上的数据的digest和内存页数据给被迁移主机b,此时vm1迁移开始。
4.如权利要求3所述的一种云计算环境下的多虚拟机热迁移数据去重方法,其特征在于,所述vm1迁移时开始拷贝内存数据,需要传数的内存页4k的数据,计算hash digest值,然后查询本机client端是否存在该hash digest值,如果client存在该hash digest值,则发送hash digest值给目的端被迁移主机b的hypervisor进程,如果client不存在该hashdigest值,则按照原始迁移方式进行,发送对应内存数据到被迁移主机b;如果client不存在该hash digest值,同时将该hash digest值和对应内存页的内容转存到缓存中,稍后发送给server端。
<...【专利技术属性】
技术研发人员:黄利民,林玉龙,刘姗姗,马勤,张瑜萍,曹亚慧,
申请(专利权)人:天翼云科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。