掌桥专利:专业的专利平台
掌桥专利
首页

一种虚拟机加速硬件调整方法、装置、存储介质及电子装置

文献发布时间:2024-04-18 19:58:26


一种虚拟机加速硬件调整方法、装置、存储介质及电子装置

技术领域

本申请实施例涉及云计算领域,具体而言,涉及一种虚拟机加速硬件调整方法、装置、存储介质及电子装置。

背景技术

在云计算领域中,用户会从云计算平台申请使用虚拟机,随着时间的推移,用户对虚拟机的加速能力需求也会不断变化,例如:用户的虚拟机一开始没有加速硬件,但是需求增加,需要在虚拟机中新增加速硬件;或者用户的虚拟机一开始有加速硬件,但是需求改变,用户想让虚拟机的加速硬件也随之动态变化。

现有技术中,在创建带有加速硬件的虚拟机时,用户需要提供加速硬件规格信息给云计算平台,云计算平台根据加速硬件规格进行过滤,找到满足条件的主机,然后选择一个主机创建虚拟机。在创建虚拟机时,云计算平台会根据加速硬件规格信息分配相应的加速硬件给虚拟机。

现有技术中存在的问题是,虚拟机一旦创建好,云计算平台很难再对虚拟机的加速硬件进行动态调整。当用户对现有虚拟机的加速硬件规格、数量等需求发生改变时,往往只能删除原有虚拟机,创建新的满足需求的虚拟机。该方法灵活性差,调整周期长,会对用户业务产生较大的影响。

云计算平台的加速硬件通常包括图形处理器(Graphics Processing Unit,简称为GPU)、AI加速卡(Neural-Network Processing Unit,简称为NPU)、可编程加速卡(FieldProgrammable Gate Array,简称为FPGA)、智能网卡(Smart NIC)。相关技术中提出了一种针对PCI类型加速设备进行调整的解决方案,但该方案仅能对智能网卡、FPGA这类虚拟化的PCI加速设备进行调整,无法实现对GPU、NPU等加速硬件的添加或删除,也无法对虚拟机加速设备的数量进行调整,通用性较差。

发明内容

本申请实施例提供了一种虚拟机加速硬件调整方法、装置、存储介质及电子装置,以至少解决相关技术中虚拟机创建以后无法对虚拟机的加速硬件的规格和数量进行动态调整的问题。

根据本申请的一个实施例,提供了一种虚拟机的加速硬件调整方法,所述方法包括:

接收对虚拟机的加速硬件进行调整的修改请求;

通过解析所述修改请求获取所述加速硬件的修改设备信息;

根据所述修改设备信息确定所述加速硬件的目标加速硬件增量信息,并根据所述目标加速硬件增量信息确定目标加速硬件的修改方案;

根据所述修改方案对所述虚拟机的加速硬件进行调整。

根据本申请的另一个实施例,还提供了一种虚拟机加速硬件调整装置,所述装置包括:

接收模块,用于接收对虚拟机的加速硬件进行调整的修改请求;

解析模块,用于通过解析所述修改请求获取所述加速硬件的修改设备信息;

确定模块,用于根据所述修改设备信息确定所述加速硬件的目标加速硬件增量信息,并根据所述目标加速硬件增量信息确定目标加速硬件的修改方案;

调整模块,用于根据所述修改方案对所述虚拟机的加速硬件进行调整。

根据本申请的又一个实施例,还提供了一种计算机可读的存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。

根据本申请的又一个实施例,还提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。

本申请实施例,接收对虚拟机的加速硬件进行调整的修改请求;通过解析所述修改请求获取所述加速硬件的修改设备信息;根据所述修改设备信息确定所述加速硬件的目标加速硬件增量信息,并根据所述目标加速硬件增量信息确定目标加速硬件的修改方案;根据所述修改方案对所述虚拟机的加速硬件进行调整,可以解决相关技术中虚拟机创建以后无法对虚拟机的加速硬件的规格和数量进行动态调整的问题,根据实际需求对已创建虚拟机的加速硬件进行添加、删除操作,从而满足用户对虚拟机加速能力不断变化的需求。

附图说明

图1是本申请实施例的虚拟机加速硬件调整方法的移动终端的硬件结构框图;

图2是根据本申请实施例的虚拟机加速硬件调整方法的流程图;

图3是根据本申请可选实施例的虚拟机加速硬件调整方法的流程图;

图4是根据本申请实施例的虚拟机加速硬件调整装置的框图;

图5是根据本申请可选实施例的虚拟机加速硬件调整装置的架构图。

具体实施方式

下文中将参考附图并结合实施例来详细说明本申请的实施例。

需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。

