CN111736950B - 一种虚拟机的加速器资源添加方法及相关装置 - Google Patents

一种虚拟机的加速器资源添加方法及相关装置 Download PDF

Info

Publication number
CN111736950B
CN111736950B CN202010537310.2A CN202010537310A CN111736950B CN 111736950 B CN111736950 B CN 111736950B CN 202010537310 A CN202010537310 A CN 202010537310A CN 111736950 B CN111736950 B CN 111736950B
Authority
CN
China
Prior art keywords
accelerator
virtual machine
resource
binding
synchronous data
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.)
Active
Application number
CN202010537310.2A
Other languages
English (en)
Other versions
CN111736950A (zh
Inventor
宋文平
亓开元
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangdong Inspur Smart Computing Technology Co Ltd
Original Assignee
Guangdong Inspur Big Data Research Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Guangdong Inspur Big Data Research Co Ltd filed Critical Guangdong Inspur Big Data Research Co Ltd
Priority to CN202010537310.2A priority Critical patent/CN111736950B/zh
Publication of CN111736950A publication Critical patent/CN111736950A/zh
Application granted granted Critical
Publication of CN111736950B publication Critical patent/CN111736950B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/29Geographical information databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45562Creating, deleting, cloning virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45579I/O management, e.g. providing access to device drivers or storage
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Remote Sensing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)

Abstract

本申请公开了一种虚拟机的加速器资源添加方法,包括:服务器根据接收到的资源变更消息对当前的加速器资源的同步数据进行更新,得到当前的同步数据;当接收到虚拟机创建指令时,根据所述虚拟机创建指令的加速器规格确定对应的宿主机,并在所述宿主机创建虚拟机;根据所述加速器规格和所述当前的同步数据对所述虚拟机的资源配置信息进行绑定修改,得到已添加加速器资源的虚拟机。通过对同步数据进行更新,在接收到创建指令时创建并绑定对应的加速器,实现将加速器资源进行自动化添加,提高添加加速器的灵活性和效率。本申请还公开了一种虚拟机的加速器资源添加装置、服务器以及计算机可读存储介质,具有以上有益效果。

Description

