CN114153555A - 一种云平台pmem设备管理方法、系统、装置及存储介质 - Google Patents
一种云平台pmem设备管理方法、系统、装置及存储介质 Download PDFInfo
- Publication number
- CN114153555A CN114153555A CN202111278717.9A CN202111278717A CN114153555A CN 114153555 A CN114153555 A CN 114153555A CN 202111278717 A CN202111278717 A CN 202111278717A CN 114153555 A CN114153555 A CN 114153555A
- Authority
- CN
- China
- Prior art keywords
- nova
- pmem
- virtual machine
- service
- cyborg
- 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
- 238000007726 management method Methods 0.000 title claims abstract description 48
- 239000004020 conductor Substances 0.000 claims abstract description 52
- 238000000034 method Methods 0.000 claims abstract description 18
- 238000013468 resource allocation Methods 0.000 claims abstract description 17
- 230000015654 memory Effects 0.000 claims description 23
- 238000004590 computer program Methods 0.000 claims description 11
- 238000012216 screening Methods 0.000 claims description 11
- 230000008569 process Effects 0.000 claims description 10
- 230000007246 mechanism Effects 0.000 claims description 4
- 239000000126 substance Substances 0.000 description 6
- 230000009471 action Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000001914 filtration Methods 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 238000012545 processing Methods 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/4557—Distribution of virtual machine instances; Migration and load balancing
-
- 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/45591—Monitoring or debugging support
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请公开了一种云平台PMEM设备管理方法、系统、装置及计算机可读存储介质,包括:利用Nova‑api接口接收PMEM虚拟机创建请求;利用Nova‑conductor服务确定出创建虚拟机的目标主机;利用Cyborg为PMEM设备分配资源,并创建虚拟机和PMEM设备的绑定关系;利用nova‑compute服务根据绑定关系在目标主机上创建vPMEM虚拟机。本申请基于Nova系统接收虚拟机创建请求,并在PMEM资源分配以及与虚拟机绑定阶段,调用Cyborg,由Cyborg执行资源分配,以及绑定操作,替代Nova系统,从而可以基于Cyborg对后续虚拟机上的PMEM设备进行管理,提高了便捷与灵活度。
Description
技术领域
本发明涉及计算机技术领域,特别涉及一种云平台PMEM设备管理方法、系统、装置及计算机可读存储介质。
背景技术
目前,在基于OpenStack开发的云平台中,已经实现了由Nova管理PMEM设备,通过设置云主机规格元数据创建虚拟机。但是使用Nova管理PMEM设备配置繁琐,并且一旦虚拟机创建出来,无法修改虚拟机的规格,导致虚拟机无法进行更高级的操作,比如调整配置、挂载卸载PMEM设备等操作,不利于PMEM设备的管理和虚拟机的使用。
为此,需要一种能够更为灵活便捷的PMEM设备管理方法。
发明内容
有鉴于此,本发明的目的在于提供一种云平台PMEM设备管理方法、系统、装置及计算机可读存储介质,更为灵活便捷。其具体方案如下:
一种云平台PMEM设备管理方法,包括:
利用Nova-api接口接收PMEM虚拟机创建请求;
利用所述Nova-api接口下发所述PMEM虚拟机创建请求至Nova-conductor服务;
利用所述Nova-conductor服务确定出创建虚拟机的目标主机;
利用所述Nova-conductor服务调用Cyborg;
利用所述Cyborg为所述PMEM设备分配资源,并创建虚拟机和PMEM设备的绑定关系;
利用所述Nova-conductor服务向nova-compute服务发送创建虚拟机请求;
利用所述nova-compute服务根据所述绑定关系在所述目标主机上创建vPMEM虚拟机。
可选的,所述利用所述Nova-conductor服务确定出创建虚拟机的目标主机的过程,包括:
利用所述Nova-conductor服务调用Nova-scheduler服务;
利用所述Nova-scheduler服务从资源管理服务中选取满足预设条件的目标主机;
所述Nova-scheduler服务反馈记载所述目标主机为筛选结果的筛选结果至所述Nova-scheduler服务;
所述Nova-conductor服务确定出创建虚拟机的所述目标主机。
可选的,所述利用所述nova-compute服务根据所述绑定关系在所述目标主机上创建vPMEM虚拟机的过程,包括:
利用所述nova-compute服务在所述Cyborg的event事件结束后,从所述绑定关系中获取align、size和devpath属性,确定PMEM内存块;
利用所述nova-compute服务根据所述PMEM内存块生成LibvirtConfigGuestVPMEM对象;
利用所述nova-compute服务添加所述LibvirtConfigGuestVPMEM对象至虚拟机的设备中;
在所述虚拟机的xml中增加NVDIMM标签,绑定vPMEM内存,得到在所述目标主机上的所述vPMEM虚拟机。
可选的,还包括:
所述vPMEM虚拟机启动成功后,利用所述nova-compute服务发送虚拟机创建成功通知至所述Nova-api接口,以通过所述Nova-api接口向用户反馈所述vPMEM虚拟机创建成功。
可选的,所述利用所述Cyborg为所述PMEM设备分配资源,并创建虚拟机和PMEM设备的绑定关系的过程,包括:
利用预先在所述Cyborg的Cyborg-agent服务中添加的PMEM driver配置项,自动获取所述PMEM设备的设备信息;
所述Cyborg利用所述设备信息为所述PMEM设备分配资源;
所述Cyborg创建虚拟机和PMEM设备的绑定关系。
可选的,所述Cyborg利用所述设备信息为所述PMEM设备分配资源的过程,包括:
所述Cyborg基于event机制利用所述设备信息为所述PMEM设备分配资源。
可选的,所述利用Nova-api接口接收PMEM虚拟机创建请求之后,还包括:
利用所述Nova-api接口调用所述Cyborg服务,获取PMEM规格信息;
所述Nova-api接口利用所述PMEM规格信息,校验所述PMEM虚拟机创建请求中所需创建的所述vPMEM虚拟机的参数合法性。
本发明还公开了一种云平台PMEM设备管理系统,包括:
请求接收模块,用于利用Nova-api接口接收PMEM虚拟机创建请求;
请求下发模块,用于利用所述Nova-api接口下发所述PMEM虚拟机创建请求至Nova-conductor服务;
主机确定模块,用于利用所述Nova-conductor服务确定出创建虚拟机的目标主机;
Cyborg调用模块,用于利用所述Nova-conductor服务调用Cyborg;
资源分配和绑定模块,用于利用所述Cyborg为所述PMEM设备分配资源,并创建虚拟机和PMEM设备的绑定关系;
虚拟机请求下发模块,用于利用所述Nova-conductor服务向nova-compute服务发送创建虚拟机请求;
虚拟机创建模块,用于利用所述nova-compute服务根据所述绑定关系在所述目标主机上创建vPMEM虚拟机。
本发明还公开了一种云平台PMEM设备管理装置,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序以实现如前述的云平台PMEM设备管理方法。
本发明还公开了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如前述的云平台PMEM设备管理方法。
本发明中,云平台PMEM设备管理方法,包括:利用Nova-api接口接收PMEM虚拟机创建请求;利用Nova-api接口下发PMEM虚拟机创建请求至Nova-conductor服务;利用Nova-conductor服务确定出创建虚拟机的目标主机;利用Nova-conductor服务调用Cyborg;利用Cyborg为PMEM设备分配资源,并创建虚拟机和PMEM设备的绑定关系;利用Nova-conductor服务向nova-compute服务发送创建虚拟机请求;利用nova-compute服务根据绑定关系在目标主机上创建vPMEM虚拟机。
本发明基于Nova系统接收虚拟机创建请求,并在PMEM资源分配以及与虚拟机绑定阶段,调用Cyborg,由Cyborg执行资源分配,以及绑定操作,替代Nova系统,从而可以基于Cyborg对后续虚拟机上的PMEM设备进行管理,提高了便捷与灵活度。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例公开的一种云平台PMEM设备管理方法流程示意图;
图2为本发明实施例公开的另一种云平台PMEM设备管理方法流程示意图;
图3为本发明实施例公开的Cyborg-agent结构示意图;
图4为本发明实施例公开的一种云平台PMEM设备管理交互示意图;
图5为本发明实施例公开的一种云平台PMEM设备管理系统结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例公开了一种云平台PMEM设备管理方法,参见图1所示,该方法包括:
S11:利用Nova-api接口接收PMEM虚拟机创建请求。
具体的,Nova-api接口为OpenStack中控制节点上为用户提供计算服务的接口,通过Nova-api接口接收用户输入的PMEM虚拟机创建请求,PMEM虚拟机创建请求其中可以记载了用户所要创建的虚拟机要求,包括创建虚拟机所需要的PMEM设备、设备参数等虚拟机相关的规格参数,以作为后续虚拟机创建的指导参数。
S12:利用Nova-api接口下发PMEM虚拟机创建请求至Nova-conductor服务。
具体的,Nova-api接口接收到PMEM虚拟机创建请求后,便会转发至下一级的Nova-conductor服务,以便后续的Nova-conductor服务根据PMEM虚拟机创建请求创建虚拟机,Nova-conductor服务为OpenStack中控制节点上负责操作数据库的服务。
S13:利用Nova-conductor服务确定出创建虚拟机的目标主机。
具体的,Nova-conductor服务可以从资源管理服务中挑选出满足预设条件的用于与本次虚拟机创建请求对应的目标主机,资源管理服务为OpenStack中对CPU、Memory、Disk、GPU、vPMEM等资源的使用状态及维护状态进行管理和记录的服务,因此,可以从资源管理服务中挑选出当前可用的、满足本次虚拟机创建要求的目标主机。
S14:利用Nova-conductor服务调用Cyborg。
具体的,Nova-conductor服务在挑选出目标主机后调用Cyborg,以为虚拟机分配PMEM设备。
S15:利用Cyborg为PMEM设备分配资源,并创建虚拟机和PMEM设备的绑定关系。
具体的,由于Cyborg已经能够管理诸如GPU、FPGA、NVMe SSD、vGPU等加速资源,而且支持对绑定有加速器设备的虚拟机进行疏散、迁移、调整配置等一系列操作,因此,将PMEM设备的资源分配工作交由Cyborg,更为简单,同时在设备管理方面更为统一,不再需要单独的设备管理工具用于创建虚拟机,可以直接利用已有的Cyborg;在进行资源分配的同时,也将每个分配给虚拟机的PMEM设备建立与虚拟机之间的绑定关系,以便后续创建虚拟机是能够根据绑定关系直接查找到对应的PMEM设备及其信息。
S16:利用Nova-conductor服务向nova-compute服务发送创建虚拟机请求。
具体的,在Cyborg分配资源以及创建绑定关系后,利用Nova-conductor服务向nova-compute服务发送创建虚拟机请求,以使nova-compute服务创建虚拟机。
S17:利用nova-compute服务根据绑定关系在目标主机上创建vPMEM虚拟机。
具体的,nova-compute服务利用绑定关系确定所需的PMEM设备,并进行整合,将各PMEM设备添加至虚拟机中,并绑定vPMEM内存,最终成功创建vPMEM虚拟机,nova-compute服务为OpenStack中启动虚拟机的计算节点服务,因此,在创建完虚拟机后,还可以启动vPMEM虚拟机。
可见,本发明实施例基于Nova系统接收虚拟机创建请求,并在PMEM资源分配以及与虚拟机绑定阶段,调用Cyborg,由Cyborg执行资源分配,以及绑定操作,替代Nova系统,从而可以基于Cyborg对后续虚拟机上的PMEM设备进行管理,提高了便捷与灵活度。
本发明实施例公开了一种具体的云平台PMEM设备管理方法,相对于上一实施例,本实施例对技术方案作了进一步的说明和优化。参见图2所示,具体的:
S201:利用Nova-api接口接收PMEM虚拟机创建请求;
S202:利用Nova-api接口调用Cyborg服务,获取PMEM规格信息。
具体的,在Nova-api接口接收到PMEM虚拟机创建请求后,还可以判断用户输入的PMEM虚拟机创建请求是否可行,是否格式正确,为此,先利用Nova-api接口调用Cyborg服务获取当前已有的PMEM规格信息,作为判断基准。
S203:Nova-api接口利用PMEM规格信息,校验PMEM虚拟机创建请求中所需创建的vPMEM虚拟机的参数合法性。
具体的,Nova-api接口利用PMEM规格信息便可以校验PMEM虚拟机创建请求中所需创建的vPMEM虚拟机的参数是否符合要求,是否具备合法性,如果不具备合法性,可以提示用户重新制作PMEM虚拟机创建请求。
S204:利用Nova-api接口下发PMEM虚拟机创建请求至Nova-conductor服务;
S205:利用Nova-conductor服务确定出创建虚拟机的目标主机;
S206:利用Nova-conductor服务调用Cyborg;
S207:利用预先在Cyborg的Cyborg-agent服务中添加的PMEM driver配置项,自动获取PMEM设备的设备信息。
具体的,为了实现利用Cyborg自动分配PMEM设备资源,需要让Cyborg能够获取资源管理服务中的PMEM设备信息,为此,可以预先把PMEM设备划分成一个个命名空间。
例如,划分指令为:
#创建30G大小名字为ns3的命名空间
ndctl create-namespace-s 30G-m devdax-M mem-n ns3
此外,还可以检查最终命名空间效果,检查指令为:
#展示所有命名空间
ndctl list–X
具体的,接着可以在cyborg-agent服务中添加PMEM driver配置项,也就是在cyborg-agent的配置文件cyborg.conf中找到driver组,把intel_pmem_driver添加到enabled_drivers中,如果有多个driver,以逗号隔开。配置项效果如下:
[driver]
enabled_drivers=intel_pmem_driver
具体的,参见图3所示,通过PMEM driver可以自动发现PMEM设备相关信息,生成设备的devices、deployables、controlpath_id、attributes和attach_handles,然后把这些数据上报到资源管理系统中,供Nova创建PMEM虚拟机调度使用。
其中,参见图3所示,,discover_pmems发现服务器上的PMEM,get_pci_devices获取设备信息:ndctl list–X;_generate_driver_device生成devices对象,也即pci设备列表,设备信息如下表一所示:
表一
其中,_generate_controlpath_id生成controlpath_id对象,记录设备唯一的namespace(devpath、size、align)信息,如下表二所示:
表二
其中,_generate_dep_list生成deployable对象,对应placement的resourceprovider,提供加速资源,如下表三所示:
表三
其中,_generate_attribute_list生成attribute对象,对应placement的traits,调度主机使用,如下表四所示:
表四
其中,_generate_attach_handle生成attach_handler对象,对应于placement的allocations,绑定云主机使用,如下表五所示:
表五
S208:Cyborg利用设备信息为PMEM设备分配资源。
具体的,由于Cyborg利用设备信息为PMEM设备分配资源的过程耗时较长,所以利用event机制处理,可以调用Nova-api创建accel_bound_event事件,通过accel_bound_event事件为PMEM设备分配资源,提高分配效率。
S209:Cyborg创建虚拟机和PMEM设备的绑定关系。
S210:利用Nova-conductor服务向nova-compute服务发送创建虚拟机请求;
S211:利用nova-compute服务根据绑定关系在目标主机上创建vPMEM虚拟机。
具体的,上述S205利用Nova-conductor服务确定出创建虚拟机的目标主机的过程,可以具体包括S31至S34;其中,
S31:利用Nova-conductor服务调用Nova-scheduler服务。
具体的,Nova-scheduler中包括用与筛选主机的相关算法与规则,因此,Nova-conductor服务调用Nova-scheduler服务,让Nova-scheduler服务进行筛选。
S32:利用Nova-scheduler服务从资源管理服务中选取满足预设条件的目标主机。
具体的,Nova-scheduler服务可以根据规格信息查询资源管理服务获取满足PMEM条件的候选主机,然后把带有PMEM的候选主机经过服务状态、资源群集等过滤算法过滤后,最终返回满足预设条件的可以创建虚拟机的目标主机。
S33:Nova-scheduler服务反馈记载目标主机为筛选结果的筛选结果至Nova-scheduler服务;
S34:Nova-conductor服务确定出创建虚拟机的目标主机。
具体的,最后Nova-scheduler服务将最终的筛选结果目标主机反馈至Nova-conductor服务,确定出创建虚拟机的目标主机。
具体的,上述S211利用nova-compute服务根据绑定关系在目标主机上创建vPMEM虚拟机的过程,可以包括S41至S44;其中,
S41:利用nova-compute服务在Cyborg的event事件结束后,从绑定关系中获取align、size和devpath属性,确定PMEM内存块。
其中,align是划分的内存的偏移量,用来存储这块地址的基本信息,一般大小是2G,size是该内存的大小,devpath是该内存对应的访问路径,根据这三个属性可以确定唯一的PMEM内存块。
S42:利用nova-compute服务根据PMEM内存块生成LibvirtConfigGuestVPMEM对象;
S43:利用nova-compute服务添加LibvirtConfigGuestVPMEM对象至虚拟机的设备中;
S44:在虚拟机的xml中增加NVDIMM标签,绑定vPMEM内存,得到在目标主机上的vPMEM虚拟机。
具体的,生成LibvirtConfigGuestVPMEM对象后,将其添加到虚拟机的设备中,最终在虚拟机xml增加NVDIMM标签,绑定vPMEM内存,得到在目标主机上的vPMEM虚拟机。
进一步的,还可以包括在vPMEM虚拟机启动成功后,利用nova-compute服务发送虚拟机创建成功通知至Nova-api接口,以通过Nova-api接口向用户反馈vPMEM虚拟机创建成功。
综上,本发明实施例在cyborg-agent.conf文件中配置vPMEM命名空间,重启cyborg-agent服务使得配置内容生效。然后,创建PMEM规格,选择该规格创建虚拟机。最后,待虚拟机创建完成后,使用virsh命令查看虚拟机xml文件是否绑定有NVDIMM标签,进入虚拟机,查看是否有PMEM设备。
相应的,本发明实施例还公开了一种云平台PMEM设备管理系统,参见图5所示,该系统包括:
请求接收模块11,用于利用Nova-api接口接收PMEM虚拟机创建请求;
请求下发模块12,用于利用Nova-api接口下发PMEM虚拟机创建请求至Nova-conductor服务;
主机确定模块13,用于利用Nova-conductor服务确定出创建虚拟机的目标主机;
Cyborg调用模块14,用于利用Nova-conductor服务调用Cyborg;
资源分配和绑定模块15,用于利用Cyborg为PMEM设备分配资源,并创建虚拟机和PMEM设备的绑定关系;
虚拟机请求下发模块12,用于利用Nova-conductor服务向nova-compute服务发送创建虚拟机请求;
虚拟机创建模块16,用于利用nova-compute服务根据绑定关系在目标主机上创建vPMEM虚拟机。
可见,本发明实施例基于Nova系统接收虚拟机创建请求,并在PMEM资源分配以及与虚拟机绑定阶段,调用Cyborg,由Cyborg执行资源分配,以及绑定操作,替代Nova系统,从而可以基于Cyborg对后续虚拟机上的PMEM设备进行管理,提高了便捷与灵活度。
具体的,上述主机确定模块13,包括scheduler服务调用单元、筛选单元、反馈单元和确定单元;其中,
scheduler服务调用单元,用于利用Nova-conductor服务调用Nova-scheduler服务;
筛选单元,用于利用Nova-scheduler服务从资源管理服务中选取满足预设条件的目标主机;
反馈单元,用于Nova-scheduler服务反馈记载目标主机为筛选结果的筛选结果至Nova-scheduler服务;
确定单元,用于Nova-conductor服务确定出创建虚拟机的目标主机。
具体的,上述虚拟机创建模块16,包括内存块确定单元、对象生成单元、对象添加单元和虚拟机创建单元;其中,
内存块确定单元,用于利用nova-compute服务在Cyborg的event事件结束后,从绑定关系中获取align、size和devpath属性,确定PMEM内存块;
对象生成单元,用于利用nova-compute服务根据PMEM内存块生成LibvirtConfigGuestVPMEM对象;
对象添加单元,用于利用nova-compute服务添加LibvirtConfigGuestVPMEM对象至虚拟机的设备中;
虚拟机创建单元,用于在虚拟机的xml中增加NVDIMM标签,绑定vPMEM内存,得到在目标主机上的vPMEM虚拟机。
具体的,还可以包括通知反馈模块;其中,
通知反馈模块,用于vPMEM虚拟机启动成功后,利用nova-compute服务发送虚拟机创建成功通知至Nova-api接口,以通过Nova-api接口向用户反馈vPMEM虚拟机创建成功。
具体的,上述资源分配和绑定模块15,可以包括信息获取单元、资源分配单元和绑定单元;其中,
信息获取单元,用于利用预先在Cyborg的Cyborg-agent服务中添加的PMEMdriver配置项,自动获取PMEM设备的设备信息;
资源分配单元,用于Cyborg利用设备信息为PMEM设备分配资源;
绑定单元,用于Cyborg创建虚拟机和PMEM设备的绑定关系。
具体的,资源分配单元,可以具体用于Cyborg基于event机制利用设备信息为PMEM设备分配资源。
具体的,还可以包括:
规格信息获取模块,用于利用Nova-api接口调用Cyborg服务,获取PMEM规格信息;
信息校验模块,用于Nova-api接口利用PMEM规格信息,校验PMEM虚拟机创建请求中所需创建的vPMEM虚拟机的参数合法性。
此外,本发明实施例还公开了一种云平台PMEM设备管理装置,包括:
存储器,用于存储计算机程序;
处理器,用于执行计算机程序以实现如前述的云平台PMEM设备管理方法。
另外,本发明实施例还公开了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如前述的云平台PMEM设备管理方法。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
以上对本发明所提供的技术内容进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种云平台PMEM设备管理方法,其特征在于,包括:
利用Nova-api接口接收PMEM虚拟机创建请求;
利用所述Nova-api接口下发所述PMEM虚拟机创建请求至Nova-conductor服务;
利用所述Nova-conductor服务确定出创建虚拟机的目标主机;
利用所述Nova-conductor服务调用Cyborg;
利用所述Cyborg为所述PMEM设备分配资源,并创建虚拟机和PMEM设备的绑定关系;
利用所述Nova-conductor服务向nova-compute服务发送创建虚拟机请求;
利用所述nova-compute服务根据所述绑定关系在所述目标主机上创建vPMEM虚拟机。
2.根据权利要求1所述的云平台PMEM设备管理方法,其特征在于,所述利用所述Nova-conductor服务确定出创建虚拟机的目标主机的过程,包括:
利用所述Nova-conductor服务调用Nova-scheduler服务;
利用所述Nova-scheduler服务从资源管理服务中选取满足预设条件的目标主机;
所述Nova-scheduler服务反馈记载所述目标主机为筛选结果的筛选结果至所述Nova-scheduler服务;
所述Nova-conductor服务确定出创建虚拟机的所述目标主机。
3.根据权利要求1所述的云平台PMEM设备管理方法,其特征在于,所述利用所述nova-compute服务根据所述绑定关系在所述目标主机上创建vPMEM虚拟机的过程,包括:
利用所述nova-compute服务在所述Cyborg的event事件结束后,从所述绑定关系中获取align、size和devpath属性,确定PMEM内存块;
利用所述nova-compute服务根据所述PMEM内存块生成LibvirtConfigGuestVPMEM对象;
利用所述nova-compute服务添加所述LibvirtConfigGuestVPMEM对象至虚拟机的设备中;
在所述虚拟机的xml中增加NVDIMM标签,绑定vPMEM内存,得到在所述目标主机上的所述vPMEM虚拟机。
4.根据权利要求3所述的云平台PMEM设备管理方法,其特征在于,还包括:
所述vPMEM虚拟机启动成功后,利用所述nova-compute服务发送虚拟机创建成功通知至所述Nova-api接口,以通过所述Nova-api接口向用户反馈所述vPMEM虚拟机创建成功。
5.根据权利要求1至4任一项所述的云平台PMEM设备管理方法,其特征在于,所述利用所述Cyborg为所述PMEM设备分配资源,并创建虚拟机和PMEM设备的绑定关系的过程,包括:
利用预先在所述Cyborg的Cyborg-agent服务中添加的PMEM driver配置项,自动获取所述PMEM设备的设备信息;
所述Cyborg利用所述设备信息为所述PMEM设备分配资源;
所述Cyborg创建虚拟机和PMEM设备的绑定关系。
6.根据权利要求5所述的云平台PMEM设备管理方法,其特征在于,所述Cyborg利用所述设备信息为所述PMEM设备分配资源的过程,包括:
所述Cyborg基于event机制利用所述设备信息为所述PMEM设备分配资源。
7.根据权利要求5所述的云平台PMEM设备管理方法,其特征在于,所述利用Nova-api接口接收PMEM虚拟机创建请求之后,还包括:
利用所述Nova-api接口调用所述Cyborg服务,获取PMEM规格信息;
所述Nova-api接口利用所述PMEM规格信息,校验所述PMEM虚拟机创建请求中所需创建的所述vPMEM虚拟机的参数合法性。
8.一种云平台PMEM设备管理系统,其特征在于,包括:
请求接收模块,用于利用Nova-api接口接收PMEM虚拟机创建请求;
请求下发模块,用于利用所述Nova-api接口下发所述PMEM虚拟机创建请求至Nova-conductor服务;
主机确定模块,用于利用所述Nova-conductor服务确定出创建虚拟机的目标主机;
Cyborg调用模块,用于利用所述Nova-conductor服务调用Cyborg;
资源分配和绑定模块,用于利用所述Cyborg为所述PMEM设备分配资源,并创建虚拟机和PMEM设备的绑定关系;
虚拟机请求下发模块,用于利用所述Nova-conductor服务向nova-compute服务发送创建虚拟机请求;
虚拟机创建模块,用于利用所述nova-compute服务根据所述绑定关系在所述目标主机上创建vPMEM虚拟机。
9.一种云平台PMEM设备管理装置,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序以实现如权利要求1至7任一项所述的云平台PMEM设备管理方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的云平台PMEM设备管理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111278717.9A CN114153555A (zh) | 2021-10-31 | 2021-10-31 | 一种云平台pmem设备管理方法、系统、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111278717.9A CN114153555A (zh) | 2021-10-31 | 2021-10-31 | 一种云平台pmem设备管理方法、系统、装置及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114153555A true CN114153555A (zh) | 2022-03-08 |
Family
ID=80459506
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111278717.9A Pending CN114153555A (zh) | 2021-10-31 | 2021-10-31 | 一种云平台pmem设备管理方法、系统、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114153555A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115001990A (zh) * | 2022-05-25 | 2022-09-02 | 济南浪潮数据技术有限公司 | 一种基于声明式API的跨地域openstack集群管理方法及系统 |
-
2021
- 2021-10-31 CN CN202111278717.9A patent/CN114153555A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115001990A (zh) * | 2022-05-25 | 2022-09-02 | 济南浪潮数据技术有限公司 | 一种基于声明式API的跨地域openstack集群管理方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10949237B2 (en) | Operating system customization in an on-demand network code execution system | |
US8930541B2 (en) | System, method and program product for cost-aware selection of templates for provisioning shared resources | |
CN111061432B (zh) | 一种业务迁移方法、装置、设备及可读存储介质 | |
EP3618352B1 (en) | Virtual machine management | |
US10310900B2 (en) | Operating programs on a computer cluster | |
US8239872B2 (en) | Method and system for controlling distribution of work items to threads in a server | |
CN110515628A (zh) | 应用部署方法及装置 | |
CN110007858B (zh) | 存储空间分配方法及装置 | |
WO2019148830A1 (zh) | 一种基板管理控制器通过kvm挂载文件夹的方法及装置 | |
CN113590146B (zh) | 服务器及容器升级方法 | |
CN113674131A (zh) | 硬件加速器设备管理方法、装置及电子设备和存储介质 | |
CN113961301A (zh) | 虚拟网卡绑定、解绑的方法及装置、计算节点及存储介质 | |
CN114153555A (zh) | 一种云平台pmem设备管理方法、系统、装置及存储介质 | |
CN117234741B (zh) | 资源管理与调度方法、装置、电子设备以及存储介质 | |
CN111309447B (zh) | 容器调度方法及装置 | |
CN111126604B (zh) | 模型训练方法、装置、服务器及存储介质 | |
US9565062B2 (en) | Resource deployment management | |
CN115665231A (zh) | 服务创建方法、装置以及计算机可读存储介质 | |
CN110971664B (zh) | 一种接口服务管理系统 | |
CN112612600A (zh) | 基于dcu的资源调度方法、装置和计算机设备 | |
CN114296637B (zh) | 一种本地存储卷动态创建方法及设备 | |
CN112000391B (zh) | 配置处理方法及系统 | |
CN108008966B (zh) | 一种资源更新方法和系统 | |
CN114827123A (zh) | 一种iSCSI服务的设置方法、装置、设备及介质 | |
CN114925312A (zh) | 页面渲染方法及装置、存储介质及电子设备 |
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 |