本申请实施例中所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在移动终端上为例,图1是本申请实施例的虚拟机加速硬件调整方法的移动终端的硬件结构框图,如图1所示,移动终端可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器104,其中,上述移动终端还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述移动终端的结构造成限定。例如,移动终端还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。

存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本申请实施例中的虚拟机加速硬件调整方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行虚拟机加速硬件调整方法,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至移动终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括移动终端的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。

在本实施例中提供了一种虚拟机加速硬件调整方法,图2是根据本申请实施例的虚拟机加速硬件调整方法的流程图,如图2所示,该流程包括如下步骤:

步骤S202,接收对虚拟机的加速硬件进行调整的修改请求;

步骤S204,通过解析所述修改请求获取所述加速硬件的修改设备信息;

步骤S206,根据所述修改设备信息确定所述加速硬件的目标加速硬件增量信息,并根据所述目标加速硬件增量信息确定目标加速硬件的修改方案;

步骤S208,根据所述修改方案对所述虚拟机的加速硬件进行调整;

本实施例中,上述步骤S202具体可以包括:用户通过命令行或者HTML页面输入修改请求,修改请求可以是增量修改请求或全量修改请求,所述修改请求中包括用于指示待修改虚拟机的虚拟机标识符。还可以将虚拟机可更改的加速硬件规格信息显示在可视化页面,用户通过对可视化页面中的加速硬件规格进行选择的方式输入修改请求。

本实施例中,上述步骤S204具体可以包括:通过解析增量修改请求获取加速硬件增量信息,其中,所述加速硬件增量信息是所述虚拟机需要修改的加速硬件信息;通过解析全量修改请求获取加速硬件全量信息,其中,所述加速硬件全量信息是所述虚拟机的加速硬件进行调整后预期的加速硬件信息。

具体的,加速硬件信息包含加速硬件的部分或全部的硬件规格;加速硬件的硬件规格包括:加速硬件的标识符、种类、数量、厂商名称、厂商号、型号、内存等,加速硬件信息可以是其中的一项或几项。

本实施例中,上述步骤S206具体可以包括:若修改设备信息为加速硬件全量信息,获取虚拟机的已有加速硬件规格,通过比对加速硬件全量信息和已有加速硬件规格确定加速硬件增量信息。具体的,通过比对加速硬件全量信息和已有加速硬件规格确定两者的差值,将差值确定为加速硬件增量信息,例如加速硬件全量信息中加速硬件的内存为16G,已有加速硬件规格中加速硬件的内存为8G,则加速硬件增量信息为需要添加加速硬件的内存8G。根据加速硬件增量信息确定目标加速硬件增量信息,进一步的,通过过滤算法从虚拟机的加速硬件资源池中筛选与加速硬件增量信息匹配的目标加速硬件;确定所述目标加速硬件的硬件规格为所述目标加速硬件增量信息。

本实施例中的加速硬件增量信息可以只提供模糊的加速硬件类型或内存大小,也可以具体到某一加速硬件的型号或标识符;目标加速硬件增量信息包含了目标加速硬件的全部规格信息,例如加速硬件的标识符、类型、数量、厂商名称、厂商号、型号、内存等。加速硬件的标识符包括加速硬件的uuid或PCI地址。加速硬件的类型包括智能网卡(SmartNIC)、图形处理器(Graphics Processing Unit,简称为GPU)、AI加速卡(Neural-NetworkProcessing Unit,简称为NPU)、可编程加速卡(Field Programmable Gate Array,简称为FPGA)。

在另一实施例中,上述步骤S206还包括:获取与目标加速硬件增量信息对应的硬件修改执行方案,其中,硬件修改执行方案包括:虚拟机的标识符,目标加速硬件的数量,目标加速硬件的硬件标识符,目标加速硬件的配置信息。

本实施例中,上述步骤S206还包括:目标加速硬件包括一个或多个硬件组合,其中,每个硬件组合对应一个硬件修改执行方案,每个硬件组合包括一个加速硬件或多个加速硬件;在所述目标加速硬件包括多个组合的情况下,对所述多个组合的硬件修改执行方案进行排序,例如,根据目标加速硬件的成本价格或性能对多个组合对应的硬件修改执行方案进行排序,根据客户需求可设置性能最优、价格最低等排序规则。

在一实施例中,上述步骤S208具体可以包括:关闭所述虚拟机;根据所述硬件修改执行方案在所述虚拟机的配置文件中添加或删除所述目标加速硬件的配置信息;重启所述虚拟机。

具体的,虚拟机的标识符指示要修改的虚拟机,目标加速硬件的数量和硬件标识符指示要修改的加速硬件,通过修改虚拟机的配置文件实现对虚拟机加速硬件的变更。

