CN113010263A - 云平台中的虚拟机的创建方法、系统、设备及存储介质 - Google Patents
云平台中的虚拟机的创建方法、系统、设备及存储介质 Download PDFInfo
- Publication number
- CN113010263A CN113010263A CN202110217660.5A CN202110217660A CN113010263A CN 113010263 A CN113010263 A CN 113010263A CN 202110217660 A CN202110217660 A CN 202110217660A CN 113010263 A CN113010263 A CN 113010263A
- Authority
- CN
- China
- Prior art keywords
- virtual machine
- creating
- node
- cpu
- cloud platform
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 38
- 238000001914 filtration Methods 0.000 claims abstract description 34
- 238000004590 computer program Methods 0.000 claims description 9
- 230000001133 acceleration Effects 0.000 description 3
- 230000009471 action Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000012423 maintenance Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 239000004020 conductor Substances 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45562—Creating, deleting, cloning virtual machine instances
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45595—Network integration; Enabling network access in virtual machine instances
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本申请公开了一种云平台中的虚拟机的创建方法,包括:接收携带CPU模式和CPU指令模型的虚拟机创建请求;当CPU模式为指定的目标模式时,查询CPU指令模型所包含的全部的指令集;针对任意一个节点,当查询出的全部的指令集中的任意一个指令集不被该节点支持时,将该节点进行过滤;从经过了过滤之后得到的各个节点中,选取出一个目标节点,并基于目标节点创建虚拟机。应用本申请的方案,有效地避免了创建虚拟机失败的事件发生,保障了本申请方案的可靠性。本申请还提供了一种云平台中的虚拟机的创建系统、设备及存储介质,具有相应技术效果。
Description
技术领域
本发明涉及计算机技术领域,特别是涉及一种云平台中的虚拟机的创建方法、系统、设备及存储介质。
背景技术
用户在使用云平台产品的时候,往往会创建一些特定需求的虚拟机,例如需要支持图像渲染、音视频编解码运算、深度学习、加解密运算等场景,就需要创建出的虚拟机CPU支持特定场景的计算加速,而这些特定场景的计算加速往往依赖于CPU提供的特定指令集来实现,即,通过指定特定的cpu_model来实现对特殊场景计算加速的需求。cpu_model,可以称为CPU模型或者CPU指令模型,定义为CPU指令集的一种集合,一个cpu_model对应一个指令集的集合,代表了虚拟机CPU支持的特性集,通常具体为libvirt中定义的CPU指令集的一种集合。
云平台中,例如常用的是基于OpenStack的云平台,提供了指定虚拟机的cpu_model的功能,但这需要通过修改配置文件来实现,即先通过配置文件配置cpu_mode,然后配置cpu_models配置项可以指定计算节点支持的cpu_model类型,这显然不够灵活。经过扩展,目前可以实现在创建虚拟机时指定cpu_model而不依赖配置文件,但是,这样的方案很容易导致虚拟机调度到不支持指定的cpu_model的计算节点主机上,也就是说,创建指定的cpu_model虚拟机,会因为目标计算节点的CPU架构不支持而导致创建失败,而为了避免创建虚拟机失败,只能要求运维人员和用户熟悉云平台各个计算节点CPU架构情况,指定符合要求的节点创建虚拟机,但是随着平台集群规模的增长,这样的方式对于运维人员和用户的要求也就越来越高,创建虚拟机失败的情况发生地就更频繁。
综上所述,如何创建出具有特定需求的虚拟机,降低创建失败的概率,是目前本领域技术人员急需解决的技术问题。
发明内容
本发明的目的是提供一种云平台中的虚拟机的创建方法、系统、设备及存储介质,以创建出具有特定需求的虚拟机,降低创建失败的概率。
为解决上述技术问题,本发明提供如下技术方案:
一种云平台中的虚拟机的创建方法,包括:
接收携带CPU模式和CPU指令模型的虚拟机创建请求;
当所述CPU模式为指定的目标模式时,查询所述CPU指令模型所包含的全部的指令集;
针对任意一个节点,当查询出的全部的指令集中的任意一个指令集不被该节点支持时,将该节点进行过滤;
从经过了过滤之后得到的各个节点中,选取出一个目标节点,并基于所述目标节点创建虚拟机。
优选的,还包括:
预先将管理服务的当前版本所支持的各个CPU指令模型存储在数据库中;
在查询所述CPU指令模型所包含的全部的指令集之前,判断所述虚拟机创建请求中携带的所述CPU指令模型是否在所述数据库中;
如果是,则执行所述查询所述CPU指令模型所包含的全部的指令集的操作;
如果否,则停止进行虚拟机的创建。
优选的,在停止进行虚拟机的创建之后,还包括:
输出虚拟机创建失败,且各个节点均不满足创建需求的提示信息。
优选的,所述管理服务为libvirt管理服务,所述云平台为基于OpenStack的云平台。
优选的,所述目标模式为custom模式。
优选的,所述从经过了过滤之后得到的各个节点中,选取出一个目标节点,并基于所述目标节点创建虚拟机,包括:
基于节点的资源状态,将经过了过滤之后得到的各个节点进行优先级排序,并将优先级最高的节点作为选取出的目标节点,并基于所述目标节点创建虚拟机。
一种云平台中的虚拟机的创建系统,包括:
请求接收模块,用于接收携带CPU模式和CPU指令模型的虚拟机创建请求;
查询模块,用于当所述CPU模式为指定的目标模式时,查询所述CPU指令模型所包含的全部的指令集;
过滤模块,用于针对任意一个节点,当查询出的全部的指令集中的任意一个指令集不被该节点支持时,将该节点进行过滤;
创建模块,用于从经过了过滤之后得到的各个节点中,选取出一个目标节点,并基于所述目标节点创建虚拟机。
优选的,所述创建模块,具体用于:
基于节点的资源状态,将经过了过滤之后得到的各个节点进行优先级排序,并将优先级最高的节点作为选取出的目标节点,并基于所述目标节点创建虚拟机。
一种云平台中的虚拟机的创建设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序以实现上述任一项所述的云平台中的虚拟机的创建方法的步骤。
一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的云平台中的虚拟机的创建方法的步骤。
应用本发明实施例所提供的技术方案,虚拟机创建请求中携带CPU模式和CPU指令模型,可以反映出创建需求,而本申请在确定出虚拟机创建请求中携带的CPU模式为指定的目标模式时,会查询CPU指令模型所包含的全部的指令集,然后进行节点的过滤。即,针对任意一个节点,当查询出的全部的指令集中的任意一个指令集不被该节点支持时,将该节点进行过滤,也就是说,经过了过滤之后得到的各个节点,都是能够支持虚拟机创建请求中携带的CPU指令模型的节点,从而避免因为节点不支持而导致虚拟机创建失败的情况发生。从经过了过滤之后得到的各个节点中,可以选取出一个目标节点,并基于目标节点创建虚拟机。综上所述,本申请可以创建出具有特定需求的虚拟机,并且不会出现如传统方案中选取出不支持的节点的情况,即有效地避免了创建虚拟机失败的事件发生,保障了本申请方案的可靠性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明中一种云平台中的虚拟机的创建方法的实施流程图;
图2为本发明中一种云平台中的虚拟机的创建系统的结构示意图;
图3为本发明中一种云平台中的虚拟机的创建设备的结构示意图。
具体实施方式
本发明的核心是提供一种云平台中的虚拟机的创建方法,有效地避免了创建虚拟机失败的事件发生,保障了本申请方案的可靠性。
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参考图1,图1为本发明中一种云平台中的虚拟机的创建方法的实施流程图,该云平台中的虚拟机的创建方法可以包括以下步骤:
步骤S101:接收携带CPU模式和CPU指令模型的虚拟机创建请求。
具体的,CPU模式指的是cpu_mode,表示的是管理服务所规定的虚拟机CPU指令集和宿主机CPU指令集之间的映射关系,例如一种具体场合中选用的是OpenStack云平台时,cpu_mode具体为libvirt所规定的虚拟机CPU指令集和宿主机CPU指令集之间的映射关系,cpu_mode的值则可以具体为host-passthrough、host-model和custom。
CPU指令模型指的是cpu_model,定义为CPU指令集的一种集合,一个cpu_model对应一个指令集的集合,代表了虚拟机CPU支持的特性集,例如一种具体场合中选用的是OpenStack云平台时,cpu_model是libvirt中定义的CPU指令集的一种集合。
用户发送的虚拟机创建请求中,需要携带cpu_mode和cpu_model,通常,可以由novi_api服务进行虚拟机创建请求的接收,并且需要说明的是,由于本申请的方案中虚拟机创建请求中携带了cpu_mode和cpu_model,因此可以对原有的novi_api服务进行扩展,使得novi_api服务能够支持接收携带了cpu_mode和cpu_model的虚拟机创建请求,并且能够将cpu_mode和cpu_model传递至后续的服务中,即能够保障本申请方案流程的实施。
步骤S102:当CPU模式为指定的目标模式时,查询CPU指令模型所包含的全部的指令集。
只有当CPU模式为指定的目标模式时,才允许按照CPU指令模型创建虚拟机,例如一种具体场合中,目标模式为custom模式,假设cpu_mode的值具体为host-passthrough,则该种情况下,虚拟机CPU指令集会直接采用宿主机CPU指令集,不符合本申请的用户需求,而假设cpu_mode的值具体为custom,则允许创建的虚拟机的指令集由cpu_model决定。
通常,可以从数据库中查询出CPU指令模型所包含的全部的指令集,即数据库中应当存储有每一种CPU指令模型各自所包含的全部的指令集。
在本发明的一种具体实施方式中,还可以包括:
预先将管理服务的当前版本所支持的各个CPU指令模型存储在数据库中;
在查询CPU指令模型所包含的全部的指令集之前,判断虚拟机创建请求中携带的CPU指令模型是否在数据库中;
如果是,则执行查询CPU指令模型所包含的全部的指令集的操作;
如果否,则停止进行虚拟机的创建。
该种实施方式中,需要预先将管理服务的当前版本所支持的各个CPU指令模型存储在数据库中,管理服务用于进行云平台管理,例如一种具体场合中,管理服务选用的是libvirt管理服务,libvirt管理服务具体为用于管理云平台的开源API,后台程序以及工具的集合。
针对管理服务的当前版本所支持的任意一个CPU指令模型,会列出该CPU指令模型所对应的指令集的集合,并存储在数据库中。例如A—1-2-3,表示CPU指令模型为A,对应的指令集有指令集1,指令集2以及指令集3,又如C—5-6-2-3,表示CPU指令模型为C,对应的指令集有指令集5,指令集6,指令集2以及指令集3。
例如,虚拟机创建请求中携带的CPU指令模型为X,并不在数据库中,这可能是因为虚拟机创建请求中携带的CPU指令模型是错误,也可能是数据库中存储的管理服务的当前版本较低导致的,使得数据库中尚未收录有CPU指令模型X所对应的指令集的集合。
如果虚拟机创建请求中携带的CPU指令模型不在数据库中,此时任意节点均无法创建符合用户需求的虚拟机,即均会创建失败,因此,本申请此时便会直接停止进行虚拟机的创建。
进一步的,在本发明的一种具体实施方式中,还可以包括:
输出虚拟机创建失败,且各个节点均不满足创建需求的提示信息,从而使得用户得知创建失败的原因是各个节点均不满足创建需求,不会产生不知道失败原因的困扰。
而例如,虚拟机创建请求中携带的CPU指令模型为A,在数据库中,可以查询出CPU指令模型所包含的全部的指令集,例如前述例子中,通过数据库,可以查询出CPU指令模型A所包含的全部的指令集具体为指令集1,指令集2以及指令集3,便可以执行后续的步骤S103。
在实际应用中,当需要预先将管理服务的当前版本所支持的各个CPU指令模型存储在数据库中时,通常可以基于OpenStack中的placement_api服务以及nova_conductor服务实现,具体的,可以将传统的placement_api服务进行扩展,使其支持各个节点上报libvirt的当前版本所支持的各个CPU指令模型,当然,云平台中各个节点通常会采用统一的libvirt版本,即任意一个节点均可以上报libvirt的当前版本所支持的各个CPU指令模型,且与其他节点上报的是一样的。然后,可以对传统的nova_conductor服务进行扩展,从而使其支持将计算节点上报给placement_api服务的当前版本libvirt支持的各个CPU指令模型写入数据库中。
此外,在判断虚拟机创建请求中携带的CPU指令模型是否在数据库中时,在实际应用中,可以由过滤器,placement_api服务,nova_scheduler服务以及nova_compute服务实现,具体的,可以对传统的nova_compute服务进行扩展,从而使得在执行本申请的方案时,nova_compute服务可以调用libvirt接口,将数据库中的管理服务的当前版本所支持的各个CPU指令模型,以及每一个CPU指令模型所对应的指令集集合进行上报。而对传统的placement_api服务进行扩展之后,使得nova_scheduler能够通过HTTP请求获取到nova_compute服务上报的当前版本所支持的各个CPU指令模型以及每一个CPU指令模型所对应的指令集集合。之后,可以通过进行了扩展的nova_compute服务,将获取到的当前版本所支持的各个CPU指令模型以及每一个CPU指令模型所对应的指令集集合存储到全局变量cpu_models_info中。最后,由过滤器从全局变量cpu_models_info中查询虚拟机创建请求中携带的CPU指令模型,如果无法查询出结果,便可以确定虚拟机创建请求中携带的CPU指令模型不在数据库中,反之,则说明虚拟机创建请求中携带的CPU指令模型在数据库中,通过全局变量cpu_models_info,过滤器可以得到虚拟机创建请求中携带的CPU指令模型所包含的全部的指令集。
步骤S103:针对任意一个节点,当查询出的全部的指令集中的任意一个指令集不被该节点支持时,将该节点进行过滤。
得到了虚拟机创建请求中携带的CPU指令模型所包含的全部的指令集之后,便可以对各个节点进行判断,例如得到的虚拟机创建请求中携带的CPU指令模型所包含的全部的指令集具体为指令集1,指令集2以及指令集3,而例如1号节点不支持指令集2,则可以将1号节点进行过滤,即排除掉1号节点。又如,之后依次进行了2至10号节点的判断之后,确定出只有3号节点,6号节点以及7号节点均支持指令集1,指令集2以及指令集3,则3号节点,6号节点以及7号节点便是经过了过滤之后得到的各个节点。
可以理解的是,需要预先得到各个节点各自所支持的指令集,在实际应用中,可以通过placement_api服务接收各个节点上报的该节点所支持的CPU指令集。
步骤S104:从经过了过滤之后得到的各个节点中,选取出一个目标节点,并基于目标节点创建虚拟机。
从经过了过滤之后得到的各个节点中,选取出一个目标节点的具体规则可以根据实际需要进行设定,例如前述例子中,3号节点,6号节点以及7号节点是经过了过滤之后得到的各个节点,例如可以随机选取一个节点作为目标节点并且在该目标节点上创建虚拟机。
在本发明的一种具体实施方式中,步骤S104可以具体包括:
基于节点的资源状态,将经过了过滤之后得到的各个节点进行优先级排序,并将优先级最高的节点作为选取出的目标节点,并基于目标节点创建虚拟机。
该种实施方式中,可以基于节点的资源状态,从经过了过滤之后得到的各个节点中,选取出资源状态最适合进行该虚拟机的创建的节点,也就是说,选取出的目标节点是优先级最高的节点,这样有利于虚拟机的运行。
应用本发明实施例所提供的技术方案,虚拟机创建请求中携带CPU模式和CPU指令模型,可以反映出创建需求,而本申请在确定出虚拟机创建请求中携带的CPU模式为指定的目标模式时,会查询CPU指令模型所包含的全部的指令集,然后进行节点的过滤。即,针对任意一个节点,当查询出的全部的指令集中的任意一个指令集不被该节点支持时,将该节点进行过滤,也就是说,经过了过滤之后得到的各个节点,都是能够支持虚拟机创建请求中携带的CPU指令模型的节点,从而避免因为节点不支持而导致虚拟机创建失败的情况发生。从经过了过滤之后得到的各个节点中,可以选取出一个目标节点,并基于目标节点创建虚拟机。综上所述,本申请可以创建出具有特定需求的虚拟机,并且不会出现如传统方案中选取出不支持的节点的情况,即有效地避免了创建虚拟机失败的事件发生,保障了本申请方案的可靠性。
相应于上面的方法实施例,本发明实施例还提供了一种云平台中的虚拟机的创建系统,可以与上文描述的云平台中的虚拟机的创建方法相互对应参照。
参见图2所示,为本发明中一种云平台中的虚拟机的创建系统的结构示意图,包括:
请求接收模块201,用于接收携带CPU模式和CPU指令模型的虚拟机创建请求;
查询模块202,用于当CPU模式为指定的目标模式时,查询CPU指令模型所包含的全部的指令集;
过滤模块203,用于针对任意一个节点,当查询出的全部的指令集中的任意一个指令集不被该节点支持时,将该节点进行过滤;
创建模块204,用于从经过了过滤之后得到的各个节点中,选取出一个目标节点,并基于目标节点创建虚拟机。
在本发明的一种具体实施方式中,还包括:
参数存储模块,用于预先将管理服务的当前版本所支持的各个CPU指令模型存储在数据库中;
在查询模块202查询CPU指令模型所包含的全部的指令集之前,判断模块用于判断虚拟机创建请求中携带的CPU指令模型是否在数据库中;
如果是,则触发查询模块202;
如果否,判断模块停止进行虚拟机的创建。
在本发明的一种具体实施方式中,在停止进行虚拟机的创建之后,还包括:
信息输出模块,用于在判断模块停止进行虚拟机的创建之后,输出虚拟机创建失败,且各个节点均不满足创建需求的提示信息。
在本发明的一种具体实施方式中,管理服务为libvirt管理服务,云平台为基于OpenStack的云平台。
在本发明的一种具体实施方式中,目标模式为custom模式。
在本发明的一种具体实施方式中,创建模块204,具体用于:
基于节点的资源状态,将经过了过滤之后得到的各个节点进行优先级排序,并将优先级最高的节点作为选取出的目标节点,并基于目标节点创建虚拟机。
相应于上面的方法和系统实施例,本发明实施例还提供了一种云平台中的虚拟机的创建设备以及一种计算机可读存储介质,可以与上文相互对应参照。计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述任一实施例中的云平台中的虚拟机的创建方法的步骤。这里所说的计算机可读存储介质包括随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质。
该云平台中的虚拟机的创建设备可以包括:
存储器301,用于存储计算机程序;
处理器302,用于执行计算机程序以实现上述任一实施例中的云平台中的虚拟机的创建方法的步骤。
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的技术方案及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
Claims (10)
1.一种云平台中的虚拟机的创建方法,其特征在于,包括:
接收携带CPU模式和CPU指令模型的虚拟机创建请求;
当所述CPU模式为指定的目标模式时,查询所述CPU指令模型所包含的全部的指令集;
针对任意一个节点,当查询出的全部的指令集中的任意一个指令集不被该节点支持时,将该节点进行过滤;
从经过了过滤之后得到的各个节点中,选取出一个目标节点,并基于所述目标节点创建虚拟机。
2.根据权利要求1所述的云平台中的虚拟机的创建方法,其特征在于,还包括:
预先将管理服务的当前版本所支持的各个CPU指令模型存储在数据库中;
在查询所述CPU指令模型所包含的全部的指令集之前,判断所述虚拟机创建请求中携带的所述CPU指令模型是否在所述数据库中;
如果是,则执行所述查询所述CPU指令模型所包含的全部的指令集的操作;
如果否,则停止进行虚拟机的创建。
3.根据权利要求2所述的云平台中的虚拟机的创建方法,其特征在于,在停止进行虚拟机的创建之后,还包括:
输出虚拟机创建失败,且各个节点均不满足创建需求的提示信息。
4.根据权利要求2所述的云平台中的虚拟机的创建方法,其特征在于,所述管理服务为libvirt管理服务,所述云平台为基于OpenStack的云平台。
5.根据权利要求1所述的云平台中的虚拟机的创建方法,其特征在于,所述目标模式为custom模式。
6.根据权利要求1至5任一项所述的云平台中的虚拟机的创建方法,其特征在于,所述从经过了过滤之后得到的各个节点中,选取出一个目标节点,并基于所述目标节点创建虚拟机,包括:
基于节点的资源状态,将经过了过滤之后得到的各个节点进行优先级排序,并将优先级最高的节点作为选取出的目标节点,并基于所述目标节点创建虚拟机。
7.一种云平台中的虚拟机的创建系统,其特征在于,包括:
请求接收模块,用于接收携带CPU模式和CPU指令模型的虚拟机创建请求;
查询模块,用于当所述CPU模式为指定的目标模式时,查询所述CPU指令模型所包含的全部的指令集;
过滤模块,用于针对任意一个节点,当查询出的全部的指令集中的任意一个指令集不被该节点支持时,将该节点进行过滤;
创建模块,用于从经过了过滤之后得到的各个节点中,选取出一个目标节点,并基于所述目标节点创建虚拟机。
8.根据权利要求7所述的云平台中的虚拟机的创建系统,其特征在于,所述创建模块,具体用于:
基于节点的资源状态,将经过了过滤之后得到的各个节点进行优先级排序,并将优先级最高的节点作为选取出的目标节点,并基于所述目标节点创建虚拟机。
9.一种云平台中的虚拟机的创建设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序以实现如权利要求1至6任一项所述的云平台中的虚拟机的创建方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述的云平台中的虚拟机的创建方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110217660.5A CN113010263A (zh) | 2021-02-26 | 2021-02-26 | 云平台中的虚拟机的创建方法、系统、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110217660.5A CN113010263A (zh) | 2021-02-26 | 2021-02-26 | 云平台中的虚拟机的创建方法、系统、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113010263A true CN113010263A (zh) | 2021-06-22 |
Family
ID=76386302
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110217660.5A Pending CN113010263A (zh) | 2021-02-26 | 2021-02-26 | 云平台中的虚拟机的创建方法、系统、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113010263A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114816672A (zh) * | 2022-05-06 | 2022-07-29 | 中国电信股份有限公司 | 虚拟机的创建方法、装置、电子设备和存储介质 |
CN115145692A (zh) * | 2022-07-13 | 2022-10-04 | 中国电信股份有限公司 | 容器创建方法及装置、计算机可读存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102170474A (zh) * | 2011-04-22 | 2011-08-31 | 广州杰赛科技股份有限公司 | 一种云计算网络中虚拟资源动态调度方法及系统 |
CN104111867A (zh) * | 2013-04-19 | 2014-10-22 | 杭州迪普科技有限公司 | 一种虚拟机迁移装置及方法 |
CN106648826A (zh) * | 2016-09-09 | 2017-05-10 | 北京百度网讯科技有限公司 | 用于热迁移虚拟机的方法和装置 |
CN109597673A (zh) * | 2017-09-30 | 2019-04-09 | 华为技术有限公司 | 创建虚拟机的方法及调度设备 |
CN110377232A (zh) * | 2019-07-19 | 2019-10-25 | 苏州浪潮智能科技有限公司 | 一种部署分布式存储集群的方法、装置及系统 |
EP3761170A1 (en) * | 2018-03-22 | 2021-01-06 | Huawei Technologies Co., Ltd. | Virtual machine creation method and apparatus |
-
2021
- 2021-02-26 CN CN202110217660.5A patent/CN113010263A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102170474A (zh) * | 2011-04-22 | 2011-08-31 | 广州杰赛科技股份有限公司 | 一种云计算网络中虚拟资源动态调度方法及系统 |
CN104111867A (zh) * | 2013-04-19 | 2014-10-22 | 杭州迪普科技有限公司 | 一种虚拟机迁移装置及方法 |
CN106648826A (zh) * | 2016-09-09 | 2017-05-10 | 北京百度网讯科技有限公司 | 用于热迁移虚拟机的方法和装置 |
CN109597673A (zh) * | 2017-09-30 | 2019-04-09 | 华为技术有限公司 | 创建虚拟机的方法及调度设备 |
EP3761170A1 (en) * | 2018-03-22 | 2021-01-06 | Huawei Technologies Co., Ltd. | Virtual machine creation method and apparatus |
CN110377232A (zh) * | 2019-07-19 | 2019-10-25 | 苏州浪潮智能科技有限公司 | 一种部署分布式存储集群的方法、装置及系统 |
Non-Patent Citations (1)
Title |
---|
HNICHOLAS: "Libvirt支持的三种CPU模式与热迁移", 《CNDS OPENSTACK专栏》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114816672A (zh) * | 2022-05-06 | 2022-07-29 | 中国电信股份有限公司 | 虚拟机的创建方法、装置、电子设备和存储介质 |
CN115145692A (zh) * | 2022-07-13 | 2022-10-04 | 中国电信股份有限公司 | 容器创建方法及装置、计算机可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10439937B2 (en) | Service addressing in distributed environment | |
EP3231135B1 (en) | Alarm correlation in network function virtualization environment | |
CN107896162B (zh) | 监控系统的部署方法、装置、计算机设备及存储介质 | |
CN110311831B (zh) | 基于容器云的系统资源监控方法及相关设备 | |
US8069224B2 (en) | Method, equipment and system for resource acquisition | |
CN113037794B (zh) | 计算资源配置调度方法、装置及系统 | |
CN106059825A (zh) | 一种分布式系统及配置方法 | |
CN109964507B (zh) | 网络功能的管理方法、管理单元及系统 | |
CN104239156A (zh) | 一种外部服务的调用方法及系统 | |
CN113010263A (zh) | 云平台中的虚拟机的创建方法、系统、设备及存储介质 | |
CN111061432A (zh) | 一种业务迁移方法、装置、设备及可读存储介质 | |
RU2764288C1 (ru) | Способ для развертывания ресурса, требуемого для сетевой функции, носитель данных и электронное устройство | |
CN115599728B (zh) | Fru设备的槽位确定方法、装置、设备及可读存储介质 | |
CN112363980A (zh) | 一种分布式系统的数据处理方法及装置 | |
CN110930253A (zh) | 智能合约内部主键生成方法、装置、计算机设备及存储介质 | |
CN116483543A (zh) | 一种任务处理方法、装置、设备及存储介质 | |
CN114553859A (zh) | 一种bmc配置管理方法、装置、电子设备及存储介质 | |
CN114003384A (zh) | 任务管理的方法、装置和设备 | |
CN110764882B (zh) | 分布式管理方法、分布式管理系统及装置 | |
US20090240836A1 (en) | Support apparatus, design support method, and design support program | |
CN112788153A (zh) | 一种物联网设备升级管理方法、装置、设备及存储介质 | |
CN110865876A (zh) | 一种服务依赖资源的调度方法及装置 | |
CN111478794B (zh) | 一种信令报文交互方法、装置、终端设备和存储介质 | |
CN110661886A (zh) | 一种组件安装方法及装置 | |
CN110896358A (zh) | 一种nfv中资源数据的动态更新方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210622 |