一种虚拟机的加速器资源添加方法及相关装置
技术领域
本申请涉及计算机技术领域,特别涉及一种虚拟机的加速器资源添加方法、加速器资源添加装置、服务器以及计算机可读存储介质。
背景技术
随着信息技术的不断发展,出现了虚拟机技术和加速器。其中,虚拟机指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。在实体计算机中能够完成的工作在虚拟机中都能够实现。在计算机中创建虚拟机时,需要将实体机的部分硬盘和内存容量作为虚拟机的硬盘和内存容量。每个虚拟机都有独立的CPU、硬盘和操作系统,可以像使用实体机一样对虚拟机进行操作。
加速器资源管理工具旨在为加速器资源提供一个通用的管理机制,例如GPU(Graphics Processing Unit图形处理器),FPGA(Field Programmable Gate Array现场可编程逻辑门阵列),ASIC(Application Specific Integrated Circuit专用集成电路)等加速器。把加速器直通到虚拟机能够使得虚拟机可以直接使用主机上的加速资源,提高虚拟机的性能。当前已有的加速器直通到虚拟机方案为通过配置资源规格的元数据,在调度的时候选择到带有加速器标识的主机,实现加速器直通到虚拟机的目的。
现有技术中,为了实现将加速器应用在虚拟机中,在调度主机创建虚拟机时,将创建虚拟机使用的元数据配置文件根据对应的加速器资源进行修改,然后再创建虚拟机,以便绑定到对应的加速器资源。但是,涉及到对资源规格的元数据进行修改,使得添加加速器资源的过程十分不便,灵活性极低,降低了加载加速器添加资源的效率和灵活程度。
因此,如何提高添加加速器资源的灵活性和效率,是本领域技术人员关注的重点问题。
发明内容
本申请的目的是提供一种虚拟机的加速器资源添加方法、加速器资源添加装置、服务器以及计算机可读存储介质,通过对同步数据进行更新,在接收到创建指令时创建并绑定对应的加速器,实现将加速器资源进行自动化添加,提高添加加速器的灵活性和效率。
为解决上述技术问题,本申请提供一种虚拟机的加速器资源添加方法,包括:
服务器根据接收到的资源变更消息对当前的加速器资源的同步数据进行更新,得到当前的同步数据;
当接收到虚拟机创建指令时,根据所述虚拟机创建指令的加速器规格确定对应的宿主机,并在所述宿主机创建虚拟机;
根据所述加速器规格和所述当前的同步数据对所述虚拟机的资源配置信息进行绑定修改,得到已添加加速器资源的虚拟机。
可选的,服务器根据接收到的资源变更消息对当前的加速器资源的同步数据进行更新,得到当前的同步数据,包括:
加速器管理设备根据预设时间间隔进行加速器资源扫描,得到并发送资源变更消息;
所述服务器接收到所述资源变更消息,根据所述资源变更消息的变更类型和变更内容对当前的加速器资源的同步数据执行对应变更操作,得到所述当前的同步数据。
可选的,当接收到虚拟机创建指令时,根据所述虚拟机创建指令的加速器规格确定对应的宿主机,并在所述宿主机创建虚拟机,包括:
当接收到所述虚拟机创建指令时,根据所述虚拟机创建指令的加速器规格确定对应的加速器资源组合;
根据所述加速器资源组合进行宿主机查找,得到所述对应的宿主机;
在所述对应的宿主机上创建所述虚拟机。
可选的,根据所述加速器规格和所述当前的同步数据对所述虚拟机的资源配置信息进行绑定修改,得到已添加加速器资源的虚拟机,包括:
根据所述加速器规格对应的加速器资源组合在所述当前的同步数据中确定出对应的加速器;
将所述加速器规格、所述虚拟机以及所述加速器之间设置绑定关系;
将所述加速器的信息写入所述虚拟机的资源配置信息中,调用Libvirt接口将所述虚拟机和所述加速器之间进行IO绑定,得到所述已添加加速器资源的虚拟机。
可选的,还包括:
当接收到加速器资源绑定指令时,根据所述加速器资源绑定指令确定目标虚拟机和目标加速器;
采用Libvirt接口将所述目标虚拟机和所述目标加速器进行IO绑定;
将所述目标虚拟机和所述目标加速器之间的绑定关系进行记录,并重新生成所述目标虚拟机的资源配置信息,以便将所述目标加速器与所述目标虚拟机之间进行绑定。
可选的,还包括:
当接收到加速器资源解绑指令时,根据所述加速器资源解绑指令确定待解绑虚拟机和待解绑加速器;
采用Libvirt接口将所述待解绑虚拟机和所述待解绑加速器的IO绑定关系进行清除处理;
将所述待解绑虚拟机和所述待解绑加速器绑定信息进行清除处理,并重新生成所述待解绑虚拟机的资源配置信息,以便将所述待解绑虚拟机和所述待解绑加速器之间进行解绑。
本申请还提供一种虚拟机的加速器资源添加装置,包括:
同步数据更新模块,用于根据接收到的资源变更消息对当前的加速器资源的同步数据进行更新,得到当前的同步数据;
虚拟机创建模块,用于当接收到虚拟机创建指令时,根据所述虚拟机创建指令的加速器规格确定对应的宿主机,并在所述宿主机创建虚拟机;
加速资源添加模块,用于根据所述加速器规格和所述当前的同步数据对所述虚拟机的资源配置信息进行绑定修改,得到已添加加速器资源的虚拟机。
可选的,所述同步数据更新模块,包括:
资源扫描单元,用于根据预设时间间隔进行加速器资源扫描,得到并发送资源变更消息;
数据变更单元,用于接收到所述资源变更消息,根据所述资源变更消息的变更类型和变更内容对当前的加速器资源的同步数据执行对应变更操作,得到所述当前的同步数据。
本申请还提供一种服务器,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上所述的加速器资源添加方法的步骤。
本申请还提供一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的加速器资源添加方法的步骤。
本申请所提供的一种虚拟机的加速器资源添加方法,包括:服务器根据接收到的资源变更消息对当前的加速器资源的同步数据进行更新,得到当前的同步数据;当接收到虚拟机创建指令时,根据所述虚拟机创建指令的加速器规格确定对应的宿主机,并在所述宿主机创建虚拟机;根据所述加速器规格和所述当前的同步数据对所述虚拟机的资源配置信息进行绑定修改,得到已添加加速器资源的虚拟机。
通过接收到的资源变更消息对当前的同步数据进行更新,得到当前的同步数据,然后在当接收到虚拟机创建指令时,确定对应的宿主机并创建虚拟机,最后对该虚拟机添加加速器资源,实现了对虚拟机自动绑定加速器资源,而不是通过修改虚拟机的元数据实现,降低了虚拟机绑定加速器资源的门槛,提高了绑定加速器资源的效率,提高加载加速器添加资源的灵活程度。
本申请还提供一种虚拟机的加速器资源添加装置、服务器以及计算机可读存储介质,具有以上有益效果,在此不作赘述。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例所提供的一种虚拟机的加速器资源添加方法的流程图;
图2为本申请实施例所提供的一种虚拟机的加速器资源添加装置的结构示意图。
具体实施方式
本申请的核心是提供一种虚拟机的加速器资源添加方法、加速器资源添加装置、服务器以及计算机可读存储介质,通过对同步数据进行更新,在接收到创建指令时创建并绑定对应的加速器,实现将加速器资源进行自动化添加,提高添加加速器的灵活性和效率。
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
现有技术中,为了实现将加速器应用在虚拟机中,在调度主机创建虚拟机时,将创建虚拟机使用的元数据配置文件根据对应的加速器资源进行修改,然后再创建虚拟机,以便绑定到对应的加速器资源。但是,涉及到对资源规格的元数据进行修改,使得添加加速器资源的过程十分不便,灵活性极低,降低了加载加速器添加资源的效率和灵活程度。
因此,本申请提供一种虚拟机的加速器资源添加方法,通过接收到的资源变更消息对当前的同步数据进行更新,得到当前的同步数据,然后在当接收到虚拟机创建指令时,确定对应的宿主机并创建虚拟机,最后对该虚拟机添加加速器资源,实现了对虚拟机自动绑定加速器资源,而不是通过修改虚拟机的元数据实现,降低了虚拟机绑定加速器资源的门槛,提高了绑定加速器资源的效率,提高加载加速器添加资源的灵活程度。
以下通过一个实施例,对本申请提供的一种虚拟机的加速器资源添加方法进行说明。
请参考图1,图1为本申请实施例所提供的一种虚拟机的加速器资源添加方法的流程图。
本实施例中,该方法可以包括:
S101,服务器根据接收到的资源变更消息对当前的加速器资源的同步数据进行更新,得到当前的同步数据;
本步骤旨在服务器对当前应用环境下的加速器资源进行同步更新,得到当前的同步数据。本步骤主要是对云平台中的所有加速器资源进行实时同步,使服务器对当前的平台的所有加速器资源进行实时的管理和控制,以便直接根据服务器中的同步数据对加速器资源相应的绑定和解绑操作。同时,实时同步的同步数据可以方便用户操作时进行参考,而不需要用户或技术人员对现场的加速器资源进行监控和管理,只需要在云平台中查看加速器的状态即可,极大的降低了对加速器资源进行管控的成本和门槛,极大的提高了加速器资源管控的灵活性和效率。
进一步的,本步骤中还可以包括:
将当前的同步数据通过预设路径进行展示。
其中,预设路径包括但不限于网页形式展示,通过邮件的方式进行展示,通过设备中的应用程序进行展示。相应的,存在不同预设路径的展示方式,就对应存在不同的操作方式。当网页形式展示通过网页进行操作,当邮件方式进行展示,通过回复邮件的方式进行操作,当通过应用程序方式进行展示直接在应用程序中进行操作。
此外,为了将本实施例中的同步数据显示得更加清楚明晰,还可以将不同的加速器组合进行拆分显示。例如,现有的加速器组合为3个GPU和2个FPGA,在拆分显示时将每个GPU和每个FPGA都拆分为一个一个加速器进行显示。在加速器资源被绑定至虚拟机后,可以以单个虚拟机为单位,将该虚拟机中的所有的加速器进行合并显示。例如,该虚拟机中绑定了GPU1,GPU2,GPU3,以及FPGA1和FPGA2,合并显示为三个GPU,两个FPGA。
可选的,本步骤可以包括:
步骤1,加速器管理设备根据预设时间间隔进行加速器资源扫描,得到并发送资源变更消息;
步骤2,服务器接收到资源变更消息,根据资源变更消息的变更类型和变更内容对当前的加速器资源的同步数据执行对应变更操作,得到当前的同步数据。
可见,本可选方案中主要是对如何对同步数据进行更新,做进一步说明。首先是,加速器管理设备根据预设时间间隔进行加速器资源扫描,以便确定当前的加速器的硬件状态,硬件状态包括但不限于增多、减少、变更以及删除。然后,根据硬件状态确定出资源变更消息最后将该资源变更消息发送至服务器中。最后,服务器根据接收到的资源变更消息对同步数据进行变更操作,得到当前的最新的同步数据。
S102,当接收到虚拟机创建指令时,根据虚拟机创建指令的加速器规格确定对应的宿主机,并在宿主机创建虚拟机;
在S101的基础上,本步骤旨在根据虚拟机创建指令确定对应的宿主机,并在该宿主机创建虚拟机。可见,本实施例中对虚拟机中添加加速器资源的方式是先创建虚拟机,然后在后续的步骤中再对虚拟机添加对应的加速器资源。
而在现有技术中,对虚拟机添加加速器资源时,主要是在创建虚拟机资源中直接在创建的过程中对虚拟机的元数据添加对应的加速器资源的数据,以便实现加速器资源的绑定操作。但是,只能在创建虚拟机的过程中添加对应的加速器资源,灵活性极低。
可见,本实施例中首先创建对应的虚拟机然后执行对应的加速器资源的添加操作,有效的提高了添加加速器资源的灵活程度和效率。
可选的,本步骤可以包括:
步骤1,当接收到虚拟机创建指令时,根据虚拟机创建指令的加速器规格确定对应的加速器资源组合;
步骤2,根据加速器资源组合进行宿主机查找,得到对应的宿主机;
步骤3,在对应的宿主机上创建虚拟机。
本可选方案中,主要是对如何在对应的宿主机中创建出虚拟机进行说明。本可选方案中,首先当接收到虚拟机创建指令时,根据虚拟机创建指令的加速器规格确定对应的加速器资源组合;然后,根据加速器资源组合进行宿主机查找,得到对应的宿主机;最后,在对应的宿主机上创建虚拟机。
主要是由于不同的宿主机上的加速器资源存在不同的差异,需要选择与该加速器规格对应的宿主机,以便在绑定加速器时,可以在本地选择出需要的加速器资源组合。而不会出现虚拟机的需求大于宿主机实际的硬件配置的问题。
S103,根据加速器规格和当前的同步数据对虚拟机的资源配置信息进行绑定修改,得到已添加加速器资源的虚拟机。
在S102的基础上,本步骤旨在根据加速器规格和当前的同步数据对该虚拟机的资源配置信息进行绑定修改,得到该已添加加速器资源的虚拟机。
可选的,本步骤可以包括:
步骤1,根据加速器规格对应的加速器资源组合在当前的同步数据中确定出对应的加速器;
步骤2,将加速器规格、虚拟机以及加速器之间设置绑定关系;
步骤3,将加速器的信息写入虚拟机的资源配置信息中,调用Libvirt接口将虚拟机和加速器之间进行IO绑定,得到已添加加速器资源的虚拟机。
可见,本可选技术方案中,主要是如何在同步数据中将加速器规格对应的加速器资源添加至该虚拟机中,以便最后得到已添加加速器资源的虚拟机。首先根据该加速器规格对应的加速器资源在该当前的同步数据中确定出对应的加速器,然后,将该加速器规格、虚拟机以及该加速器之间设置对应的绑定关系,然后将该加速器的信息写入该虚拟机的资源配置信息中,再调用Libvirt接口实现虚拟机到加速器资源之间的IO绑定,最终实现将该加速器资源添加至该虚拟中。
其中,Libvirt接口是用于管理虚拟化平台的开源的API(ApplicationProgramming Interface应用程序接口)。
可选的,本实施还可以包括:
当接收到加速器资源绑定指令时,根据加速器资源绑定指令确定目标虚拟机和目标加速器;
采用Libvirt接口将目标虚拟机和目标加速器进行IO绑定;
将目标虚拟机和目标加速器之间的绑定关系进行记录,并重新生成目标虚拟机的资源配置信息,以便将目标加速器与目标虚拟机之间进行绑定。
可见,通过本可选方案中,主要是对如何将加速器直接添加至现有的虚拟机中进行说明。首先确定目标虚拟机和目标加速器,然后直接进行IO绑定,最后将绑定关系进行记录,实现了在已有虚拟机的前提下对虚拟机绑定对应的加速器资源。而不是重新创建新的虚拟机再在创建的过程中添加对应的虚拟机。
可选的,本实施还可以包括:
当接收到加速器资源解绑指令时,根据加速器资源解绑指令确定待解绑虚拟机和待解绑加速器;
采用Libvirt接口将待解绑虚拟机和待解绑加速器的IO绑定关系进行清除处理;
将待解绑虚拟机和待解绑加速器绑定信息进行清除处理,并重新生成待解绑虚拟机的资源配置信息,以便将待解绑虚拟机和待解绑加速器之间进行解绑。
可见,本可选方案主要是对如何进行加速器资源的解绑操作进行说明。本可选方案中,首先确定需要进行解绑操作的虚拟机和加速器,然后清除两者之间的绑定IO关系,最后将绑定信息进行清除并重新生成对应的资源配置新,实现将待解绑虚拟机和待解绑加速器之间进行解绑。
综上,本实施例通过接收到的资源变更消息对当前的同步数据进行更新,得到当前的同步数据,然后在当接收到虚拟机创建指令时,确定对应的宿主机并创建虚拟机,最后对该虚拟机添加加速器资源,实现了对虚拟机自动绑定加速器资源,而不是通过修改虚拟机的元数据实现,降低了虚拟机绑定加速器资源的门槛,提高了绑定加速器资源的效率,提高加载加速器添加资源的灵活程度。
以下通过一个具体的实施例,对本申请提供的一种虚拟机的加速器资源添加方法做进一步说明。
本实施例中,首先将加速器资源进行同步,包括以下步骤:
步骤1,加速器资源管理工具定时发现平台中的加速器资源;
步骤2,当发现新的加速器资源时,加速器资源管理工具保存加速器资源到数据库并上报给系统资源管理模块保存数据,如果出现异常,加速器资源管理工具回滚数据库数据并清除系统资源管理模块残留数据;
步骤3,当移除平台中的加速器资源时,自动删除加速器资源管理工具数据库数据并清除系统资源管理模块中的资源信息;
步骤4,加速器资源管理工具定时拿数据库的资源信息与系统资源管理模块数据进行对比,当系统资源管理模块出现数据异常时,自动对异常数据进行修复。
然后,创建虚拟机指定加速器规格,以便将加速器添加至新创建的虚拟机中。具体的,添加虚拟机的过程可以如下:
步骤1,创建加速器规格,可以是平台中加速器资源的任意组合;
步骤2,创建虚拟机,并指定加速器规格;
步骤3,调度主机时,如果创建虚拟机请求中有加速器规格,就把加速器规格对应的组合信息加入到查询条件中,选出符合条件的主机,同时在系统资源管理模块记录虚拟机占用的加速器资源信息;
步骤4,在加速器资源管理工具记录加速器规格、加速器和虚拟机三者之间的绑定关系;
步骤5,启动虚拟机时,把加速器信息写入到虚拟机xml文件中;
步骤6,调用Libvirt接口实现虚拟机对加速器设备的绑定。
可见,通过该添加虚拟机的过程在创建单个虚拟机、批量创建虚拟机时选定加速器规格绑定加速器,不再把加速器规格配置到资源规格的元数据中,解除了加速器和资源规格之间的依赖,减轻了资源规格元数据配置繁多的问题。创建单个虚拟机可以一次性绑定多个不同类型的加速器设备,批量创建虚拟机可以对多个虚拟机同时绑定加速器设备,满足了用户各种不同的使用场景。
此外,还可以指定加速器绑定到虚拟机,步骤如下:
步骤1,指定虚拟机,选择加速器设备进行绑定;
步骤2,调用Libvirt接口实现虚拟机对加速器设备的绑定;
步骤3,在系统资源管理模块记录虚拟机占用的加速器资源;
步骤4,在加速器资源管理工具记录加速器和虚拟机两者之间的绑定关系;
步骤5,在虚拟机重启时通过查询加速器资源管理工具的记录重新生成虚拟机的xml文件。
在绑定了虚拟机的基础上,该可以解绑虚拟机上的加速器,过程可以如下:
步骤1,指定虚拟机,选择加速器设备进行解绑;
步骤2,调用Libvirt接口解除虚拟机对加速器设备的绑定;
步骤3,在系统资源管理模块清除虚拟机占用加速器资源的记录;
步骤4,在加速器资源管理工具清除加速器和虚拟机两者之间绑定关系记录;
步骤5,在虚拟机重启时重新生成虚拟机的xml文件。
其中,在对加速器资源进行同步时,还可以对各种加速器资源数据进行合并和拆分的操作,以便提高加速器资源进行显示的效果。
具体的,在创建加速器规格时,由于目前加速器绑定虚拟机是一对一的,因此需要把资源数量大于1的资源进行拆分以便创建虚拟机调度正确。因此需要把页面传过来的数据格式进行转换。
进行拆分的过程可以包括:
步骤(1)循环界面传入的资源组合数据;
步骤(2)针对每一组数据,找到“resources:”开头的资源,记录对应的资源数量;
步骤(3)循环资源数量,生成相同数量的数据,保证每一组数据的数量为1,供虚拟机调度加速器资源使用;
步骤(4)完成循环,返回拆分后的资源组合数据。
具体的,展示加速器规格时,需要把相同资源的数据进行合并显示。
其中,进行合并的步骤可以如下:
步骤(1)定义两个变量,一个是需要展示的资源组合数据,一个用于临时存储资源组合数据;
步骤(2)循环数据库中资源组合数据;
步骤(3)当组合数据不在临时存储资源组合数据的变量中时,添加到该变量中;
步骤(4)定义当前组合数据的数量为1,循环剩下的组合数据,每当有和当前组合数据相同的记录,数量递增1;
步骤(5)循环组合数据中的数据,找到“resources:”开头的资源,把它对应的值赋值为步骤(4)定义的数量;
步骤(6)完成循环,返回合并后的资源组合数据。
可见,本实施例通过在加速器资源发现和同步的过程中保证数据库中数据的正确性,做好使用加速器资源的准备。在创建单个虚拟机、批量创建虚拟机时选定加速器规格绑定加速器,实现了加速器规格与资源规格的分离,支持按照加速器厂商、产品号、类型、数量进行调度主机,以及对运行中或关机状态的虚拟机绑定和解绑指定的加速器设备。
下面对本申请实施例提供的一种虚拟机的加速器资源添加装置进行介绍,下文描述的一种虚拟机的加速器资源添加装置与上文描述的一种虚拟机的加速器资源添加方法可相互对应参照。
请参考图2,图2为本申请实施例所提供的一种虚拟机的加速器资源添加装置的结构示意图。
本实施例中,该装置可以包括:
同步数据更新模块100,用于根据接收到的资源变更消息对当前的加速器资源的同步数据进行更新,得到当前的同步数据;
虚拟机创建模块200,用于当接收到虚拟机创建指令时,根据虚拟机创建指令的加速器规格确定对应的宿主机,并在宿主机创建虚拟机;
加速资源添加模块300,用于根据加速器规格和当前的同步数据对虚拟机的资源配置信息进行绑定修改,得到已添加加速器资源的虚拟机。
可选的,该同步数据更新模块100,可以包括:
资源扫描单元,用于根据预设时间间隔进行加速器资源扫描,得到并发送资源变更消息;
数据变更单元,用于接收到资源变更消息,根据资源变更消息的变更类型和变更内容对当前的加速器资源的同步数据执行对应变更操作,得到当前的同步数据。
本申请还提供一种服务器,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如以上实施例所述的加速器资源添加方法的步骤。
本申请还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如以上实施例所述的加速器资源添加方法的步骤。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上对本申请所提供的一种虚拟机的加速器资源添加方法、加速器资源添加装置、服务器以及计算机可读存储介质进行了详细介绍。本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。

