System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及存储服务,具体涉及虚拟机的容灾内存管理方法、装置、计算机设备及介质。
技术介绍
1、容灾系统,对于it而言,就是为计算机信息系统提供的一个能应付各种灾难的环境。即除了生产站点以外,用户还可以另外建立的冗余站点,当生产站点受到破坏时,容灾站点可以使用户正常进行业务处理。
2、在虚拟机的工作过程中,可以通过内存从虚拟机的进程中高效率的获取io(input/output,输入输出)数据,并将io数据缓存至内存中。而后内存在将其中缓存的io数据写入对应的磁盘从而实现容灾操作。其中不同的磁盘io写入容灾内存时,需要向容灾内存申请存储空间以缓存对应的io数据,但在实际的场景中,不同的磁盘的io压力是不同的,对不同的磁盘分配相同的容灾内存,容易造成低io压力磁盘对应的容灾内存的浪费,且高io压力磁盘对应的容灾内存可能不足,影响io效率。因此现亟需一种对虚拟机的容灾内存的管理方法。
技术实现思路
1、有鉴于此,本专利技术提供了一种虚拟机的容灾内存管理方法、装置、计算机设备及介质,以提高虚拟机的容灾内存的使用效率。
2、第一方面,本专利技术提供了一种虚拟机的容灾内存管理方法,该方法包括:
3、获取目标设备中的目标磁盘的数据传输状态;所述目标磁盘为所述目标设备中对应目标虚拟机的容灾任务的磁盘;
4、根据所述目标磁盘的数据传输状态,生成循环数据结构的目标循环列表;
5、根据目标虚拟机对所述目标磁盘下发的目标io数据,在容灾内存中选
6、将所述目标内存地址保存的目标io数据下发至目标磁盘的物理地址。
7、本专利技术提供的一种虚拟机的容灾内存管理方法,具有如下优点:
8、当目标设备中运行有开启容灾的目标虚拟机时,可以获取到对应目标虚拟机的容灾任务的磁盘,并确定其数据传输状态,并根据其生产循环数据结构的目标循环列表;此时当目标虚拟机需要对目标磁盘下发目标io数据时,目标虚拟机先在容灾内存中选择目标内存地址进行保存,并同时在目标循环列表中写入相关信息,也就是目标io数据所保存的目标内存地址、目标io数据的数据大小以及目标io数据即将下发至目标磁盘的物理地址;而后目标虚拟机可以按照目标循环列表,将目标内存地址保存的io数据下发至目标磁盘的物理地址。在上述方案中,每个磁盘都会生成其对应的目标循环列表,且每个循环列表中都记载了在容灾内存中占用的目标内存地址,也就是每个磁盘需要下发io数据时,才会从容灾内存中申请目标内存地址,且在自身的目标循环列表中记录信息,因此io压力大的磁盘自然会申请到更多的内存以用于容灾,实现了容灾过程中容灾内存的按需分配,且每个磁盘根据自身的目标循环列表中的数据即可以实现容灾内存中io数据的正常下发,因此上述方案显著的提高了虚拟机的容灾内存的使用效率。
9、在一种可能的实现方式中,所述方法还包括:
10、当所述目标内存地址保存的目标io数据下发至目标磁盘的物理地址后,将所述目标循环列表中的下发数据信息删除。
11、当目标io数据下发至目标磁盘的物理地址后,目标循环列表中的下发数据信息可以删除,该目标循环列表的该部分存储空间可以循环使用,以便保存其他io数据对应的信息。
12、在一种可能的实现方式中,所述根据目标虚拟机对所述目标磁盘下发的目标io数据,选择在容灾内存中目标内存地址进行保存,包括:
13、确定所述目标磁盘下发的目标io数据的数据量;
14、从目标脏页中确定容灾内存的空闲内存地址;
15、在所述空闲内存地址中确定与所述目标io数据的数据量对应的目标内存地址,并保存所述目标磁盘下发的目标io数据。
16、共享内存中的数据回收主要是依靠脏页机制,把已发送到速度较低的磁盘中的数据所在容灾内存中存储位置对应的位图值设置为0,既可以对共享存储空间进行回收,也可以实时确定哪些是容灾内存可以使用的内存空间。
17、在一种可能的实现方式中,所述目标脏页中包括多个位图值;所述多个位图值分别对应容灾内存中各个内存单元的存储状态;所述容灾内存为所述目标设备分配给所述目标虚拟机进行容灾的内存;
18、所述根据所述目标io数据的数据量,从所述目标磁盘的目标脏页中确定空闲内存地址,包括:
19、将所述目标脏页中目标位数的位图值为0对应的内存单元的内存地址,确定为所述空闲内存地址。
20、在一种可能的实现方式中,所述将所述目标脏页中位图值为0对应的内存单元的内存地址,确定为所述空闲内存地址,包括:
21、从头遍历所述目标脏页中的各个位图值,选取位图值为0的内存单元的内存地址,作为所述空闲内存地址。
22、在一种可能的实现方式中,当空闲内存地址为多个时;
23、所述根据所述目标io数据的数据量,从所述目标磁盘的目标脏页中确定空闲内存地址,包括:
24、根据所述目标io数据的数据量,确定目标位数;
25、从头遍历所述目标脏页中的各个位图值,选取目标位数的位图值为0的内存单元的内存地址,作为多个空闲内存地址。
26、在一种可能的实现方式中,所述方法还包括:
27、当在所述目标内存地址上保存所述目标磁盘下发的目标io数据时,将所述目标脏页中与所述目标内存地址对应的位图值设置为1。
28、在一种可能的实现方式中,所述方法还包括:
29、在将所述目标内存地址保存的目标io数据下发至目标磁盘的物理地址之后,将所述目标io数据从所述目标内存地址中删除,并将所述目标脏页中与所述目标内存地址对应的位图值设置为0。
30、在一种可能的实现方式中,所述目标磁盘的数据传输状态为所述目标磁盘在指定时间段内的数据传输量。
31、在一种可能的实现方式中,所述根据所述目标磁盘的数据传输状态,生成循环数据结构的目标循环列表,包括:
32、根据目标磁盘在指定时间段内的数据传输量,确定第一列表大小;
33、生成第一列表大小的循环数据结构的目标循环列表。
34、即每个磁盘的目标循环列表的大小是可以不相同的,比如可以按照目标磁盘的io压力,也就是在指定时间段内的数据传输量来确定。
35、在一种可能的实现方式中,所述根据所述目标磁盘的数据传输状态,生成循环数据结构的目标循环列表,包括:
36、若目标磁盘在指定时间段内的数据传输状态满足第一条件时,生成第二列表大小的循环数据结构的目标循环列表。
37、在一种可能的实现方式中,所述第一条件为,所述目标磁盘在指定时间段内的数据传输量大于第一阈值。
38、在一种可能的实现方式中,在生成第二列表大小的循环数据结构的目标循环列表,包括:
...
【技术保护点】
1.一种虚拟机的容灾内存管理方法,其特征在于,所述方法用于开启容灾的目标虚拟机;所述目标虚拟机运行于目标设备中,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
3.根据权利要求2所述的方法,其特征在于,所述根据目标虚拟机对所述目标磁盘下发的目标IO数据,选择在容灾内存中目标内存地址进行保存,包括:
4.根据权利要求3所述的方法,其特征在于,所述目标脏页中包括多个位图值;所述多个位图值分别对应容灾内存中各个内存单元的存储状态;所述容灾内存为所述目标设备分配给所述目标虚拟机进行容灾的内存;
5.根据权利要求4所述的方法,其特征在于,所述将所述目标脏页中位图值为0对应的内存单元的内存地址,确定为所述空闲内存地址,包括:
6.根据权利要求5所述的方法,其特征在于,当空闲内存地址为多个时;
7.根据权利要求4所述的方法,其特征在于,所述方法还包括:
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
9.根据权利要求1至8任一所述的方法,其特征在于,所述目标磁
10.根据权利要求9所述的方法,其特征在于,所述根据所述目标磁盘的数据传输状态,生成循环数据结构的目标循环列表,包括:
11.根据权利要求1至8任一所述的方法,其特征在于,所述根据所述目标磁盘的数据传输状态,生成循环数据结构的目标循环列表,包括:
12.根据权利要求11所述的方法,其特征在于,所述第一条件为,所述目标磁盘在指定时间段内的数据传输量大于第一阈值。
13.根据权利要求12所述的方法,其特征在于,在生成第二列表大小的循环数据结构的目标循环列表,包括:
14.根据权利要求12所述的方法,其特征在于,所述方法还包括:
15.根据权利要求1至8任一所述的方法,其特征在于,所述方法还包括:
16.根据权利要求1至8任一所述的方法,其特征在于,所述方法还包括:
17.一种虚拟机的容灾内存管理装置,其特征在于,所述装置设置于开启容灾的目标虚拟机;所述目标虚拟机运行于目标设备中,所述装置包括:
18.一种计算机设备,其特征在于,包括:
19.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机指令,所述计算机指令用于使计算机执行权利要求1至16中任一项所述的虚拟机的容灾内存管理方法。
20.一种计算机程序产品,其特征在于,包括计算机指令,所述计算机指令用于使计算机执行权利要求1至16中任一项所述的虚拟机的容灾内存管理方法。
...【技术特征摘要】
1.一种虚拟机的容灾内存管理方法,其特征在于,所述方法用于开启容灾的目标虚拟机;所述目标虚拟机运行于目标设备中,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
3.根据权利要求2所述的方法,其特征在于,所述根据目标虚拟机对所述目标磁盘下发的目标io数据,选择在容灾内存中目标内存地址进行保存,包括:
4.根据权利要求3所述的方法,其特征在于,所述目标脏页中包括多个位图值;所述多个位图值分别对应容灾内存中各个内存单元的存储状态;所述容灾内存为所述目标设备分配给所述目标虚拟机进行容灾的内存;
5.根据权利要求4所述的方法,其特征在于,所述将所述目标脏页中位图值为0对应的内存单元的内存地址,确定为所述空闲内存地址,包括:
6.根据权利要求5所述的方法,其特征在于,当空闲内存地址为多个时;
7.根据权利要求4所述的方法,其特征在于,所述方法还包括:
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
9.根据权利要求1至8任一所述的方法,其特征在于,所述目标磁盘的数据传输状态为所述目标磁盘在指定时间段内的数据传输量。
10.根据权利要求9所述的方法,其特征在于,所述根据所述目标磁盘的数据传输状态,生成循环数据结构的目标循环...
【专利技术属性】
技术研发人员:赵浩宇,
申请(专利权)人:郑州浪潮数据技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。