System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及数据备份,特别是涉及一种虚拟机内存快照方法、一种虚拟机内存快照装置、一种电子设备以及一种计算机可读介质。
技术介绍
1、rdma(remote direct memory access):远程直接内存访问(rdma)是从一台计算机的内存到另一台计算机的内存的直接内存访问,而不涉及任一计算机的操作系统干预,从而提高内存远程读写性能。
2、分布式内存文件系统:分布式内存文件系统是一种分布式文件系统,它的设计目标是将内存作为主要的存储介质,并通过将内存分布在多台计算机节点上,以实现数据的高可用性、可扩展性和容错性。与传统的基于磁盘的文件系统相比,分布式内存文件系统在访问速度和吞吐量上通常具有更高的性能。
3、内存快照在日常虚拟化场景中十分重要,它是系统备份和恢复的重要手段之一。通过捕获当前内存状态的快照,系统可以在需要时快速恢复到之前的状态,这对于确保系统的连续性和可用性至关重要。内存快照可以用于调试和测试目的。开发人员可以在程序执行过程中捕获内存快照,并在发生错误或异常时分析快照以了解系统状态。这有助于快速定位和解决软件错误,并提高软件质量和稳定性。内存快照还可以帮助系统在发生故障时快速恢复到故障发生之前的状态。无论是软件崩溃、硬件故障还是其他意外情况,内存快照都可以提供一种有效的恢复机制,减少系统停机时间和数据丢失风险。
4、现有内存快照技术通常涉及将虚拟机的内存状态保存到持久化存储上,以便稍后可以快速恢复虚拟机的状态,如vmware和hyper-v等这些厂商的实现方案。还有一个优
5、使用上述的内存快照方式具有以下缺点和不足:
6、1)传统的内存快照方式,把内存直接保存到持久化存储上,由于持久化存储的io吞吐量不高的特性,会导致虚拟机的停机时间较长,直接导致客户的业务中断时间较久,损失较大。
7、2)使用优化的方式,把本地宿主机上的内存做成tmpfs用来缓存内存文件,再异步写入持久化存储是可以缩短业务中断时间,但tmpfs的容量上限受限于本地宿主机上的空闲内存容量,若遇到较大内存的虚拟机,就无法进行快照。
技术实现思路
1、鉴于上述问题,提出了本专利技术以便提供一种克服上述问题或者至少部分地解决上述问题的一种虚拟机内存快照方法和相应的一种虚拟机内存快照装置、一种电子设备以及一种计算机可读介质。
2、本专利技术公开了一种虚拟机内存快照方法,所述方法包括:
3、虚拟化平台控制器接收并响应用户侧发送的虚拟机内存快照请求,向分布式内存管理集群装置申请与虚拟机内存文件容量相同的内存;
4、分布式内存管理集群装置将从虚拟化集群中虚拟机节点申请到的所述与虚拟机内存文件容量相同的内存组成分布式内存文件系统,并挂载到宿主机目录上;
5、虚拟化平台控制器向虚拟化组件libvirt发送虚拟机内存快照请求;
6、虚拟化组件libvirt响应所述虚拟机内存快照请求,截获虚拟机内存文件并将虚拟机内存文件写入分布式内存文件系统;
7、分布式内存管理集群装置将保存在分布式内存文件系统的虚拟机内存文件写入持久化存储中,并在宿主机上卸载分布式内存文件系统,以及向每个虚拟机节点释放内存。
8、可选地,分布式内存管理集群装置包括元数据控制器、页表存储器、执行器,分布式内存管理集群装置将从虚拟化集群中虚拟机节点申请到的所述与虚拟机内存文件容量相同的内存组成分布式内存文件系统,并挂载到宿主机目录上,包括:
9、元数据控制器根据所述虚拟机内存文件容量,向虚拟化集群中虚拟机节点申请空闲内存,并将申请到的虚拟机节点空闲内存的页表映射关系记录至页表存储器;所述页表映射关系为文件块与每个节点内存的映射信息;
10、执行器将申请到的虚拟机节点空闲内存组成分布式内存文件系统,并挂载到宿主机目录上。
11、可选地,执行器将申请到的虚拟机节点空闲内存组成分布式内存文件系统,并挂载到宿主机目录上,包括:
12、当处于并发内存快照场景时,执行器分别将每个虚拟机节点申请到的空闲内存组成为所述虚拟机节点对应的分布式内存文件系统,并挂载到宿主机目录上。
13、可选地,元数据控制器根据所述虚拟机内存文件容量,向虚拟化集群中虚拟机节点申请空闲内存,并将申请到的虚拟机节点空闲内存的页表映射关系记录至页表存储器;所述页表映射关系为文件块与每个节点内存的映射信息,包括:
14、元数据控制器根据所述虚拟机内存文件容量,向虚拟化集群中虚拟机节点申请空闲内存,将虚拟机内存文件分割为分别与每个虚拟机节点空闲内存容量相同的文件块,并生成每个文件块与对应的虚拟机节点空闲内存的页表映射关系,以及将所述页表映射关系记录至页表存储器。
15、可选地,虚拟化组件libvirt响应所述虚拟机内存快照请求,截获虚拟机内存文件并将虚拟机内存文件写入分布式内存文件系统,包括:
16、虚拟化组件libvirt响应所述虚拟机内存快照请求,截获虚拟机内存文件;
17、根据所述页表映射关系,将所述虚拟机内存文件内容分割,并在本地虚拟机节点上执行本地写入操作和/或通过rdma网络加速传输写入远程虚拟机节点。
18、可选地,所述方法还包括:
19、在虚拟化组件libvirt通过rdma网络将虚拟机内存文件内容加速传输写入远程虚拟机节点时,虚拟化平台控制器为远程虚拟机节点的每个内存快照任务创建独占的rdma通信通道。
20、可选地,所述方法还包括:
21、当处于并发内存快照场景时,虚拟化平台控制器根据rdma硬件设备通信通道数量设置内存快照任务的最大并发数,并根据所述最大并发数控制任务并发执行,超出最大并发数的任务排队等待空闲通信通道。
22、本专利技术还公开了一种虚拟机内存快照装置,所述装置包括:
23、内存申请模块,用于虚拟化平台控制器接收并响应用户侧发送的虚拟机内存快照请求,向分布式内存管理集群装置申请与虚拟机内存文件容量相同的内存;
24、分布式内存文件系统组成模块,用于分布式内存管理集群装置将从虚拟化集群中虚拟机节点申请到的所述与虚拟机内存文件容量相同的内存组成分布式内存文件系统,并挂载到宿主机目录上;
25、内存快照请求发送模块,用于虚拟化平台控制器向虚拟化组件libvirt发送虚拟机内存快照请求;
26、内存文件截获和写入模块,用于虚拟化组件libvirt响应所述虚拟机内存快照请求,截获虚拟机内存文件并将虚拟机内存文件写入分布式内存文件系统;
27、内存文件持久存储模块,用于分布式内存管理集群装置将保存在分布式内存文件系统的虚拟机内存文件写入持久化存储中,并在宿主机上卸载分布式内存文件系统,以及向每个虚拟机节点释放内存。
28、可选本文档来自技高网...
【技术保护点】
1.一种虚拟机内存快照方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,分布式内存管理集群装置包括元数据控制器、页表存储器、执行器,分布式内存管理集群装置将从虚拟化集群中虚拟机节点申请到的所述与虚拟机内存文件容量相同的内存组成分布式内存文件系统,并挂载到宿主机目录上,包括:
3.根据权利要求2所述的方法,其特征在于,执行器将申请到的虚拟机节点空闲内存组成分布式内存文件系统,并挂载到宿主机目录上,包括:
4.根据权利要求2所述的方法,其特征在于,元数据控制器根据所述虚拟机内存文件容量,向虚拟化集群中虚拟机节点申请空闲内存,并将申请到的虚拟机节点空闲内存的页表映射关系记录至页表存储器;所述页表映射关系为文件块与每个节点内存的映射信息,包括:
5.根据权利要求2所述的方法,其特征在于,虚拟化组件libvirt响应所述虚拟机内存快照请求,截获虚拟机内存文件并将虚拟机内存文件写入分布式内存文件系统,包括:
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
7.根据权利要求1所述的方法
8.一种虚拟机内存快照装置,其特征在于,所述装置包括:
9.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,所述处理器、所述通信接口以及所述存储器通过所述通信总线完成相互间的通信;
10.一个或多个计算机可读介质,其上存储有指令,当由一个或多个处理器执行时,使得所述处理器执行如权利要求1-7任一项所述的虚拟机内存快照方法。
...【技术特征摘要】
1.一种虚拟机内存快照方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,分布式内存管理集群装置包括元数据控制器、页表存储器、执行器,分布式内存管理集群装置将从虚拟化集群中虚拟机节点申请到的所述与虚拟机内存文件容量相同的内存组成分布式内存文件系统,并挂载到宿主机目录上,包括:
3.根据权利要求2所述的方法,其特征在于,执行器将申请到的虚拟机节点空闲内存组成分布式内存文件系统,并挂载到宿主机目录上,包括:
4.根据权利要求2所述的方法,其特征在于,元数据控制器根据所述虚拟机内存文件容量,向虚拟化集群中虚拟机节点申请空闲内存,并将申请到的虚拟机节点空闲内存的页表映射关系记录至页表存储器;所述页表映射关系为文件块与每个节点内存的映射信息,包括:...
【专利技术属性】
技术研发人员:刘忻,胡秉俊,林冬艺,
申请(专利权)人:广州市品高软件股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。