Claims (8)

1.一种虚拟机的加速器资源添加方法,其特征在于,包括:
服务器根据接收到的资源变更消息对当前的加速器资源的同步数据进行更新,得到当前的同步数据;
当接收到虚拟机创建指令时,根据所述虚拟机创建指令的加速器规格确定对应的宿主机,并在所述宿主机创建虚拟机;
根据所述加速器规格和所述当前的同步数据对所述虚拟机的资源配置信息进行绑定修改,得到已添加加速器资源的虚拟机;
其中,所述当接收到虚拟机创建指令时,根据所述虚拟机创建指令的加速器规格确定对应的宿主机,并在所述宿主机创建虚拟机,包括:
当接收到所述虚拟机创建指令时,根据所述虚拟机创建指令的加速器规格确定对应的加速器资源组合;
根据所述加速器资源组合进行宿主机查找,得到所述对应的宿主机;
在所述对应的宿主机上创建所述虚拟机;
所述根据所述加速器规格和所述当前的同步数据对所述虚拟机的资源配置信息进行绑定修改,得到已添加加速器资源的虚拟机,包括:
根据所述加速器规格对应的加速器资源组合在所述当前的同步数据中确定出对应的加速器;
将所述加速器规格、所述虚拟机以及所述加速器之间设置绑定关系;
将所述加速器的信息写入所述虚拟机的资源配置信息中,调用Libvirt接口将所述虚拟机和所述加速器之间进行IO绑定,得到所述已添加加速器资源的虚拟机。
2.根据权利要求1所述的加速器资源添加方法,其特征在于,服务器根据接收到的资源变更消息对当前的加速器资源的同步数据进行更新,得到当前的同步数据,包括:
加速器管理设备根据预设时间间隔进行加速器资源扫描,得到并发送资源变更消息;
所述服务器接收到所述资源变更消息,根据所述资源变更消息的变更类型和变更内容对当前的加速器资源的同步数据执行对应变更操作,得到所述当前的同步数据。
3.根据权利要求1所述的加速器资源添加方法,其特征在于,还包括:
当接收到加速器资源绑定指令时,根据所述加速器资源绑定指令确定目标虚拟机和目标加速器;
采用Libvirt接口将所述目标虚拟机和所述目标加速器进行IO绑定;
将所述目标虚拟机和所述目标加速器之间的绑定关系进行记录,并重新生成所述目标虚拟机的资源配置信息,以便将所述目标加速器与所述目标虚拟机之间进行绑定。
4.根据权利要求1所述的加速器资源添加方法,其特征在于,还包括:
当接收到加速器资源解绑指令时,根据所述加速器资源解绑指令确定待解绑虚拟机和待解绑加速器;
采用Libvirt接口将所述待解绑虚拟机和所述待解绑加速器的IO绑定关系进行清除处理;
将所述待解绑虚拟机和所述待解绑加速器绑定信息进行清除处理,并重新生成所述待解绑虚拟机的资源配置信息,以便将所述待解绑虚拟机和所述待解绑加速器之间进行解绑。
5.一种虚拟机的加速器资源添加装置,其特征在于,包括:
同步数据更新模块,用于根据接收到的资源变更消息对当前的加速器资源的同步数据进行更新,得到当前的同步数据;
虚拟机创建模块,用于当接收到虚拟机创建指令时,根据所述虚拟机创建指令的加速器规格确定对应的宿主机,并在所述宿主机创建虚拟机;
加速资源添加模块,用于根据所述加速器规格和所述当前的同步数据对所述虚拟机的资源配置信息进行绑定修改,得到已添加加速器资源的虚拟机;
其中,所述装置还用于:当接收到所述虚拟机创建指令时,根据所述虚拟机创建指令的加速器规格确定对应的加速器资源组合;根据所述加速器资源组合进行宿主机查找,得到所述对应的宿主机;在所述对应的宿主机上创建所述虚拟机;根据所述加速器规格对应的加速器资源组合在所述当前的同步数据中确定出对应的加速器;将所述加速器规格、所述虚拟机以及所述加速器之间设置绑定关系;将所述加速器的信息写入所述虚拟机的资源配置信息中,调用Libvirt接口将所述虚拟机和所述加速器之间进行IO绑定,得到所述已添加加速器资源的虚拟机。
6.根据权利要求5所述的加速器资源添加装置,其特征在于,所述同步数据更新模块,包括:
资源扫描单元,用于根据预设时间间隔进行加速器资源扫描,得到并发送资源变更消息;
数据变更单元,用于接收到所述资源变更消息,根据所述资源变更消息的变更类型和变更内容对当前的加速器资源的同步数据执行对应变更操作,得到所述当前的同步数据。
7.一种服务器,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至4任一项所述的加速器资源添加方法的步骤。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至4任一项所述的加速器资源添加方法的步骤。
CN202010537310.2A 2020-06-12 2020-06-12 一种虚拟机的加速器资源添加方法及相关装置 Active CN111736950B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010537310.2A CN111736950B (zh) 2020-06-12 2020-06-12 一种虚拟机的加速器资源添加方法及相关装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010537310.2A CN111736950B (zh) 2020-06-12 2020-06-12 一种虚拟机的加速器资源添加方法及相关装置