例如,对于FPGA时,可以将FPGA对应的PCI地址以固定格式写入虚拟机的xml配置文件中;对于NVIDIA厂商提供的虚拟GPU,可以把虚拟GPU对应的uuid以固定格式写入虚拟机的xml配置文件中。

本实施例中,上述步骤S208还包括:对多个组合的硬件修改执行方案执行以下操作直到调整成功:关闭虚拟机;根据当前硬件修改执行方案在虚拟机的配置文件中添加或删除所述目标加速硬件的配置信息;重启虚拟机;检测调整是否成功;若调整成功,发送调整完毕通知,并显示调整后的加速硬件配置信息;若调整失败,根据下一硬件修改执行方案在虚拟机的配置文件中添加或删除目标加速硬件的配置信息。

通过上述步骤S202至S208,可以解决相关技术中虚拟机创建以后无法对虚拟机的加速硬件的规格和数量进行动态调整的问题,根据实际需求对已创建虚拟机的加速硬件进行添加、删除操作,从而满足用户对虚拟机加速能力不断变化的需求。

图3是本申请实施例中根据目标加速硬件增量信息确定虚拟机迁移方案的流程图,如图3所示,该流程包括以下步骤:

步骤S302,检测虚拟机的原宿主机是否满足目标加速硬件增量信息;

步骤S304,若原宿主机不满足目标加速硬件增量信息,根据目标加速硬件增量信息从加速硬件资源池中确定满足目标加速硬件增量信息的目标宿主机;

步骤S306,根据原宿主机和目标宿主机确定目标加速硬件的修改方案,其中,所述修改方案为虚拟机的迁移方案。

具体的,虚拟机的迁移方案包括原宿主机的标识符、目标宿主机的标识符、虚拟机迁移方式等,其中,虚拟机迁移方式分为热迁移和冷迁移。

在本实施例中,在步骤S306之后,根据虚拟机的迁移方案将所述虚拟机从原宿主机迁移到目标宿主机,其中,所述虚拟机迁移方案包括热迁移或冷迁移。

在另一实施例中,修改请求还可以包括对虚拟机中加速硬件的驱动,或者FPGA加速硬件的算法进行安装或卸载的修改请求。

在本实施例中修改设备信息还包括:加速硬件的驱动信息和/或算法信息。

具体的,驱动信息,包括以下至少之一:驱动编号、驱动名称、驱动版本;加速硬件的算法信息,包括以下至少之一:算法编号、算法名称。根据修改设备信息可以获取驱动或算法的目标加速硬件增量信息,其中,所述目标加速硬件增量信息包括驱动编号、驱动名称、驱动版本,或者,所述目标加速硬件增量信息包括算法编号、算法名称;

在一实施例中,根据目标加速硬件增量信息确定目标加速硬件的修改方案,包括:根据所述加速硬件的驱动信息和/或算法信息获取所述加速硬件的安装镜像文件和安装脚本,其中,所述安装镜像文件包括:驱动镜像文件和依赖镜像文件,和/或,算法镜像文件。

安装脚本是由专业技术人员根据各厂商驱动/算法的安装特性和安装步骤进行编写的,包括安装完成后对虚拟机或部分服务的重启步骤;通过安装脚本可以执行对驱动/算法的自动安装操作;所述安装脚本还可以替换为卸载脚本,用于执行对驱动/算法的自动卸载操作。

具体的,检测目标加速硬件对应的驱动/算法镜像文件和依赖镜像文件是否已存在于虚拟机中,若不存在,则根据驱动/算法信息下载对应的镜像文件,镜像文件可以存储在云计算平台中专门用于管理镜像的组件中。

在另一实施例中,修改方案中也可以只包括算法编号或驱动编号,云计算平台中存储有算法或驱动的信息列表,根据编号和信息列表查找对应的镜像文件和安装脚本。

通过本实施例,可以从加速硬件的软件层面实现对虚拟机加速能力的调整,实现了更多类型的加速硬件的调整需求,具备更强的通用性,降低了用户的学习成本。

根据本申请实施例的另一方面,还提供了一种虚拟机加速硬件调整装置,图4是根据本申请实施例的虚拟机加速硬件调整装置的框图,如图4所示,所述装置包括:

接收模块402,用于接收对虚拟机的加速硬件进行调整的修改请求;

解析模块404,用于通过解析所述修改请求获取所述加速硬件的修改设备信息;

确定模块406,用于根据所述修改设备信息确定所述加速硬件的目标加速硬件增量信息,并根据所述目标加速硬件增量信息确定目标加速硬件的修改方案;

调整模块408,用于根据所述修改方案对所述虚拟机的加速硬件进行调整。

