1.本技术实施例涉及云计算虚拟化技术领域,尤其涉及一种云主机的热迁移方法、介质和电子设备。
背景技术:2.云主机的热迁移特性是数据中心升级维护时保证业务不间断的核心功能。热迁移的过程是将一台服务器上的云主机的内存状态完整的保存下来,发送到另一台服务器上并恢复运行。
3.相关技术中,云主机的热迁移过程中,当云主机业务压力较大时,内存脏页产生较多,需要发送的内存数据较大,耗时较长,虚拟化组件通常会降低处理器性能来间接降低内存脏页产生速率,此时业务处理缓慢,或出现卡顿现象,云主机的热迁移的效率较低。
技术实现要素:4.为解决现有存在的技术问题,本技术实施例提供了一种云主机的热迁移方法、介质和电子设备,可以对云主机的热迁移的内存脏页进行加速热迁移,降低云主机的热迁移的耗时,提升云主机的热迁移的效率。
5.为达到上述目的,本技术实施例的技术方案是这样实现的:
6.第一方面,本技术实施例提供一种云主机的热迁移方法,应用于所述云主机的源宿主机,包括:
7.响应于接收到热迁移命令,获取压缩方式参数信息;
8.若所述压缩方式参数信息为预设的第一参数,则通过所述源宿主机的第一硬件加速器对所述云主机的内存脏页进行压缩,生成第一内存压缩数据;所述第一参数表征需要进行加速热迁移;以及基于所述热迁移命令对应的目的宿主机地址,将所述压缩方式参数信息发送给所述云主机的目的宿主机;
9.若接收到所述目的宿主机发送的第一准备就绪通知信息,则将所述第一内存压缩数据发送给所述目的宿主机,以使所述目的宿主机通过所述目的宿主机的第二硬件加速器解压缩所述第一内存压缩数据。
10.本技术实施例提供一种通过硬件加速器进行云主机的热迁移的机制,利用硬件加速器进行压缩,可以对云主机的热迁移的内存脏页进行加速热迁移,降低云主机的热迁移的耗时,提升云主机的热迁移的效率。
11.在一种可选的实施例中,所述获取压缩方式参数信息,包括:
12.接收云主机管理平台发送的包含所述压缩方式参数信息的热迁移配置文件;
13.所述将所述压缩方式参数信息发送给所述云主机的目的宿主机,包括:
14.将包含所述压缩方式参数信息的热迁移配置文件发送给所述云主机的目的宿主机。
15.在一种可选的实施例中,所述热迁移配置文件还包括加速卡需求参数信息;所述
通过所述源宿主机的第一硬件加速器对所述云主机的内存脏页进行压缩,之前还包括:
16.基于所述加速卡需求参数信息,确定所述源宿主机的第一硬件加速器与所述加速卡需求参数信息匹配。
17.在一种可选的实施例中,所述响应于接收到热迁移命令,获取压缩方式参数信息之后,还包括:
18.若所述压缩方式参数信息为预设的第二参数,则通过所述源宿主机的cpu对所述云主机的内存脏页进行压缩,生成第二内存压缩数据;所述第二参数表征需要进行常规热迁移;以及基于所述目的宿主机地址,将所述压缩方式参数信息发送给所述云主机的目的宿主机;
19.若接收到所述目的宿主机发送的第二准备就绪通知信息,则将所述第二内存压缩数据发送给所述目的宿主机,以使所述目的宿主机通过所述目的宿主机的cpu解压缩所述第二内存压缩数据。
20.在一种可选的实施例中,所述通过所述源宿主机的第一硬件加速器对所述云主机的内存脏页进行压缩,之前还包括:
21.若判断所述源宿主机的第一硬件加速器与所述加速卡需求参数信息不匹配,则生成第一告警信息;所述第一告警信息表征所述加速卡需求参数信息和/或所述第一硬件加速器需要调整。
22.第二方面,本技术实施例还提供了一种云主机的热迁移方法,应用于所述云主机的目的宿主机,包括:
23.接收云主机的源宿主机发送的压缩方式参数信息;
24.若所述压缩方式参数信息为预设的第一参数,则向所述源宿主机发送第一准备就绪通知信息;以及通过所述目的宿主机的第二硬件加速器,对接收到的第一内存压缩数据进行解压缩,以完成所述云主机的加速热迁移;所述第一参数表征需要进行加速热迁移。
25.本技术实施例提供一种通过硬件加速器进行云主机的热迁移的机制,利用硬件加速器进行解压缩,可以对云主机的热迁移的内存脏页进行加速热迁移,降低云主机的热迁移的耗时,提升云主机的热迁移的效率。
26.在一种可选的实施例中,所述接收云主机的源宿主机发送的压缩方式参数信息,包括:
27.接收云主机的源宿主机发送的包含所述压缩方式参数信息的热迁移配置文件。
28.在一种可选的实施例中,所述热迁移配置文件还包括加速卡需求参数信息;所述向所述源宿主机发送准备就绪通知信息,之前还包括:
29.基于所述加速卡需求参数信息,确定所述目的宿主机的第二硬件加速器与所述加速卡需求参数信息匹配。
30.在一种可选的实施例中,所述接收云主机的源宿主机发送的压缩方式参数信息之后,还包括:
31.若所述压缩方式参数信息为预设的第二参数,则向所述源宿主机发送第二准备就绪通知信息;以及通过所述目的宿主机的cpu,对接收到的第二内存压缩数据进行解压缩,以完成所述云主机的常规热迁移;所述第二参数表征需要进行常规热迁移。
32.在一种可选的实施例中,所述通过所述目的宿主机的第二硬件加速器,对接收到
的第一内存压缩数据进行解压缩,之前还包括:
33.若判断所述目的宿主机的第二硬件加速器与所述加速卡需求参数信息匹配,则生成第二告警信息;所述第二告警信息表征所述加速卡需求参数信息和/或所述第二硬件加速器需要调整。
34.第三方面,本技术实施例还提供了一种云主机的热迁移装置,布设于所述云主机的源宿主机,包括:
35.第一信息获取单元,用于响应于接收到热迁移命令,获取压缩方式参数信息;
36.内存压缩单元,用于:若所述压缩方式参数信息为预设的第一参数,则通过所述源宿主机的第一硬件加速器对所述云主机的内存脏页进行压缩,生成第一内存压缩数据;所述第一参数表征需要进行加速热迁移;以及基于所述热迁移命令对应的目的宿主机地址,将所述压缩方式参数信息发送给所述云主机的目的宿主机;
37.压缩数据传送单元,用于若接收到所述目的宿主机发送的第一准备就绪通知信息,则将所述第一内存压缩数据发送给所述目的宿主机,以使所述目的宿主机通过所述目的宿主机的第二硬件加速器解压缩所述第一内存压缩数据。
38.在一种可选的实施例中,所述第一信息获取单元,具体用于:
39.接收云主机管理平台发送的包含所述压缩方式参数信息的热迁移配置文件;
40.所述内存压缩单元,具体用于:
41.将包含所述压缩方式参数信息的热迁移配置文件发送给所述云主机的目的宿主机。
42.在一种可选的实施例中,所述热迁移配置文件还包括加速卡需求参数信息;所述内存压缩单元,还用于:
43.在所述通过所述源宿主机的第一硬件加速器对所述云主机的内存脏页进行压缩之前,基于所述加速卡需求参数信息,确定所述源宿主机的第一硬件加速器与所述加速卡需求参数信息匹配。
44.在一种可选的实施例中,所述内存压缩单元,还用于:
45.若所述压缩方式参数信息为预设的第二参数,则通过所述源宿主机的cpu对所述云主机的内存脏页进行压缩,生成第二内存压缩数据;所述第二参数表征需要进行常规热迁移;以及基于所述目的宿主机地址,将所述压缩方式参数信息发送给所述云主机的目的宿主机;
46.所述压缩数据传送单元,还用于:
47.若接收到所述目的宿主机发送的第二准备就绪通知信息,则将所述第二内存压缩数据发送给所述目的宿主机,以使所述目的宿主机通过所述目的宿主机的cpu解压缩所述第二内存压缩数据。
48.在一种可选的实施例中,所述装置还包括第一告警单元,所述第一告警单元用于:
49.在所述通过所述源宿主机的第一硬件加速器对所述云主机的内存脏页进行压缩之前,若判断所述源宿主机的第一硬件加速器与所述加速卡需求参数信息不匹配,则生成第一告警信息;所述第一告警信息表征所述加速卡需求参数信息和/或所述第一硬件加速器需要调整。
50.第四方面,本技术实施例还提供了一种云主机的热迁移装置,布设于所述云主机
的目的宿主机,包括:
51.第二信息获取单元,用于接收云主机的源宿主机发送的压缩方式参数信息;
52.内存解压单元,用于:若所述压缩方式参数信息为预设的第一参数,则向所述源宿主机发送第一准备就绪通知信息;以及通过所述目的宿主机的第二硬件加速器,对接收到的第一内存压缩数据进行解压缩,以完成所述云主机的加速热迁移;所述第一参数表征需要进行加速热迁移。
53.在一种可选的实施例中,所述第二信息获取单元,具体用于:
54.接收云主机的源宿主机发送的包含所述压缩方式参数信息的热迁移配置文件。
55.在一种可选的实施例中,所述热迁移配置文件还包括加速卡需求参数信息;所述内存解压单元,还用于:
56.在所述向所述源宿主机发送准备就绪通知信息之前,基于所述加速卡需求参数信息,确定所述目的宿主机的第二硬件加速器与所述加速卡需求参数信息匹配。
57.在一种可选的实施例中,所述内存解压单元,还用于:
58.若所述压缩方式参数信息为预设的第二参数,则向所述源宿主机发送第二准备就绪通知信息;以及通过所述目的宿主机的cpu,对接收到的第二内存压缩数据进行解压缩,以完成所述云主机的常规热迁移;所述第二参数表征需要进行常规热迁移。
59.在一种可选的实施例中,所述装置还包括第二告警单元,所述第二告警单元用于:
60.在所述通过所述目的宿主机的第二硬件加速器,对接收到的第一内存压缩数据进行解压缩之前,若判断所述目的宿主机的第二硬件加速器与所述加速卡需求参数信息匹配,则生成第二告警信息;所述第二告警信息表征所述加速卡需求参数信息和/或所述第二硬件加速器需要调整。
61.第五方面,本技术实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时,实现第一方面的云主机的热迁移方法或第二方面的云主机的热迁移方法。
62.第六方面,本技术实施例还提供了一种电子设备,包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,当所述计算机程序被所述处理器执行时,使得所述处理器实现第一方面的云主机的热迁移方法或第二方面的云主机的热迁移方法。
63.第七方面,本技术实施例一种计算机程序产品,其包括计算机指令,所述计算机指令存储在计算机可读存储介质中;当计算机设备的处理器从所述计算机可读存储介质读取所述计算机指令时,所述处理器执行该计算机指令,使得所述计算机设备执行第一方面的云主机的热迁移方法或第二方面的云主机的热迁移方法的步骤。
64.第三方面至第七方面中任意一种实现方式所带来的技术效果可参见第一方面至第二方面中对应的实现方式所带来的技术效果,此处不再赘述。
附图说明
65.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其
他的附图。
66.图1为本技术实施例提供的一种云主机的热迁移方法的流程图;
67.图2为本技术实施例提供的另一种云主机的热迁移方法的流程图;
68.图3为本技术实施例提供的一种云主机的热迁移装置的结构示意图;
69.图4为本技术实施例提供的另一种云主机的热迁移装置的结构示意图;
70.图5为本技术实施例提供的一种电子设备的结构示意图。
具体实施方式
71.为了使本技术的目的、技术方案和优点更加清楚,下面将结合附图对本技术作进一步地详细描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本技术保护的范围。
72.需要说明的是,本技术的文件中涉及的术语“包括”和“具有”以及它们的变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
73.下面对文中出现的一些词语进行解释:
74.(1)、硬件加速器:硬件加速器是提供硬件加速解决方案的加速引擎,主要功能包括加解密、加速数据压缩等。硬件加速器也称硬件卡,可以显著降低处理器cpu的消耗,提高处理器效率。硬件加速器对应用层屏蔽了其内部实现细节,用户通过设置的标准接口即可以实现快速迁移现有业务。本技术的实施例中,硬件加速器可以是与cpu相互独立的专用芯片,也可以是集成在cpu内的芯片加速器子系统。
75.云主机的热迁移特性是数据中心升级维护时保证业务不间断的核心功能。热迁移的过程是将一台服务器上的云主机的内存状态完整的保存下来,发送到另一台服务器上并恢复运行。
76.相关技术中,云主机的热迁移过程中,当云主机业务压力较大时,内存脏页产生较多,需要发送的内存数据较大,耗时较长,虚拟化组件通常会降低处理器性能来间接降低内存脏页产生速率,此时业务处理缓慢,或出现卡顿现象,云主机的热迁移的效率较低。
77.为解决现有存在的技术问题,本技术实施例提供了一种云主机的热迁移方法,应用于云主机的源宿主机,包括:
78.响应于接收到热迁移命令,获取压缩方式参数信息;
79.若压缩方式参数信息为预设的第一参数,则通过源宿主机的第一硬件加速器对云主机的内存脏页进行压缩,生成第一内存压缩数据;第一参数表征需要进行加速热迁移;以及基于热迁移命令对应的目的宿主机地址,将压缩方式参数信息发送给云主机的目的宿主机;若接收到目的宿主机发送的第一准备就绪通知信息,则将第一内存压缩数据发送给目的宿主机,以使目的宿主机通过目的宿主机的第二硬件加速器解压缩第一内存压缩数据。该方法提供一种通过硬件加速器进行云主机的热迁移的机制,利用硬件加速器进行压缩,可以对云主机的热迁移的内存脏页进行加速热迁移,降低云主机的热迁移的耗时,提升云主机的热迁移的效率。
80.下面将结合附图,对本技术实施例提供的技术方案进行详细说明。
81.本技术实施例提供了一种云主机的热迁移方法,应用于云主机的源宿主机,如图1所示,包括如下步骤:
82.步骤s101,响应于接收到热迁移命令,获取压缩方式参数信息。
83.在本技术的一些实施例中,云主机的源宿主机上设置有libvirt组件和qemu组件。
84.具体实施时,可以是通过云主机的源宿主机上的libvirt组件,接收到热迁移命令。响应于接收到热迁移命令,源宿主机调用libvirt组件的migrate接口,获取压缩方式参数信息。其中,热迁移命令可以是由云主机管理平台发送给正在运行的云主机的。
85.在一种可选的实施例中,获取压缩方式参数信息,包括:
86.接收云主机管理平台发送的包含压缩方式参数信息的热迁移配置文件。
87.示例性地,云主机的源宿主机source响应于接收到云主机管理平台发送的热迁移命令instruct_01,接收云主机管理平台发送的包含压缩方式参数信息mold_info的热迁移配置文件accelerator.xml。
88.步骤s102,若压缩方式参数信息为预设的第一参数,则通过源宿主机的第一硬件加速器对云主机的内存脏页进行压缩,生成第一内存压缩数据;第一参数表征需要进行加速热迁移;以及基于热迁移命令对应的目的宿主机地址,将压缩方式参数信息发送给云主机的目的宿主机。
89.示例性地,假设预设的第一参数为“hard”,若压缩方式参数信息mold_info为“hard”,则通过源宿主机source的第一硬件加速器hardware accelerator_1对云主机的内存脏页进行压缩,生成第一内存压缩数据data1;第一参数“hard”表征需要进行加速热迁移;以及基于热迁移命令instruct_01对应的目的宿主机地址,将压缩方式参数信息mold_info发送给云主机的目的宿主机destination。
90.在一种可选的实施例中,获取压缩方式参数信息,具体是接收云主机管理平台发送的包含压缩方式参数信息的热迁移配置文件;将压缩方式参数信息发送给云主机的目的宿主机,包括:
91.将包含压缩方式参数信息的热迁移配置文件发送给云主机的目的宿主机。
92.示例性地,云主机的源宿主机source响应于接收到云主机管理平台发送的热迁移命令instruct_01,接收云主机管理平台发送的包含压缩方式参数信息mold_info的热迁移配置文件accelerator.xml,然后将包含压缩方式参数信息mold_info的热迁移配置文件accelerator.xml发送给云主机的目的宿主机destination。
93.在一种可选的实施例中,热迁移配置文件还包括加速卡需求参数信息;通过源宿主机的第一硬件加速器对云主机的内存脏页进行压缩,之前还包括:
94.基于加速卡需求参数信息,确定源宿主机的第一硬件加速器与加速卡需求参数信息匹配。
95.具体实施时,源宿主机可以通过调用libvirt组件的hardwareaccelerator()接口,从热迁移配置文件中读取加速卡需求参数信息。其中,加速卡需求参数信息是可使用的硬件加速器的相关信息。源宿主机从热迁移配置文件中读取加速卡需求参数信息后,可以将该加速卡需求参数信息赋予qemu组件的压缩模块compressor进行存储。qemu组件调用compress_threads_save_setup接口,基于压缩模块compressor存储的加速卡需求参数信
息,确定源宿主机的第一硬件加速器与加速卡需求参数信息匹配,从而确定第一硬件加速器是否可用。其中,若确定源宿主机的第一硬件加速器与加速卡需求参数信息匹配,则确定第一硬件加速器可用。
96.本技术的实施例中,确定第一硬件加速器可用时,可以使第一硬件加速器准备就绪。
97.示例性地,热迁移配置文件accelerator.xml还包括加速卡需求参数信息hard_card_de_in;通过源宿主机source的第一硬件加速器hardware accelerator_1对云主机的内存脏页进行压缩之前,先执行以下操作:基于加速卡需求参数信息hard_card_de_in,确定源宿主机source的第一硬件加速器hardware accelerator_1与加速卡需求参数信息hard_card_de_in匹配。
98.步骤s103,若接收到目的宿主机发送的第一准备就绪通知信息,则将第一内存压缩数据发送给目的宿主机,以使目的宿主机通过目的宿主机的第二硬件加速器解压缩第一内存压缩数据。
99.示例性地,若源宿主机source接收到目的宿主机destination发送的第一准备就绪通知信息run_ok_1,则将第一内存压缩数据data1发送给目的宿主机destination,以使目的宿主机destination通过目的宿主机destination的第二硬件加速器hardware accelerator_2解压缩第一内存压缩数据data1。
100.上述实施例的方法,提供了一种通过硬件加速器进行云主机的热迁移的机制,利用硬件加速器进行压缩,可以对云主机的热迁移的内存脏页进行加速热迁移,降低云主机的热迁移的耗时,提升云主机的热迁移的效率。
101.在一种可选的实施例中,响应于接收到热迁移命令,获取压缩方式参数信息之后,还包括:
102.若压缩方式参数信息为预设的第二参数,则通过源宿主机的cpu对云主机的内存脏页进行压缩,生成第二内存压缩数据;第二参数表征需要进行常规热迁移;以及基于目的宿主机地址,将压缩方式参数信息发送给云主机的目的宿主机;
103.若接收到目的宿主机发送的第二准备就绪通知信息,则将第二内存压缩数据发送给目的宿主机,以使目的宿主机通过目的宿主机的cpu解压缩第二内存压缩数据。
104.示例性地,假定预设的第二参数为“soft”。响应于接收到热迁移命令instruct_01,获取压缩方式参数信息mold_info之后,还包括:若压缩方式参数信息mold_info为“soft”,则通过源宿主机source的cpu对云主机的内存脏页进行压缩,生成第二内存压缩数据data2;第二参数“soft”表征需要进行常规热迁移;以及基于目的宿主机地址destination_ip,将压缩方式参数信息mold_info发送给云主机的目的宿主机destination;然后,若接收到目的宿主机destination发送的第二准备就绪通知信息run_ok_2,则将第二内存压缩数据data2发送给目的宿主机destination,以使目的宿主机destination通过目的宿主机destination的cpu解压缩第二内存压缩数据data2。
105.在一种可选的实施例中,通过源宿主机的第一硬件加速器对云主机的内存脏页进行压缩,之前还包括:
106.若判断源宿主机的第一硬件加速器与加速卡需求参数信息不匹配,则生成第一告警信息;第一告警信息表征加速卡需求参数信息和/或第一硬件加速器需要调整。
107.在一种可选的实施例中,云主机的热迁移方法,还包括:响应于用户的时间查询指令,获取热迁移的时间信息。
108.具体实施时,在一些实施例中,可以是执行热迁移评估工具,例如使用get_stat接口,评估热迁移的时间状态。在其他一些实施例中,还也可使用通用时间工具,例如time命令,观测热迁移时间和业务的运行情况。
109.本技术上述实施例提供的云主机的热迁移方法,应用于云主机的源宿主机,响应于接收到热迁移命令,获取压缩方式参数信息;若压缩方式参数信息为预设的第一参数,则通过源宿主机的第一硬件加速器对云主机的内存脏页进行压缩,生成第一内存压缩数据;第一参数表征需要进行加速热迁移;以及基于热迁移命令对应的目的宿主机地址,将压缩方式参数信息发送给云主机的目的宿主机;若接收到目的宿主机发送的第一准备就绪通知信息,则将第一内存压缩数据发送给目的宿主机,以使目的宿主机通过目的宿主机的第二硬件加速器解压缩第一内存压缩数据。该方法提供一种通过硬件加速器进行云主机的热迁移的机制,利用硬件加速器进行压缩,可以对云主机的热迁移的内存脏页进行加速热迁移,降低云主机的热迁移的耗时,提升云主机的热迁移的效率。
110.图2示出了本技术实施例提供的另一种云主机的热迁移方法的流程图,应用于云主机的目的宿主机,如图2所示,包括如下步骤:
111.步骤s201,接收云主机的源宿主机发送的压缩方式参数信息。
112.在本技术的一些实施例中,云主机的目的宿主机上设置有libvirt组件和qemu组件。
113.具体实施时,可以是通过云主机的目的宿主机上的libvirt组件,接收云主机的源宿主机发送的压缩方式参数信息。例如,目的宿主机调用目的上设置的libvirt组件的migrate接口,获取压缩方式参数信息。
114.示例性地,云主机的目的宿主机destination可以接收云主机的源宿主机source发送的压缩方式参数信息mold_info。
115.在一种可选的实施例中,接收云主机的源宿主机发送的压缩方式参数信息,具体为接收云主机的源宿主机发送的包含压缩方式参数信息的热迁移配置文件。
116.示例性地,云主机的目的宿主机destination可以接收云主机的源宿主机source发送的压缩方式参数信息mold_info,可以具体为:目的宿主机destination接收云主机的源宿主机source发送的包含压缩方式参数信息mold_info的热迁移配置文件accelerator.xml。
117.步骤s202,若压缩方式参数信息为预设的第一参数,则向源宿主机发送第一准备就绪通知信息;以及通过目的宿主机的第二硬件加速器,对接收到的第一内存压缩数据进行解压缩,以完成云主机的加速热迁移;第一参数表征需要进行加速热迁移。
118.示例性地,假设预设的第一参数为“hard”,若压缩方式参数信息mold_info为“hard”,则向源宿主机source发送第一准备就绪通知信息run_ok_1;以及通过目的宿主机destination的第二硬件加速器hardware accelerator_2,对接收到的第一内存压缩数据data1进行解压缩,以完成云主机的加速热迁移;第一参数“hard”表征需要进行加速热迁移。
119.在一种可选的实施例中,热迁移配置文件还包括加速卡需求参数信息;向源宿主
机发送准备就绪通知信息,之前还包括:
120.基于加速卡需求参数信息,确定目的宿主机的第二硬件加速器与加速卡需求参数信息匹配。
121.示例性地,热迁移配置文件accelerator.xml还包括加速卡需求参数信息hard_card_de_in;向源宿主机source发送准备就绪通知信息run_ok_1之前,先执行以下操作:基于加速卡需求参数信息hard_card_de_in,确定目的宿主机destination的第二硬件加速器hardware accelerator_2与加速卡需求参数信息hard_card_de_in匹配。
122.具体实施时,目的宿主机可以通过调用目的宿主机中设置的libvirt组件的hardwareaccelerator()接口,从热迁移配置文件中读取加速卡需求参数信息。其中,加速卡需求参数信息是可使用的硬件加速器的相关信息。目的宿主机从热迁移配置文件中读取加速卡需求参数信息后,可以将该加速卡需求参数信息赋予目的宿主机设置的qemu组件的解压缩模块uncompressor进行存储。qemu组件调用compress_threads_save_setup接口,基于解压缩模块uncompressor存储的加速卡需求参数信息,确定目的宿主机的第二硬件加速器与加速卡需求参数信息匹配,从而确定第二硬件加速器是否可用。其中,若确定目的宿主机的第二硬件加速器与加速卡需求参数信息匹配,则确定第二硬件加速器可用。
123.需要指出的是,本技术的实施例中,目的宿主机基于加速卡需求参数信息,确定目的宿主机的第二硬件加速器与加速卡需求参数信息匹配的过程,可以是与源宿主机基于加速卡需求参数信息,确定源宿主机的第一硬件加速器与加速卡需求参数信息匹配的过程相类似,相同之处不再赘述。
124.在一种可选的实施例中,接收云主机的源宿主机发送的压缩方式参数信息之后,还包括:
125.若压缩方式参数信息为预设的第二参数,则向源宿主机发送第二准备就绪通知信息;以及通过目的宿主机的cpu,对接收到的第二内存压缩数据进行解压缩,以完成云主机的常规热迁移;第二参数表征需要进行常规热迁移。
126.示例性地,假定预设的第二参数为“soft”。接收云主机的源宿主机发送的压缩方式参数信息mold_info之后,还可以执行以下步骤过程:若压缩方式参数信息mold_info为“soft”,则向源宿主机source发送第二准备就绪通知信息run_ok_2;以及通过目的宿主机destination的cpu对,对接收到的第二内存压缩数据data2进行解压缩,以完成云主机的常规热迁移;第二参数“soft”表征需要进行常规热迁移。
127.在一种可选的实施例中,通过目的宿主机的第二硬件加速器,对接收到的第一内存压缩数据进行解压缩,之前还包括:
128.若判断目的宿主机的第二硬件加速器与加速卡需求参数信息匹配,则生成第二告警信息;第二告警信息表征加速卡需求参数信息和/或第二硬件加速器需要调整。
129.该实施例的方法,应用于云主机的目的宿主机,提供了一种通过硬件加速器进行云主机的热迁移的机制,利用硬件加速器进行解压缩,可以对云主机的热迁移的内存脏页进行加速热迁移,降低云主机的热迁移的耗时,提升云主机的热迁移的效率。
130.与图1所示的云主机的热迁移方法基于同一发明构思,本技术实施例中还提供了一种云主机的热迁移装置。由于该装置是本技术图1所示的云主机的热迁移方法对应的装置,并且该装置解决问题的原理与该方法相似,因此该装置的实施可以参见图1所示的上述
方法的实施,重复之处不再赘述。
131.图3示出了本技术实施例提供的一种云主机的热迁移装置的结构示意图,如图3所示,该云主机的热迁移装置包括第一信息获取单元301、内存压缩单元302和压缩数据传送单元303。
132.其中,第一信息获取单元301,用于响应于接收到热迁移命令,获取压缩方式参数信息;
133.内存压缩单元302,用于:若压缩方式参数信息为预设的第一参数,则通过源宿主机的第一硬件加速器对云主机的内存脏页进行压缩,生成第一内存压缩数据;第一参数表征需要进行加速热迁移;以及基于热迁移命令对应的目的宿主机地址,将压缩方式参数信息发送给云主机的目的宿主机;
134.压缩数据传送单元303,用于若接收到目的宿主机发送的第一准备就绪通知信息,则将第一内存压缩数据发送给目的宿主机,以使目的宿主机通过目的宿主机的第二硬件加速器解压缩第一内存压缩数据。
135.在一种可选的实施例中,第一信息获取单元301,具体用于:
136.接收云主机管理平台发送的包含压缩方式参数信息的热迁移配置文件;
137.内存压缩单元302,具体用于:
138.将包含压缩方式参数信息的热迁移配置文件发送给云主机的目的宿主机。
139.在一种可选的实施例中,热迁移配置文件还包括加速卡需求参数信息;内存压缩单元302,还用于:
140.在通过源宿主机的第一硬件加速器对云主机的内存脏页进行压缩之前,基于加速卡需求参数信息,确定源宿主机的第一硬件加速器与加速卡需求参数信息匹配。
141.在一种可选的实施例中,内存压缩单元302,还用于:
142.若压缩方式参数信息为预设的第二参数,则通过源宿主机的cpu对云主机的内存脏页进行压缩,生成第二内存压缩数据;第二参数表征需要进行常规热迁移;以及基于目的宿主机地址,将压缩方式参数信息发送给云主机的目的宿主机;
143.压缩数据传送单元303,还用于:
144.若接收到目的宿主机发送的第二准备就绪通知信息,则将第二内存压缩数据发送给目的宿主机,以使目的宿主机通过目的宿主机的cpu解压缩第二内存压缩数据。
145.在一种可选的实施例中,装置还包括第一告警单元304,第一告警单元304用于:
146.在通过源宿主机的第一硬件加速器对云主机的内存脏页进行压缩之前,若判断源宿主机的第一硬件加速器与加速卡需求参数信息不匹配,则生成第一告警信息;第一告警信息表征加速卡需求参数信息和/或第一硬件加速器需要调整。
147.与图2所示的云主机的热迁移方法基于同一发明构思,本技术实施例中还提供了另一种云主机的热迁移装置。由于该装置是本技术图2所示的云主机的热迁移方法对应的装置,并且该装置解决问题的原理与该方法相似,因此该装置的实施可以参见图2所示的上述方法的实施,重复之处不再赘述。
148.图4示出了本技术实施例提供的另一种云主机的热迁移装置的结构示意图,布设于云主机的目的宿主机,如图4所示,该云主机的热迁移装置包括第二信息获取单元401和内存解压单元402。
149.其中,第二信息获取单元401,用于接收云主机的源宿主机发送的压缩方式参数信息;
150.内存解压单元402,用于:若压缩方式参数信息为预设的第一参数,则向源宿主机发送第一准备就绪通知信息;以及通过目的宿主机的第二硬件加速器,对接收到的第一内存压缩数据进行解压缩,以完成云主机的加速热迁移;第一参数表征需要进行加速热迁移。
151.在一种可选的实施例中,第二信息获取单元401,具体用于:
152.接收云主机的源宿主机发送的包含压缩方式参数信息的热迁移配置文件。
153.在一种可选的实施例中,热迁移配置文件还包括加速卡需求参数信息;内存解压单元402,还用于:
154.在向源宿主机发送准备就绪通知信息之前,基于加速卡需求参数信息,确定目的宿主机的第二硬件加速器与加速卡需求参数信息匹配。
155.在一种可选的实施例中,内存解压单元402,还用于:
156.若压缩方式参数信息为预设的第二参数,则向源宿主机发送第二准备就绪通知信息;以及通过目的宿主机的cpu,对接收到的第二内存压缩数据进行解压缩,以完成云主机的常规热迁移;第二参数表征需要进行常规热迁移。
157.在一种可选的实施例中,该装置还包括第二告警单元403,第二告警单元用于:
158.在通过目的宿主机的第二硬件加速器,对接收到的第一内存压缩数据进行解压缩之前,若判断目的宿主机的第二硬件加速器与加速卡需求参数信息匹配,则生成第二告警信息;第二告警信息表征加速卡需求参数信息和/或第二硬件加速器需要调整。
159.与上述方法实施例基于同一发明构思,本技术实施例中还提供了一种电子设备。在一些可能的实施方式中,根据本发明的电子设备可以如图5所示,包括存储器501,通讯模块503以及一个或多个处理器502。其中,
160.存储器501,用于存储处理器502执行的计算机程序。存储器501上存储有可在所述处理器上运行的计算机程序,当所述计算机程序被所述处理器执行时,使得处理器执行本说明书上述描述的根据本发明各种示例性实施方式的云主机的热迁移方法中的步骤。例如,处理器可以执行如图1中所示的步骤s101-s103,或执行如图2中所示的步骤s201-s202。存储器501可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统,以及运行即时通讯功能所需的程序等;存储数据区可存储各种即时通讯信息和操作指令集等。
161.存储器501可以是易失性存储器(volatile memory),例如随机存取存储器(random-access memory,ram);存储器501也可以是非易失性存储器(non-volatile memory),例如只读存储器,快闪存储器(flash memory),硬盘(hard disk drive,hdd)或固态硬盘(solid-state drive,ssd)、或者存储器501是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器501可以是上述存储器的组合。
162.处理器502,可以包括一个或多个中央处理单元(central processing unit,cpu)或者为数字处理单元等等。处理器502,用于调用存储器501中存储的计算机程序时实现上述云主机的热迁移方法。
163.通讯模块503用于与终端设备和其他服务器进行通信。
164.本技术实施例中不限定上述存储器501、通讯模块503和处理器502之间的具体连
接介质。本公开实施例在图5中以存储器501和处理器502之间通过总线504连接,总线504在图5中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。总线504可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
165.本技术实施例还提供了一种计算机存储介质,计算机存储介质中存储有计算机可执行指令,计算机可执行指令用于实现本技术任一实施例的云主机的热迁移方法。
166.根据本技术的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述实施例中的云主机的热迁移方法。所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。
167.以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本技术的保护范围之内。
技术特征:1.一种云主机的热迁移方法,应用于所述云主机的源宿主机,其特征在于,包括:响应于接收到热迁移命令,获取压缩方式参数信息;若所述压缩方式参数信息为预设的第一参数,则通过所述源宿主机的第一硬件加速器对所述云主机的内存脏页进行压缩,生成第一内存压缩数据;所述第一参数表征需要进行加速热迁移;以及基于所述热迁移命令对应的目的宿主机地址,将所述压缩方式参数信息发送给所述云主机的目的宿主机;若接收到所述目的宿主机发送的第一准备就绪通知信息,则将所述第一内存压缩数据发送给所述目的宿主机,以使所述目的宿主机通过所述目的宿主机的第二硬件加速器解压缩所述第一内存压缩数据。2.根据权利要求1所述的方法,其特征在于,所述获取压缩方式参数信息,包括:接收云主机管理平台发送的包含所述压缩方式参数信息的热迁移配置文件;所述将所述压缩方式参数信息发送给所述云主机的目的宿主机,包括:将包含所述压缩方式参数信息的热迁移配置文件发送给所述云主机的目的宿主机。3.根据权利要求2所述的方法,其特征在于,所述热迁移配置文件还包括加速卡需求参数信息;所述通过所述源宿主机的第一硬件加速器对所述云主机的内存脏页进行压缩,之前还包括:基于所述加速卡需求参数信息,确定所述源宿主机的第一硬件加速器与所述加速卡需求参数信息匹配。4.根据权利要求1所述的方法,其特征在于,所述响应于接收到热迁移命令,获取压缩方式参数信息之后,还包括:若所述压缩方式参数信息为预设的第二参数,则通过所述源宿主机的cpu对所述云主机的内存脏页进行压缩,生成第二内存压缩数据;所述第二参数表征需要进行常规热迁移;以及基于所述目的宿主机地址,将所述压缩方式参数信息发送给所述云主机的目的宿主机;若接收到所述目的宿主机发送的第二准备就绪通知信息,则将所述第二内存压缩数据发送给所述目的宿主机,以使所述目的宿主机通过所述目的宿主机的cpu解压缩所述第二内存压缩数据。5.一种云主机的热迁移方法,应用于所述云主机的目的宿主机,其特征在于,包括:接收云主机的源宿主机发送的压缩方式参数信息;若所述压缩方式参数信息为预设的第一参数,则向所述源宿主机发送第一准备就绪通知信息;以及通过所述目的宿主机的第二硬件加速器,对接收到的第一内存压缩数据进行解压缩,以完成所述云主机的加速热迁移;所述第一参数表征需要进行加速热迁移。6.根据权利要求5所述的方法,其特征在于,所述接收云主机的源宿主机发送的压缩方式参数信息,包括:接收云主机的源宿主机发送的包含所述压缩方式参数信息的热迁移配置文件。7.根据权利要求6所述的方法,其特征在于,所述热迁移配置文件还包括加速卡需求参数信息;所述向所述源宿主机发送准备就绪通知信息,之前还包括:基于所述加速卡需求参数信息,确定所述目的宿主机的第二硬件加速器与所述加速卡需求参数信息匹配。
8.根据权利要求7所述的方法,其特征在于,所述接收云主机的源宿主机发送的压缩方式参数信息之后,还包括:若所述压缩方式参数信息为预设的第二参数,则向所述源宿主机发送第二准备就绪通知信息;以及通过所述目的宿主机的cpu,对接收到的第二内存压缩数据进行解压缩,以完成所述云主机的常规热迁移;所述第二参数表征需要进行常规热迁移。9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序;所述计算机程序被处理器执行时,实现权利要求1~4中任一项所述的方法或者权利要求5~8中任一项所述的方法。10.一种电子设备,其特征在于,包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,当所述计算机程序被所述处理器执行时,实现权利要求1~4中任一项所述的方法或者权利要求5~8中任一项所述的方法。
技术总结本申请提供一种云主机的热迁移方法、介质和电子设备,涉及云计算虚拟化技术领域。其中,在云主机的热迁移的过程,云主机的源宿主机响应于接收到热迁移命令,获取压缩方式参数信息;若压缩方式参数信息为预设的第一参数,则通过源宿主机的第一硬件加速器对云主机的内存脏页进行压缩,生成第一内存压缩数据;第一参数表征需要进行加速热迁移;以及基于热迁移命令对应的目的宿主机地址,将压缩方式参数信息发送给云主机的目的宿主机;若接收到目的宿主机发送的第一准备就绪通知信息,则将第一内存压缩数据发送给目的宿主机,以使目的宿主机通过目的宿主机的第二硬件加速器解压缩第一内存压缩数据。该方法,可以提升云主机的热迁移的效率。移的效率。移的效率。
技术研发人员:袁致远 张衡 李锋 王涛 王献东 湛松涛
受保护的技术使用者:天翼云科技有限公司
技术研发日:2022.07.18
技术公布日:2022/11/1