Publications (2)

Publication Number Publication Date
CN111736950A CN111736950A (zh) 2020-10-02
CN111736950B true CN111736950B (zh) 2024-02-23

Family

ID=72649070

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010537310.2A Active CN111736950B (zh) 2020-06-12 2020-06-12 一种虚拟机的加速器资源添加方法及相关装置

Country Status (1)

Country Link
CN (1) CN111736950B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112882791B (zh) * 2021-02-04 2024-04-09 深信服科技股份有限公司 虚拟机性能的优化方法、设备及存储介质
CN117170795A (zh) * 2022-05-25 2023-12-05 中兴通讯股份有限公司 一种虚拟机加速硬件调整方法、装置、存储介质及电子装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103930875A (zh) * 2011-06-16 2014-07-16 尤塞瑞斯公司 用于加速业务数据处理的软件虚拟机
WO2014108933A1 (en) * 2013-01-10 2014-07-17 Hitachi, Ltd. Resource management system and resource management method of a computer system
CN105159753A (zh) * 2015-09-25 2015-12-16 华为技术有限公司 加速器虚拟化的方法、装置及集中资源管理器
CN108062239A (zh) * 2016-11-09 2018-05-22 华为技术有限公司 一种加速器加载方法、系统和加速器加载装置
WO2019178855A1 (zh) * 2018-03-23 2019-09-26 华为技术有限公司 一种虚拟机访问远端加速设备方法及系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103930875A (zh) * 2011-06-16 2014-07-16 尤塞瑞斯公司 用于加速业务数据处理的软件虚拟机
WO2014108933A1 (en) * 2013-01-10 2014-07-17 Hitachi, Ltd. Resource management system and resource management method of a computer system
CN105159753A (zh) * 2015-09-25 2015-12-16 华为技术有限公司 加速器虚拟化的方法、装置及集中资源管理器
CN108062239A (zh) * 2016-11-09 2018-05-22 华为技术有限公司 一种加速器加载方法、系统和加速器加载装置
WO2019178855A1 (zh) * 2018-03-23 2019-09-26 华为技术有限公司 一种虚拟机访问远端加速设备方法及系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
基于CAM的数据库查询硬件加速方法;苏童;唐永鹤;蒋烈辉;;信息工程大学学报(第02期);全文 *
虚拟化云计算中资源管理的研究;李亚奇;;电脑知识与技术(第12期);全文 *

