1.本技术涉及虚拟机技术领域,特别是涉及一种虚拟机创建方法、装置、计算机设备和存储介质。
背景技术:
2.numa(non uniform memory access architecture,非统一内存访问架构)是一种用于多处理器的设计,内存访问效率取决于处理器与内存的相对位置,通常,运行在基于numa架构物理机上的虚拟机,由于业务需求会将负载较高的numa节点上的虚拟机切换到负载较低的numa节点上。当迁移发生时,就会造成处理器与内存的访问跨numa节点,造成虚拟机的内存和处理器为不同的numa节点,访存性能大幅度下降。
技术实现要素:
3.基于此,有必要针对上述技术问题,提供一种能够提高运行在基于numa架构物理机上的虚拟机的访存性能的虚拟机创建方法、装置、计算机设备和存储介质。
4.一种虚拟机创建方法,所述方法包括:
5.根据虚拟机创建请求,获取待创建的虚拟机的节点拓扑信息和类型;
6.根据所述虚拟机的节点拓扑信息和宿主机集群中各宿主机的节点拓扑信息,确定目标宿主机;
7.控制所述目标宿主机根据所述虚拟机的类型、所述目标宿主机的类型和所述虚拟机的节点内存量,创建所述虚拟机;
8.若所述虚拟机的类型为存在numa配置的虚拟机、所述目标宿主机的类型为存在numa配置的宿主机,则将创建的所述虚拟机对应的处理器与所述目标宿主机的节点绑定。
9.在其中一个实施例中,所述控制所述目标宿主机根据所述虚拟机的类型、所述目标宿主机的类型和所述虚拟机的节点内存量,创建所述虚拟机,包括:
10.若所述虚拟机的类型为存在numa配置的虚拟机,则控制所述目标宿主机根据所述目标宿主机的类型创建所述虚拟机;
11.根据所述虚拟机的节点内存量为所述虚拟机分配节点内存。
12.在其中一个实施例中,所述控制所述目标宿主机根据所述目标宿主机的类型创建所述虚拟机,包括:
13.若所述目标宿主机的类型为存在numa配置的宿主机,则控制所述目标宿主机创建第一虚拟机;所述第一虚拟机与所述目标宿主机存在节点绑定关系、且具有numa配置;
14.若所述目标宿主机的类型为不存在numa配置的宿主机,则控制所述目标宿主机创建第二虚拟机;所述第二虚拟机与所述目标宿主机不存在节点绑定关系、且具有numa配置。
15.在其中一个实施例中,所述方法还包括:
16.若所述虚拟机的类型为不存在numa配置的虚拟机,则控制所述目标宿主机创建非numa配置的虚拟机;
17.根据所述虚拟机的节点内存量为创建的所述非numa配置的虚拟机分配节点内存。
18.在其中一个实施例中,所述将创建的所述虚拟机对应的处理器与所述目标宿主机的节点绑定,包括:
19.若根据所述虚拟机的节点拓扑信息确定所述虚拟机的处理器被所述目标宿主机的目标节点独占,则将所述虚拟机对应的处理器与所述目标节点绑定;所述目标节点为所述目标宿主机中创建所述虚拟机的节点;
20.若根据所述虚拟机的节点拓扑信息确定所述虚拟机的处理器未被所述目标节点独占,则将所述虚拟机对应的处理器与所述目标宿主机的多个节点绑定。
21.在其中一个实施例中,所述方法还包括:
22.根据所述目标宿主机的处理器的节点内存量确定所述虚拟机的节点内存量;其中,所述目标宿主机的处理器的节点内存量大于或等于所述虚拟机的节点内存量。
23.在其中一个实施例中,所述方法还包括:
24.获取所述目标宿主机的节点内存分配量,并记录所述目标宿主机的节点内存分配量。
25.在其中一个实施例中,所述根据所述虚拟机的节点拓扑信息和宿主机集群中各宿主机的节点拓扑信息,确定目标宿主机,包括:
26.根据各所述宿主机的节点个数满足所述虚拟机的节点个数、且节点可用量满足所述虚拟机的节点可用量的宿主机,确定所述目标宿主机。
27.在其中一个实施例中,所述根据各所述宿主机的节点个数满足所述虚拟机的节点个数、且节点可用量满足所述虚拟机的节点可用量的宿主机,确定所述目标宿主机,包括:
28.根据各所述宿主机的节点个数满足所述虚拟机的节点个数、且节点可用量满足所述虚拟机的节点可用量的宿主机,确定至少两个候选宿主机;
29.确定各所述候选宿主机的权重;
30.将权重最大的候选宿主机确定为所述目标宿主机。
31.一种虚拟机创建装置,所述装置包括:
32.获取模块,用于根据虚拟机创建请求,获取待创建的虚拟机的节点拓扑信息和类型;
33.第一确定模块,用于根据所述虚拟机的节点拓扑信息和宿主机集群中各宿主机的节点拓扑信息,确定目标宿主机;
34.第一创建模块,用于控制所述目标宿主机根据所述虚拟机的类型、所述目标宿主机的类型和所述虚拟机的节点内存量,创建所述虚拟机;
35.绑定模块,用于若所述虚拟机的类型为存在numa配置的虚拟机、所述目标宿主机的类型为存在numa配置的宿主机,则将创建的所述虚拟机对应的处理器与所述目标宿主机的节点绑定。
36.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
37.根据虚拟机创建请求,获取待创建的虚拟机的节点拓扑信息和类型;
38.根据所述虚拟机的节点拓扑信息和宿主机集群中各宿主机的节点拓扑信息,确定目标宿主机;
39.控制所述目标宿主机根据所述虚拟机的类型、所述目标宿主机的类型和所述虚拟机的节点内存量,创建所述虚拟机;
40.若所述虚拟机的类型为存在numa配置的虚拟机、所述目标宿主机的类型为存在numa配置的宿主机,则将创建的所述虚拟机对应的处理器与所述目标宿主机的节点绑定。
41.一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
42.根据虚拟机创建请求,获取待创建的虚拟机的节点拓扑信息和类型;
43.根据所述虚拟机的节点拓扑信息和宿主机集群中各宿主机的节点拓扑信息,确定目标宿主机;
44.控制所述目标宿主机根据所述虚拟机的类型、所述目标宿主机的类型和所述虚拟机的节点内存量,创建所述虚拟机;
45.若所述虚拟机的类型为存在numa配置的虚拟机、所述目标宿主机的类型为存在numa配置的宿主机,则将创建的所述虚拟机对应的处理器与所述目标宿主机的节点绑定。
46.上述虚拟机创建方法、装置、计算机设备和存储介质,根据虚拟机创建请求,获取待创建的虚拟机的节点拓扑信息和类型,根据虚拟机的节点拓扑信息和宿主机集群中各宿主机的节点拓扑信息,确定目标宿主机,控制目标宿主机根据虚拟机的类型、目标宿主机的类型和虚拟机的节点内存量,创建虚拟机,若虚拟机的类型为存在numa配置的虚拟机、目标宿主机的类型为存在numa配置的宿主机,则将创建的虚拟机对应的处理器与目标宿主机的节点绑定。由于根据虚拟机的创建请求,能够准确地获取待创建的虚拟机的类型,从而可以控制目标宿主机根据虚拟机的类型、确定的目标宿主机的类型和虚拟机的节点内存量,创建待创建的虚拟机,并在创建的虚拟机的类型为存在numa配置的虚拟机、目标宿主机的类型为存在numa配置的宿主机的情况下,将创建的虚拟机对应的处理器与目标宿主机的节点绑定,这样避免了虚拟机在运行时出现虚拟机的内存和处理器为不同的numa节点,访存性能下降的问题。
附图说明
47.图1为一个实施例中虚拟机创建方法的应用环境图;
48.图2为一个实施例中虚拟机创建方法的流程示意图;
49.图3为一个实施例中虚拟机创建方法的流程示意图;
50.图4为一个实施例中虚拟机创建方法的流程示意图;
51.图5为一个实施例中虚拟机创建装置的结构框图;
52.图6为一个实施例中计算机设备的内部结构图。
具体实施方式
53.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
54.本技术提供的虚拟机创建方法,可以应用于如图1所示的应用环境中。其中,虚拟机管理服务器102通过网络与宿主机104进行通信。其中,虚拟机管理服务器102也可以称为
控制机,可以用独立的服务器或者是多个服务器组成的服务器集群来实现,宿主机104可以是单个的宿主机,也可以是由多个宿主机组成的集群,宿主机104可以但不限于是各种个人计算机、笔记本电脑和平板电脑,虚拟机管理服务器102可以通过网络控制宿主机104创建虚拟机,并对创建的虚拟机进行管理。
55.在一个实施例中,如图2所示,提供了一种虚拟机创建方法,以该方法应用于图1中的虚拟机管理服务器为例进行说明,包括以下步骤:
56.s201,根据虚拟机创建请求,获取待创建的虚拟机的节点拓扑信息和类型。
57.具体地,虚拟机管理服务器根据虚拟机创建请求,获取待创建的虚拟机的节点拓扑信息和类型。可选的,用户可以将虚拟机创建请求预先存储在预设的数据库中,虚拟机管理服务器可以从该数据库中获取虚拟机创建请求,对获取的虚拟机创建请求进行解析,得到待创建的虚拟机的节点拓扑信息和类型。可选的,待创建的虚拟机的节点拓扑信息可以包括待创建的虚拟机的节点个数、待创建的虚拟机的节点可用量等信息。可选的,待创建的虚拟机的类型可以为存在numa配置的虚拟机,也可以为非numa配置的虚拟机。
58.s202,根据虚拟机的节点拓扑信息和宿主机集群中各宿主机的节点拓扑信息,确定目标宿主机。
59.具体地,虚拟机管理服务器根据上述得到的虚拟机的节点拓扑信息和宿主机集群中各宿主机的节点拓扑信息,从宿主机集群中确定出创建上述虚拟机的目标宿主机。可选的,虚拟机管理服务器可以将宿主机集群中各宿主机的节点拓扑信息满足虚拟机的节点拓扑信息的宿主机,确定为创建上述虚拟机的目标宿主机。这里需要说明的是,宿主机集群中各宿主机会实时地向虚拟机管理服务器上报自身的节点拓扑信息,以使虚拟机管理服务器得到宿主机集群中各宿主机的节点拓扑信息。
60.s203,控制目标宿主机根据虚拟机的类型、目标宿主机的类型和虚拟机的节点内存量,创建虚拟机。
61.具体地,虚拟机管理服务器控制确定出的目标宿主机根据虚拟机的类型、目标宿主机的类型和虚拟机的节点内存量,创建上述虚拟机。可选的,若虚拟机的类型为非numa配置的虚拟机,则虚拟机管理服务器可以控制目标宿主机根据虚拟机的节点内存量,创建非numa配置的虚拟机;若虚拟机的类型为具有numa配置的虚拟机,则虚拟机管理服务器可以根据目标宿主机的类型和虚拟机的节点内存量,创建存在numa配置的虚拟机。
62.s204,若虚拟机的类型为存在numa配置的虚拟机、目标宿主机的类型为存在numa配置的宿主机,则将创建的虚拟机对应的处理器与目标宿主机的节点绑定。
63.具体地,若创建的虚拟机的类型为存在numa配置的虚拟机、目标宿主机的类型为存在numa配置的宿主机,则虚拟机管理服务器将创建的虚拟机对应的处理器与目标宿主机的节点绑定。可选的,虚拟机管理服务器可以将创建的虚拟机对应的处理器与目标宿主机的一个节点绑定,也可以将创建的虚拟机对应的处理器与目标宿主机的多个节点绑定,本实施例在此不加限制。
64.上述虚拟机创建方法中,由于虚拟机管理服务器根据虚拟机的创建请求,能够准确地获取待创建的虚拟机的类型,从而可以控制目标宿主机根据虚拟机的类型、确定的目标宿主机的类型和虚拟机的节点内存量,创建待创建的虚拟机,并在创建的虚拟机的类型为存在numa配置的虚拟机、目标宿主机的类型为存在numa配置的宿主机的情况下,将创建
的虚拟机对应的处理器与目标宿主机的节点绑定,这样避免了虚拟机在运行时出现虚拟机的内存和处理器为不同的numa节点,访存性能下降的问题。
65.在上述虚拟机管理服务器控制目标宿主机根据虚拟机的类型、目标宿主机的类型和虚拟机的节点内存量,创建虚拟机的场景中,在一个实施例中,如图3所示,上述s203,包括:
66.s301,若虚拟机的类型为存在numa配置的虚拟机,则控制目标宿主机根据目标宿主机的类型创建虚拟机。
67.具体地,若上述待创建的虚拟机的类型为存在numa配置的虚拟机,则虚拟机管理服务器控制目标宿主机根据目标宿主机的类型创建上述虚拟机。可选的,若目标宿主机的类型为存在numa配置的宿主机,则虚拟机管理服务器控制目标宿主机创建第一虚拟机,其中,第一虚拟机与目标宿主机存在节点绑定关系、且具有numa配置。可选的,若目标宿主机的类型为不存在numa配置的宿主机,则虚拟机管理服务器控制目标宿主机创建第二虚拟机,其中,第二虚拟机与目标宿主机不存在节点绑定关系、且具有numa配置。
68.s302,根据虚拟机的节点内存量为虚拟机分配节点内存。
69.具体地,虚拟机管理服务器在控制目标宿主机创建虚拟机之后,根据虚拟机的节点内存量为创建的虚拟机分配节点内存。可以理解的是,虚拟机管理服务器分配给虚拟机的节点内存为目标宿主机的节点内存,且分配给虚拟机的节点内存小于或等于目标宿主机的节点内存。可选的,虚拟机的节点内存量可以是根据上述虚拟机创建请求确定的,也可以是根据目标宿主机的节点内存量确定的。
70.本实施例中,若虚拟机的类型为存在numa配置的虚拟机,则虚拟机管理服务器可以控制目标宿主机根据目标宿主机的类型创建待创建的虚拟机,这样创建的虚拟机为考虑了目标宿主机的类型的虚拟机,能够结合目标宿主机的类型准确地创建出虚拟机,进一步地,在创建出虚拟机后虚拟机管理服务器根据虚拟机的节点内存量为虚拟机分配节点内存,能够保证分配给虚拟机的节点内存的高度可用,最大化地减少虚拟机的跨节点访存的发生,进而确保虚拟的访存性能。
71.在上述虚拟机管理服务器控制目标宿主机根据虚拟机的类型、目标宿主机的类型和虚拟机的节点内存量,创建虚拟机的场景中,虚拟机的类型还可以为不存在numa配置的虚拟机,在一个实施例中,如图4所示,上述方法还包括:
72.s401,若虚拟机的类型为不存在numa配置的虚拟机,则控制目标宿主机创建非numa配置的虚拟机。
73.具体地,若上述虚拟机的类型为不存在numa配置的虚拟机,则虚拟机管理服务器控制目标宿主机创建非numa配置的虚拟机,也就是说,目标宿主机创建的虚拟机无法用于多处理器的内存设计。可选的,虚拟机管理服务器可以向目标宿主机下发控制指令控制目标宿主机创建非numa配置的虚拟机。
74.s402,根据虚拟机的节点内存量为创建的非numa配置的虚拟机分配节点内存。
75.具体地,虚拟机管理服务器控制目标宿主机创建非numa配置的虚拟机之后,根据虚拟机的节点内存量为上述创建的非numa配置的虚拟机分配节点内存。可以理解的是,虚拟机管理服务器分配给创建的非numa配置的虚拟机的节点内存为目标宿主机的节点内存,且分配给创建的非numa配置的虚拟机的节点内存小于或等于目标宿主机的节点内存。可选
的,虚拟机的节点内存量可以是根据上述虚拟机创建请求确定的,也可以是根据目标宿主机的节点内存量确定的。
76.本实施例中,若虚拟机的类型为不存在numa配置的虚拟机,虚拟机管理服务器可以控制目标宿主机根据虚拟机的类型创建非numa配置的虚拟机,这样创建的虚拟机为满足创建请求的虚拟机,进而可以根据虚拟机的节点内存量为创建的非numa配置的虚拟机分配节点内存,保证分配给虚拟机的节点内存的高度可用,最大化地减少虚拟机的跨节点访存的发生,进而确保虚拟的访存性能。
77.在上述若虚拟机的类型为存在numa配置的虚拟机、目标宿主机的类型为存在numa配置的宿主机,虚拟机管理服务器将创建的虚拟机对应的处理器与目标宿主机的节点绑定的场景中,在一个实施例中,上述s204,包括:
78.步骤a,若根据虚拟机的节点拓扑信息确定虚拟机的处理器被目标宿主机的目标节点独占,则将虚拟机对应的处理器与目标节点绑定;目标节点为目标宿主机中创建虚拟机的节点。
79.具体地,虚拟机的节点拓扑信息中包括虚拟机的处理器是否被目标宿主机的目标节点独占的信息,其中,目标节点为目标宿主机中创建虚拟机的节点,若虚拟机管理服务器根据虚拟机的节点拓扑信息确定虚拟机的处理器被目标宿主机的目标节点独占,则虚拟机管理服务器将虚拟机对应的处理器与上述目标节点绑定,即上述目标节点只绑定给虚拟机对应的处理器进行调度。
80.步骤b,若根据虚拟机的节点拓扑信息确定虚拟机的处理器未被目标节点独占,则将虚拟机对应的处理器与目标宿主机的多个节点绑定。
81.具体地,若虚拟机管理服务器根据虚拟机的节点拓扑信息确定虚拟机的处理器未被上述目标节点独占,则将虚拟机对应的处理器与目标宿主机的多个节点绑定,即虚拟机对应的处理器可以调度绑定的目标宿主机的多个节点。
82.本实施例中,虚拟机管理服务器根据虚拟机的节点拓扑信息能够确定出虚拟机的处理器是否被目标宿主机中创建虚拟机的目标节点独占,这样虚拟机管理服务器可以在确定虚拟机的处理器被目标节点独占的情况下,将虚拟机对应的处理器与目标宿主机中创建虚拟机的节点绑定,在确定虚拟机的处理器未被目标节点独占的情况下,将虚拟机对应的处理器与目标宿主机的多个节点绑定,从而确保了虚拟机对应的处理器调度目标宿主机的节点的准确度,从而最大化地减少虚拟机的跨节点访存的发生,进而确保虚拟的访存性能。
83.在上述虚拟机管理服务器控制目标宿主机根据虚拟机的类型、目标宿主机的类型和虚拟机的节点内存量,创建虚拟机的场景中,需要首先确定出虚拟机的节点内存量,在一个实施例中,上述方法还包括:根据目标宿主机的处理器的节点内存量确定虚拟机的节点内存量;其中,目标宿主机的处理器的节点内存量大于或等于虚拟机的节点内存量。
84.具体地,虚拟机管理服务器根据目标宿主机的处理器的节点内存量确定虚拟机的节点内存量;其中,目标宿主机的处理器的节点内存量大于或等于虚拟机的节点内存量。示例性地,如目标宿主机的处理器的节点内存量可以为64g,则确定的虚拟机的节点内存量可以为40g,或者为其他内存量,只要小于64g即可,本实施例在此不做限制。
85.本实施例中,虚拟机管理服务器根据目标宿主机的处理器的节点内存量能够确定出虚拟机的节点内存量,其中,目标宿主机的处理器的节点内存量大于或等于虚拟机的节
点内存量,这样能够最大化地减少虚拟机跨节点访存的发生,又保证了分配给虚拟机的节点内存的高度可用。
86.在一些场景中,虚拟机管理服务器还需要记录目标宿主机的节点内存分配量,在有新的待创建的虚拟机的情况下,直接根据记录的目标宿主机的节点内存分配量确定新的待创建的虚拟机的内存分配量,在一个实施例中,上述方法还包括:获取目标宿主机的节点内存分配量,并记录目标宿主机的节点内存分配量。
87.具体地,虚拟机管理服务器获取目标宿主机的节点内存分配量,并记录目标宿主机的节点内存分配量。可选的,目标宿主机可以实时向虚拟机管理服务器上报自身的节点内存分配量,虚拟机管理服务器对目标宿主机上报的节点内存分配量进行记录。可选的,虚拟机管理服务器也可以向目标宿主机下发获取指令,获取目标宿主机的节点内存分配量,并记录目标宿主机上报的节点内存分配量。
88.在本实施例中,虚拟机管理服务器通过获取目标宿主机的节点内存分配量,并记录目标宿主机的节点内存分配量,能够使虚拟机管理服务器及时地获取目标宿主机的节点内存分配量,便于虚拟机管理服务器在创建新的虚拟机时能够根据目标宿主机的节点内存分配量及时地确定出虚拟机的节点内存量。
89.在上述虚拟机管理服务器根据虚拟机的节点拓扑信息和宿主机集群中各宿主机的节点拓扑信息,确定目标宿主机的场景中,在一个实施例中,上述s202,包括:根据各宿主机的节点个数满足虚拟机的节点个数、且节点可用量满足虚拟机的节点可用量的宿主机,确定目标宿主机。
90.具体地,虚拟机管理服务器根据宿主机集群中各宿主机的节点个数满足虚拟机的节点个数、且节点可用量满足虚拟机的节点可用量的宿主机,确定目标宿主机。可选的,若宿主机集群中各宿主机的节点个数满足虚拟机的节点个数、且节点可用量满足虚拟机的节点可用量的宿主机只有一个,则虚拟机管理服务器将该宿主机确定为上述目标宿主机。可选的,若宿主机集群中各宿主机的节点个数满足虚拟机的节点个数、且节点可用量满足虚拟机的节点可用量的宿主机为多个,则虚拟机管理服务器可以通过如下方法步骤确定上述目标宿主机:s1,根据各宿主机的节点个数满足虚拟机的节点个数、且节点可用量满足虚拟机的节点可用量的宿主机,确定至少两个候选宿主机;s2,确定各候选宿主机的权重;s3,将权重最大的候选宿主机确定为上述目标宿主机。也就是说,在宿主机集群中各宿主机的节点个数满足虚拟机的节点个数、且节点可用量满足虚拟机的节点可用量的宿主机为多个的情况下,可以确定这多个宿主机的权重,将权重最大的宿主机确定为上述目标宿主机。
91.在本实施例中,虚拟机管理服务器根据各宿主机的节点个数满足虚拟机的节点个数、且节点可用量满足虚拟机的节点可用量的宿主机,能够准确地确定出目标宿主机,避免了多个虚拟机对应的处理器重复绑定到宿主机的同一节点上的情况,确保了确定的目标宿主机为满足虚拟机的节点拓扑信息的宿主机。
92.应该理解的是,虽然图2
‑
4的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2
‑
4中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而
是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
93.在一个实施例中,如图5所示,提供了一种虚拟机创建装置,包括:获取模块、第一确定模块、第一创建模块和绑定模块,其中:
94.获取模块,用于根据虚拟机创建请求,获取待创建的虚拟机的节点拓扑信息和类型。
95.第一确定模块,用于根据虚拟机的节点拓扑信息和宿主机集群中各宿主机的节点拓扑信息,确定目标宿主机。
96.第一创建模块,用于控制目标宿主机根据虚拟机的类型、目标宿主机的类型和虚拟机的节点内存量,创建虚拟机。
97.绑定模块,用于若虚拟机的类型为存在numa配置的虚拟机、目标宿主机的类型为存在numa配置的宿主机,则将创建的虚拟机对应的处理器与目标宿主机的节点绑定。
98.本实施例提供的虚拟机创建装置,可以执行上述方法实施例,其实现原理和技术效果类似,在此不再赘述。
99.在上述实施例的基础上,可选的,上述第一创建模块,包括:创建单元和分配单元,其中:
100.创建单元,用于若虚拟机的类型为存在numa配置的虚拟机,则控制目标宿主机根据目标宿主机的类型创建虚拟机。
101.分配单元,用于根据虚拟机的节点内存量为虚拟机分配节点内存。
102.本实施例提供的虚拟机创建装置,可以执行上述方法实施例,其实现原理和技术效果类似,在此不再赘述。
103.在上述实施例的基础上,可选的,上述创建单元,具体用于若目标宿主机的类型为存在numa配置的宿主机,则控制目标宿主机创建第一虚拟机;第一虚拟机与目标宿主机存在节点绑定关系、且具有numa配置;若目标宿主机的类型为不存在numa配置的宿主机,则控制目标宿主机创建第二虚拟机;第二虚拟机与目标宿主机不存在节点绑定关系、且具有numa配置。
104.本实施例提供的虚拟机创建装置,可以执行上述方法实施例,其实现原理和技术效果类似,在此不再赘述。
105.在上述实施例的基础上,可选的,上述装置还包括:第二创建模块和分配模块,其中:
106.第二创建模块,用于若虚拟机的类型为不存在numa配置的虚拟机,则控制目标宿主机创建非numa配置的虚拟机。
107.分配模块,用于根据虚拟机的节点内存量为创建的非numa配置的虚拟机分配节点内存。
108.本实施例提供的虚拟机创建装置,可以执行上述方法实施例,其实现原理和技术效果类似,在此不再赘述。
109.在上述实施例的基础上,可选的,上述绑定模块,包括:第一绑定单元和第二绑定单元,其中:
110.第一绑定单元,用于若根据虚拟机的节点拓扑信息确定虚拟机的处理器被目标宿主机的目标节点独占,则将虚拟机对应的处理器与目标节点绑定;目标节点为目标宿主机
中创建虚拟机的节点。
111.第二绑定单元,用于若根据虚拟机的节点拓扑信息确定虚拟机的处理器未被目标节点独占,则将虚拟机对应的处理器与目标宿主机的多个节点绑定。
112.本实施例提供的虚拟机创建装置,可以执行上述方法实施例,其实现原理和技术效果类似,在此不再赘述。
113.在上述实施例的基础上,可选的,上述装置还包括:第二确定模块,其中:
114.第二确定模块,用于根据目标宿主机的处理器的节点内存量确定虚拟机的节点内存量;其中,目标宿主机的处理器的节点内存量大于或等于虚拟机的节点内存量。
115.本实施例提供的虚拟机创建装置,可以执行上述方法实施例,其实现原理和技术效果类似,在此不再赘述。
116.在上述实施例的基础上,可选的,上述装置还包括:记录模块,其中:
117.记录模块,用于获取目标宿主机的节点内存分配量,并记录目标宿主机的节点内存分配量。
118.本实施例提供的虚拟机创建装置,可以执行上述方法实施例,其实现原理和技术效果类似,在此不再赘述。
119.在上述实施例的基础上,可选的,上述第一确定模块,包括:确定单元,其中:
120.确定单元,用于根据各宿主机的节点个数满足虚拟机的节点个数、且节点可用量满足虚拟机的节点可用量的宿主机,确定目标宿主机。
121.本实施例提供的虚拟机创建装置,可以执行上述方法实施例,其实现原理和技术效果类似,在此不再赘述。
122.在上述实施例的基础上,可选的,上述确定单元,具体用于根据各宿主机的节点个数满足虚拟机的节点个数、且节点可用量满足虚拟机的节点可用量的宿主机,确定至少两个候选宿主机;确定各候选宿主机的权重;将权重最大的候选宿主机确定为目标宿主机。
123.本实施例提供的虚拟机创建装置,可以执行上述方法实施例,其实现原理和技术效果类似,在此不再赘述。
124.关于虚拟机创建装置的具体限定可以参见上文中对于虚拟机创建方法的限定,在此不再赘述。上述虚拟机创建装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
125.在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图6所示。该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过wifi、运营商网络、nfc(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种虚拟机创建方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
126.本领域技术人员可以理解,图6中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
127.在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
128.根据虚拟机创建请求,获取待创建的虚拟机的节点拓扑信息和类型;
129.根据虚拟机的节点拓扑信息和宿主机集群中各宿主机的节点拓扑信息,确定目标宿主机;
130.控制目标宿主机根据虚拟机的类型、目标宿主机的类型和虚拟机的节点内存量,创建虚拟机;
131.若虚拟机的类型为存在numa配置的虚拟机、目标宿主机的类型为存在numa配置的宿主机,则将创建的虚拟机对应的处理器与目标宿主机的节点绑定。
132.上述实施例提供的计算机设备,其实现原理和技术效果与上述方法实施例类似,在此不再赘述。
133.在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
134.根据虚拟机创建请求,获取待创建的虚拟机的节点拓扑信息和类型;
135.根据虚拟机的节点拓扑信息和宿主机集群中各宿主机的节点拓扑信息,确定目标宿主机;
136.控制目标宿主机根据虚拟机的类型、目标宿主机的类型和虚拟机的节点内存量,创建虚拟机;
137.若虚拟机的类型为存在numa配置的虚拟机、目标宿主机的类型为存在numa配置的宿主机,则将创建的虚拟机对应的处理器与目标宿主机的节点绑定。
138.上述实施例提供的计算机可读存储介质,其实现原理和技术效果与上述方法实施例类似,在此不再赘述。
139.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(read
‑
only memory,rom)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(random access memory,ram)或外部高速缓冲存储器。作为说明而非局限,ram可以是多种形式,比如静态随机存取存储器(static random access memory,sram)或动态随机存取存储器(dynamic random access memory,dram)等。
140.以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
141.以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来
说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术专利的保护范围应以所附权利要求为准。
转载请注明原文地址:https://doc.8miu.com/read-1719391.html