在一实施例中,所述确定模块包括:

第一确定子模块,用于若修改设备信息为所述加速硬件全量信息,获取所述虚拟机的已有加速硬件规格,通过比对所述加速硬件全量信息和所述已有加速硬件规格确定所述加速硬件增量信息,根据所述加速硬件增量信息确定所述目标加速硬件增量信息;

第二确定子模块,用于通过过滤算法从所述虚拟机的加速硬件资源池中筛选与所述加速硬件增量信息匹配的目标加速硬件,确定所述目标加速硬件的全部硬件规格为所述目标加速硬件增量信息。

在本实施例中,第一确定子模块,还用于若所述修改设备信息为所述加速硬件增量信息,根据所述加速硬件增量信息确定所述目标加速硬件增量信息。

在本实施例中,第二确定子模块,包括:

第一获取单元,用于获取与所述目标加速硬件增量信息对应的硬件修改执行方案,其中,所述硬件修改执行方案包括:所述虚拟机的标识符,所述目标加速硬件的数量,所述目标加速硬件的硬件标识符,所述目标加速硬件的配置信息。

确定单元,用于检测所述虚拟机的原宿主机是否满足所述目标加速硬件增量信息;若所述原宿主机不满足所述目标加速硬件增量信息,根据所述目标加速硬件增量信息从加速硬件资源池中确定满足所述目标加速硬件增量信息的目标宿主机;根据所述原宿主机和所述目标宿主机确定目标加速硬件的修改方案,其中,所述修改方案为所述虚拟机的迁移方案。

第二获取单元,用于根据所述加速硬件的驱动信息和/或算法信息获取所述加速硬件的安装镜像文件和安装脚本,其中,所述安装镜像文件包括:驱动镜像文件和依赖镜像文件,和/或,算法镜像文件。

在一实施例中,调整模块408,包括:硬件调整单元,还用于关闭所述虚拟机,根据所述硬件修改执行方案在所述虚拟机的配置文件中添加或删除所述目标加速硬件的配置信息,重启所述虚拟机。

在一实施例中,所述装置还包括:排序模块,用于在所述目标加速硬件包括多个组合的情况下,对所述多个组合的硬件修改执行方案进行排序。

在一实施例中,硬件调整单元,还用于对所述多个组合的硬件修改执行方案执行以下操作直到调整成功:关闭所述虚拟机;根据当前硬件修改执行方案在所述虚拟机的配置文件中添加或删除所述目标加速硬件的配置信息;重启所述虚拟机;检测调整是否成功;若调整成功,发送调整完毕通知,并显示调整后的加速硬件配置信息;若调整失败,根据下一硬件修改执行方案在所述虚拟机的配置文件中添加或删除所述目标加速硬件的配置信息。

在另一实施例中,调整模块408,还包括:

虚拟机调整单元,用于根据所述虚拟机的迁移方案将所述虚拟机从所述原宿主机迁移到所述目标宿主机,其中,所述虚拟机迁移方案包括热迁移或冷迁移;

软件调整单元,用于执行所述安装脚本以安装所述加速硬件的安装镜像文件;根据所述安装脚本重启所述虚拟机或所述加速硬件。

图5是根据本申请可选实施例的虚拟机加速硬件调整方法的架构图,如图5所示,所述虚拟机加速硬件调整方法包括以下步骤:

步骤S501,用户终端502发送修改请求给云计算平台504;

步骤S502,云计算平台504发送修改信息给加速硬件管理平台506;

步骤S503,加速硬件管理平台506返回修改方案给云计算平台504;

步骤S504,云计算平台504对虚拟机508操作。

具体的,云计算平台504包括接收模块402、解析模块404、调整模块408,加速硬件管理平台506包括确定模块406,所述修改信息相当于修改设备信息。

本申请的实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。

在一个示例性实施例中,上述计算机可读存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。

本申请的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。

在一个示例性实施例中,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。

本实施例中的具体示例可以参考上述实施例及示例性实施方式中所描述的示例,本实施例在此不再赘述。

显然,本领域的技术人员应该明白,上述的本申请的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本申请不限制于任何特定的硬件和软件结合。

以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

相关技术
  • 基于NTB硬件的虚拟机通信方法、装置、设备及存储介质
  • 一种基于虚拟机的审计方法、装置、服务器及存储介质
  • 一种虚拟机迁移方法、装置、设备及可读存储介质
  • 一种监控虚拟机中系统调用的方法、装置及存储介质
  • 一种虚拟机业务快速恢复方法、系统、装置及存储介质
  • 虚拟机内存的调整方法和装置、存储介质及电子装置
  • 一种硬件加速方法、装置、存储介质及电子设备
技术分类

06120116492035