Also Published As

Publication number Publication date
CN111736950A (zh) 2020-10-02

Similar Documents

Publication Publication Date Title
CN111736950B (zh) 一种虚拟机的加速器资源添加方法及相关装置
CN103634379A (zh) 一种分布式存储空间的管理方法和分布式存储系统
CN112306968B (zh) 场景建立方法和装置
JP2011134010A (ja) 運用管理プログラム、運用管理装置および運用管理方法
CN112433812B (zh) 一种虚拟机跨集群迁移方法、系统、设备及计算机介质
CN112102457A (zh) 3d渲染方法及系统
CN111158957B (zh) 一种虚拟机文件恢复方法、系统、装置及存储介质
CN110795118A (zh) 一种云平台升级工具及升级方法
CN112199192A (zh) 基于服务器部署Kubernetes集群精细化管理配额的方法及系统
CN110781137A (zh) 分布式系统的目录读取方法、装置、服务器和存储介质
CN114756527A (zh) Redis集群的扩容方法、装置、电子设备和存储介质
CN108667750B (zh) 虚拟资源管理方法及装置
CN116820527B (zh) 程序升级方法、装置、计算机设备和存储介质
CN113050923A (zh) 前端接口数据模拟方法、装置及系统
CN116069447A (zh) 一种虚拟机numa拓扑生成方法、装置、设备、介质
CN113535684B (zh) 一种基于Activiti的自主指挥控制方法
CN113157476B (zh) 虚拟云环境中显卡故障的处理方法及装置
CN113946369A (zh) 设备自动添加方法、装置、系统、设备和存储介质
CN102253940B (zh) 树形控件处理数据的方法和装置
EP3627359A1 (en) Transaction processing method, device and equipment
WO2024114153A1 (zh) 基于寄生程序的资源配置方法、装置、设备、介质及产品
CN112541147A (zh) 一种内容发布管理方法及系统
CN112217773B (zh) 一种防火墙规则处理方法、装置及存储介质
CN115379263B (zh) 一种终端设备的播放内容的管控方法和管控系统
CN109005021B (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
GR01 Patent grant
GR01 Patent grant