CN117707708A - 虚拟机的创建方法、装置、存储介质以及电子设备 - Google Patents

虚拟机的创建方法、装置、存储介质以及电子设备 Download PDF

Info

Publication number
CN117707708A
CN117707708A CN202311843588.2A CN202311843588A CN117707708A CN 117707708 A CN117707708 A CN 117707708A CN 202311843588 A CN202311843588 A CN 202311843588A CN 117707708 A CN117707708 A CN 117707708A
Authority
CN
China
Prior art keywords
target
image data
mirror image
virtual machine
node
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
Application number
CN202311843588.2A
Other languages
English (en)
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.)
Beijing Jinxun Ruibo Network Technology Co Ltd
Beijing Kingsoft Cloud Network Technology Co Ltd
Original Assignee
Beijing Jinxun Ruibo Network Technology Co Ltd
Beijing Kingsoft Cloud Network Technology 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 Beijing Jinxun Ruibo Network Technology Co Ltd, Beijing Kingsoft Cloud Network Technology Co Ltd filed Critical Beijing Jinxun Ruibo Network Technology Co Ltd
Priority to CN202311843588.2A priority Critical patent/CN117707708A/zh
Publication of CN117707708A publication Critical patent/CN117707708A/zh
Pending legal-status Critical Current

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
    • 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/45595Network integration; Enabling network access in virtual machine instances
    • 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)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请涉及一种虚拟机的创建方法、装置、存储介质以及电子设备。该方法包括:在云计算平台的目标计算节点上创建目标虚拟机的情况下,当目标计算节点中未包括目标虚拟机的目标镜像数据时,接收目标计算节点发送的获取请求;在云计算平台的目标代理节点上查找目标镜像数据;在从目标代理节点查找到目标镜像数据的情况下,将目标镜像数据发送给目标计算节点,以使目标计算节点创建目标虚拟机;在目标代理节点上未查找到目标镜像数据的情况下,从分布式对象存储中获取目标镜像数据,并将目标镜像数据发送给目标计算节点,以使目标计算节点创建目标虚拟机。本申请解决了无法创建虚拟机的技术问题。

Description

虚拟机的创建方法、装置、存储介质以及电子设备
技术领域
本申请涉及计算机领域,尤其涉及一种虚拟机的创建方法、装置、存储介质以及电子设备。
背景技术
现有技术中,如果要在云计算管理平台OpenStack平台上的计算节点nova节点上创建虚拟机,则需要使用镜像数据,而镜像数据是存储在nova节点本地的。如果本地没有进行镜像数据,则无法在nova节点上创建虚拟机。
发明内容
本申请提供了一种虚拟机的创建方法、装置、存储介质以及电子设备,以解决无法创建虚拟机的技术问题。
第一方面,本申请提供了一种虚拟机的创建方法,包括:在云计算平台的目标计算节点上创建目标虚拟机的情况下,当上述目标计算节点中未包括上述目标虚拟机的目标镜像数据时,接收上述目标计算节点发送的获取请求;在上述云计算平台的目标代理节点上查找上述目标镜像数据;在从上述目标代理节点查找到上述目标镜像数据的情况下,将上述目标镜像数据发送给上述目标计算节点,以使上述目标计算节点创建上述目标虚拟机;在上述目标代理节点上未查找到上述目标镜像数据的情况下,从分布式对象存储中获取上述目标镜像数据,并将上述目标镜像数据发送给上述目标计算节点,以使上述目标计算节点创建上述目标虚拟机。
第二方面,本申请提供了一种虚拟机的创建装置,包括:接收模块,用于在云计算平台的目标计算节点上创建目标虚拟机的情况下,当上述目标计算节点中未包括上述目标虚拟机的目标镜像数据时,接收上述目标计算节点发送的获取请求;查找模块,用于在上述云计算平台的目标代理节点上查找上述目标镜像数据;处理模块,用于在从上述目标代理节点查找到上述目标镜像数据的情况下,将上述目标镜像数据发送给上述目标计算节点,以使上述目标计算节点创建上述目标虚拟机;在上述目标代理节点上未查找到上述目标镜像数据的情况下,从分布式对象存储中获取上述目标镜像数据,并将上述目标镜像数据发送给上述目标计算节点,以使上述目标计算节点创建上述目标虚拟机。
作为一种可选的示例,上述装置还包括:第一删除模块,用于确定上述目标代理节点的最大缓存容量与可用缓存容量,其中,上述最大缓存容量为上述目标代理节点的被用于存放镜像数据的空间的容量,上述可用缓存容量为上述最大缓存容量中的剩余容量;在上述可用缓存容量不足的情况下,根据上述目标代理节点上的每一个镜像数据的被访问频率、容量大小以及最近一次的访问时间点,确定要删除的第一镜像数据;将上述第一镜像数据从上述目标代理节点上删除。
作为一种可选的示例,上述第一删除模块包括:确定单元,用于在上述最近一次的访问时间点距当前时间点的时间间隔大于预设的时间阈值的情况下,将上述最近一次的访问时间点最远的镜像数据确定为上述第一镜像数据;在上述最近一次的访问时间点距当前时间点的时间间隔小于或等于预设的时间阈值的情况下,将上述容量大小小于预设的容量阈值且上述被访问频率最低的镜像数据确定为上述第一镜像数据。
作为一种可选的示例,上述装置还包括:第二删除模块,用于在上述分布式对象存储中未存在第二镜像数据但上述目标代理节点上存在上述第二镜像数据的情况下,删除上述目标代理节点的上述第二镜像数据。
作为一种可选的示例,上述装置还包括:关联模块,用于在上述目标计算节点通过上述目标代理节点上的上述目标镜像数据创建上述目标虚拟机时,确定上述目标镜像数据的数据标识和上述目标虚拟机的虚拟机标识;在上述数据标识和上述虚拟机标识之间建立关联关系,其中,上述数据标识与上述虚拟机标识为一对一关系或一对多关系。
第三方面,本申请提供了一种电子设备,包括:至少一个通信接口;与上述至少一个通信接口相连接的至少一个总线;与上述至少一个总线相连接的至少一个处理器;与上述至少一个总线相连接的至少一个存储器,其中,上述存储器存储有计算机程序,上述处理器被配置为执行上述计算机程序时实现上述任一项上述的虚拟机的创建方法。
第四方面,本申请还提供了一种计算机存储介质,存储有计算机可执行指令,上述计算机可执行指令用于执行本申请上述任一项上述的虚拟机的创建方法。
本申请实施例提供的上述技术方案与现有技术相比具有如下优点:本申请实施例提供的该方案,通过在云计算平台的目标计算节点上创建目标虚拟机的情况下,当上述目标计算节点中未包括上述目标虚拟机的目标镜像数据时,接收上述目标计算节点发送的获取请求;在上述云计算平台的目标代理节点上查找上述目标镜像数据;在从上述目标代理节点查找到上述目标镜像数据的情况下,将上述目标镜像数据发送给上述目标计算节点,以使上述目标计算节点创建上述目标虚拟机;在上述目标代理节点上未查找到上述目标镜像数据的情况下,从分布式对象存储中获取上述目标镜像数据,并将上述目标镜像数据发送给上述目标计算节点,以使上述目标计算节点创建上述目标虚拟机,从而保证了云计算平台的计算节点顺利创建虚拟机,减少创建失败的情况。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。
图1为本申请实施例提供的一种虚拟机的创建方法的流程图;
图2为本申请实施例提供的一种虚拟机的创建方法的获取目标镜像数据示意图;
图3为本申请实施例提供的一种虚拟机的创建方法的数据标识与虚拟机标识对应关系图;
图4为本申请实施例提供的一种虚拟机的创建方法的缓存镜像数据图;
图5为本申请实施例提供的一种虚拟机的创建装置的结构示意图;
图6为本申请实施例提供的一种电子设备示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
下文的公开提供了许多不同的实施例或例子用来实现本发明的不同结构。为了简化本发明的公开,下文中对特定例子的部件和设置进行描述。当然,它们仅仅为示例,并且目的不在于限制本发明。此外,本发明可以在不同例子中重复参考数字和/或字母。这种重复是为了简化和清楚的目的,其本身不指示所讨论各种实施例和/或设置之间的关系。
为了解决现有技术中无法创建虚拟机的技术问题,本申请提供了一种虚拟机的创建方法,能实现提高虚拟机创建成功率的效果。
图1为本申请实施例提供的一种虚拟机的创建方法的流程图。如图1所示,上述虚拟机的创建方法包括:
S102,在云计算平台的目标计算节点上创建目标虚拟机的情况下,当目标计算节点中未包括目标虚拟机的目标镜像数据时,接收目标计算节点发送的获取请求;
S104,在云计算平台的目标代理节点上查找目标镜像数据;
S106,在从目标代理节点查找到目标镜像数据的情况下,将目标镜像数据发送给目标计算节点,以使目标计算节点创建目标虚拟机;在目标代理节点上未查找到目标镜像数据的情况下,从分布式对象存储中获取目标镜像数据,并将目标镜像数据发送给目标计算节点,以使目标计算节点创建目标虚拟机。
可选的,上述云计算平台可以为开源的云计算管理平台OpenStack,OpenStack中包括了计算节点nova,nova上可以创建虚拟机来提供服务或执行功能等。nova节点在创建虚拟机时,需要使用到镜像数据,通过镜像数据来创建虚拟机。镜像数据可以保存在nova节点上。如果nova节点上没有镜像数据,那么可以向代理节点glance获取,glance可以将镜像数据发送给nova,并由nova保存。如果glance上没有镜像数据,则可以通过glance向分布式对象存储获取镜像数据,并将镜像数据保存在glance和nova上。关系如图2所示。目标计算节点使用目标镜像数据创建目标虚拟机,如果目标计算节点没有目标镜像数据,则向目标代理节点获取,如果目标代理节点也没有,则向分布式对象存储获取,获取到的目标镜像数据保存在目标代理节点和目标镜像节点。
本实施例中,目标计算节点nova为云计算平台OpenStack上的任意一个计算节点,在nova节点上运行有目标虚拟机的情况下,如果目标虚拟机被删除或者被修改,那么,要在该节点上查找用于创建目标虚拟机的目标镜像数据,如果查找到该目标镜像数据,要查看该目标镜像数据是否还关联有其他虚拟机,如果关联有其他虚拟机,则说明该目标镜像数据还要使用,因此可以不删除。如果没有关联其他虚拟机,则要删除该节点上的该目标镜像数据。
本实施例中的关联的其他虚拟机指通过目标镜像数据创建出的虚拟机,通过镜像数据创建虚拟机,则在镜像数据与虚拟机之间建立关联关系。
如图3所示,使用镜像数据创建虚拟机,则在镜像数据的数据标识和创建的虚拟机的虚拟机标识之间建立关联关系。图3中,一个数据标识对应多个虚拟机标识。
本申请实施例提供的该方案,通过在云计算平台的目标计算节点上创建目标虚拟机的情况下,当目标计算节点中未包括目标虚拟机的目标镜像数据时,接收目标计算节点发送的获取请求;在云计算平台的目标代理节点上查找目标镜像数据;在从目标代理节点查找到目标镜像数据的情况下,将目标镜像数据发送给目标计算节点,以使目标计算节点创建目标虚拟机;在目标代理节点上未查找到目标镜像数据的情况下,从分布式对象存储中获取目标镜像数据,并将目标镜像数据发送给目标计算节点,以使目标计算节点创建目标虚拟机,从而保证了云计算平台的计算节点顺利创建虚拟机,减少创建失败的情况。
作为一种可选的示例,在目标计算节点通过目标代理节点上的目标镜像数据创建目标虚拟机时,上述方法还包括:确定目标镜像数据的数据标识和目标虚拟机的虚拟机标识;在数据标识和虚拟机标识之间建立关联关系,其中,数据标识与虚拟机标识为一对一关系或一对多关系。
本实施例中,在使用目标镜像数据创建目标虚拟机时,可以记录目标镜像数据的数据标识,数据标识可以为数据编号,还要记录目标虚拟机的虚拟机标识,虚拟机标识可以为虚拟机编号,然后,在数据编号和虚拟机编号之间建立关联关系,从而记录镜像数据和虚拟机之间的联系,如果使用镜像数据创建多个虚拟机,则数据编号与虚拟机编号之间是一对多的关系。
作为一种可选的示例,上述方法还包括:确定目标代理节点的最大缓存容量与可用缓存容量,其中,最大缓存容量为目标代理节点的被用于存放镜像数据的空间的容量,可用缓存容量为最大缓存容量中的剩余容量;在可用缓存容量不足的情况下,根据目标代理节点上的每一个镜像数据的被访问频率、容量大小以及最近一次的访问时间点,确定要删除的第一镜像数据;将第一镜像数据从目标代理节点上删除。
本实施例中,对于目标代理节点,存储有镜像数据,此外,目标代理节点还设置有最大缓存容量和可用缓存容量,最大缓存容量指分配用来存储镜像数据的缓存空间的容量,可用缓存容量指最大缓存容量中的除已经被占用的空间外的剩余空间的大小。目标代理节点时刻监控最大缓存容量中的可用缓存容量,如果可用缓存容量不足,则可以删除目标代理节点上存储的镜像数据。删除镜像数据时,并不是将目标代理节点上的所有镜像数据删除,而是根据每一个镜像数据的被访问频率、容量大小以及最近一次的访问时间点,确定要删除的第一镜像数据,然后删除第一镜像数据。
被访问频率是指镜像数据被访问来创建虚拟机的次数与时间的比值,容量大小指镜像数据的占用存储空间的大小,最后一次的访问时间点用于记录最后一次访问该镜像数据的时间。在确定第一镜像数据时,根据三个方面的因素确定第一镜像数据。
作为一种可选的示例,在可用缓存容量不足的情况下,根据目标代理节点上的每一个镜像数据的被访问频率、容量大小以及最近一次的访问时间点,确定要删除的第一镜像数据包括:在最近一次的访问时间点距当前时间点的时间间隔大于预设的时间阈值的情况下,将最近一次的访问时间点最远的镜像数据确定为第一镜像数据;在最近一次的访问时间点距当前时间点的时间间隔小于或等于预设的时间阈值的情况下,将容量大小小于预设的容量阈值且被访问频率最低的镜像数据确定为第一镜像数据。
本实施例中,根据被访问频率、容量大小以及最近一次的访问时间点来决定第一镜像数据时,可以先根据最近一次的访问时间点来决定第一镜像数据,最近一次的访问时间点如果与当前时间点的时间间隔较大,大于了预设的时间阈值,则可以将对应的镜像数据作为第一镜像数据删除,如果所有的镜像数据的最近一次的访问时间点与当前时间点的时间间隔小于或等于时间阈值,则说明所有的镜像数据近期都访问过,那么,通过被访问频率和容量大小来决定第一镜像数据。被访问频率记录了镜像数据的被访问的频繁程度,可以将被访问频率低的镜像数据确定为第一镜像数据。此外,如果被访问频率低的镜像数据较大,超过了预设的容量阈值,那么,就不删除该镜像数据,因为该镜像数据最近被访问过,且容量较大,如果删除,再次访问时需要重新从代理节点或者分布式对象存储获取,占用带宽较大。
作为一种可选的示例,上述方法还包括:在分布式对象存储中未存在第二镜像数据但目标代理节点上存在第二镜像数据的情况下,删除目标代理节点的第二镜像数据。
本实施例中可以定期对目标代理节点上的镜像数据进行监控,如果分布式对象存储中的镜像数据已经被删除,则说明该镜像数据已经无需使用,此时,可以将目标代理节点中的该镜像数据删除,以及将目标计算节点中的该镜像数据删除。此外,还可以定期监控目标代理节点、目标计算节点上的镜像数据,当存在未与任何虚拟机关联的镜像数据时删除。
作为一种可选的示例,上述方法还包括:在接收到配置指令的情况下,根据配置指令,确定目标计算节点的要被监控的监控项;在监控项的监控数据超出预设范围的情况下,提示告警消息。
本实施例中,还可以对镜像数据进行监控,监控的监控项和预设范围可以通过配置指令配置。
继续结合图2以一个具体示例说明。本实施例中,镜像数据位于目标计算节点nova节点上,目标代理节点glance节点上,以及分布式对象存储中。Nova节点上保留有与虚拟机关联的镜像数据。对于位于nova节点上的镜像数据,要确保只有当它们不再与任何云虚拟机关联时才能进行清理。如果镜像数据仍在被使用,删除它们会导致虚拟机启动失败。可以跟踪每个镜像数据的关联计数,只有当关联计数为零时才能考虑删除。对于glance节点的镜像数据的缓存管理:对于glance节点上的镜像数据,采用最近最少算法(Least recentlyused,LRU)来管理,删除最近最少使用的镜像数据来释放存储空间。这确保了最近未使用的镜像数据会首先被清理。设置一个默认的初始容量,当缓存空间超过这个容量时,开始镜像数据的清理操作。可以将容量设置得足够大,以容纳最常用的镜像,但不要太大以至于浪费了过多的资源。最近最少使用算法可以根据镜像数据的被使用频率进行缓存淘汰,将最不常用的镜像数据清理出缓存,以便给常用的镜像数据腾出空间。
无论是针对nova节点还是glance节点的镜像缓存,都有定期的清理策略。可以定期检查并清理不再需要的镜像数据,以确保系统资源不被浪费。清理的频率可以根据实际情况和资源使用情况进行调整。需要监控系统的镜像数据使用情况,以便及时采取清理措施。最后记录镜像数据的使用情况和清理操作,以便跟踪系统性能和了解哪些镜像数据是最常用的。通过设置监控警报,以便在缓存空间使用超出阈值或其他异常情况下得到通知,以便及时采取行动。
例如下表1为镜像数据和虚拟机的对应关系,vm_id为镜像数据的数据标识,image_id为虚拟机的虚拟机标识。
表1
可以看到镜像:bw1cd8aa-9c41-4db8-936e-e8ff59e51374关联了三个虚拟机,镜像:2b161e2a-bb0b-4032-9b28-07a04ab0b72d关联了一个虚拟机。该关联数据,是在虚拟机创建的时候,插入到数据库中的。当虚拟机进行删除操作时,会判断虚拟机关联的镜像数据,除了自己之外,还有没有关联其他的虚拟机,如果没有,则说明,删除当前虚拟机后,没有虚拟机和此镜像数据进行关联,则对此镜像数据也可以直接删除。如果虚拟机涉及到重装系统,镜像数据发生变化,镜像数据和云主机的关联关系也会进行对应的修改。如果修改后,也会进行上述的删除判断操作。
对于glance节点的镜像缓存管理时,采用最近最少使用算法。首先设置缓存容量限制:需要确定glance节点上的镜像缓存的容量限制。这是指可以用于存储缓存的最大空间。容量限制应该足够大,以容纳常用的镜像,但不要太大以至于浪费资源。
对于镜像数据的访问,要进行监控。实时监控跟踪每个镜像数据的被访问频率。可以记录每个镜像数据被请求的次数或传输的数据量。
最近最少使用算法实施:使用双向链表维护镜像数据。如下图4所示,当镜像数据的缓存的容量接近限制时,开始使用LRU算法来淘汰最近最少使用的镜像。每次访问镜像时,将该镜像移到缓存的最左侧(表示最近使用)。当需要清理缓存以释放空间时,从缓存最右侧(表示最长时间未使用)开始淘汰镜像,直到空间足够。假设glance节点上的镜像缓存容量限制为100GB,而当前缓存中包含以下镜像:
镜像A:最近访问过,使用频率高。
镜像B:最近访问过,使用频率中等。
镜像C:很长时间没有被访问,使用频率低。
镜像D:最近访问过,但容量较大。
当缓存容量接近100GB时,根据LRU算法:镜像C(最长时间未使用)将首先被淘汰,以释放空间。如果缓存仍然不足,然后镜像B(最近使用频率中等)可能被淘汰。镜像A(最近使用频率高)和镜像D(最近访问过,但容量较大)将保留在缓存中。通过这种方式,glance节点的镜像缓存管理策略会根据镜像的访问情况自动调整,并确保缓存中始终包含当前最需要的镜像,同时释放不再需要的镜像,以节省空间。
对于nova节点和glance节点,要定期清理:清理在nova节点上没有与任何虚拟机关联的镜像数据。这些镜像数据可能是旧的、不再使用的、或者之前删除操作失败的。通过定期清理这些无关联的镜像数据,可以节省存储空间,避免浪费资源。用来清理glance节点上的镜像数据,确保其中只包含当前需要的镜像数据(通过镜像访问频率监控,如果镜像数量没有达到LRU的容量阈值,但是近期没有虚拟机进行使用,则认为此镜像数据不需要了)。清理分布式的对象存储中已经删除的镜像数据也是一部分目标。如果分布式的对象存储中的镜像数据被删除,而glance节点上的缓存仍然存在,这会导致不一致性和资源浪费。通过定期清理,进行数据矫正,可以将glance节点上的缓存与分布式的对象存储中的镜像数据同步,确保一致性,并释放不再需要的缓存空间。这两个定期清理过程都是为了确保系统的镜像数据存储得到优化,以满足性能和资源利用率的要求。在实际操作中,定期清理的频率和策略可以根据系统的使用情况和资源需求进行调整。比如:可以通过一个异步线程去执行,执行周期默认一天一次。
此外还需要实施日志和监控策略,来跟踪系统的性能、资源使用情况。首先选择监控工具和日志记录机制:选择适当的监控工具和日志记录机制,以便能够捕获关于镜像缓存管理的有用信息。常见的监控工具包括Prometheus、Grafana、Zabbix等,而日志记录可以使用日志文件或日志管理系统。然后定义监控指标:确定要监控的关键指标,这些指标可以包括:镜像的被访问次数和频率、缓存容量的使用情况、清理操作的频率和效果、异常事件或错误日志。这些指标可以了解系统的健康状况,并及时检测到潜在的问题。设置报警规则:
基于监控指标,设置报警规则,以便在关键指标超出阈值时接收警报通知。例如,如果缓存容量接近限制或出现异常则执行清理操作,可以收到通知以及时采取行动。定期审查日志和监控数据:定期审查日志和监控数据,以识别潜在问题或趋势。这可以帮助做出调整,例如,调整清理策略或增加缓存容量。假设使用Prometheus和Grafana来监控glance节点的镜像缓存管理。设置了以下监控指标:镜像访问次数和频率:每个镜像的访问次数以及访问频率的图表、缓存容量的使用情况:实时显示缓存容量的使用情况、清理操作的频率和效果:每次清理操作的执行时间和删除的镜像数量、异常事件或错误日志:记录任何清理失败或其他异常情况的日志。
定期审查监控仪表板和日志文件,例如每周一次,以检查是否有以下情况:缓存容量接近限制、清理操作频率过高,可能表明缓存容量设置不合理、镜像访问频率变化或新镜像成为热门镜像、异常事件或错误日志的出现。如果注意到缓存容量不足或清理操作效果不佳,可以根据监控数据采取相应措施,如增加缓存容量或调整清理策略。如果出现异常情况,可以查看错误日志以解决问题。
通过定期监控和审查,可以及时发现问题并采取措施,以确保镜像缓存管理策略的有效性和系统的稳定性。
图5为本申请实施例提供的一种虚拟机的创建装置的结构示意图。如图5所示,上述虚拟机的创建装置包括:
确定模块502,用于确定云计算平台的目标计算节点上运行的目标虚拟机;
第一查找模块504,用于在目标虚拟机被删除或者被修改的情况下,从目标计算节点上查找与目标虚拟机关联的目标镜像数据,其中,目标镜像数据用于创建目标虚拟机;
处理模块506,用于在查找到目标镜像数据,且目标计算节点上未存在与目标镜像数据关联的其他虚拟机的情况下,删除目标计算节点上的目标镜像数据。
可选的,上述云计算平台可以为开源的云计算管理平台OpenStack,OpenStack中包括了计算节点nova,nova上可以创建虚拟机来提供服务或执行功能等。nova节点在创建虚拟机时,需要使用到镜像数据,通过镜像数据来创建虚拟机。镜像数据可以保存在nova节点上。如果nova节点上没有镜像数据,那么可以向代理节点glance获取,glance可以将镜像数据发送给nova,并由nova保存。如果glance上没有镜像数据,则可以通过glance向分布式对象存储获取镜像数据,并将镜像数据保存在glance和nova上。关系如图2所示。目标计算节点使用目标镜像数据创建目标虚拟机,如果目标计算节点没有目标镜像数据,则向目标代理节点获取,如果目标代理节点也没有,则向分布式对象存储获取,获取到的目标镜像数据保存在目标代理节点和目标镜像节点。
本实施例中,目标计算节点nova为云计算平台OpenStack上的任意一个计算节点,在nova节点上运行有目标虚拟机的情况下,如果目标虚拟机被删除或者被修改,那么,要在该节点上查找用于创建目标虚拟机的目标镜像数据,如果查找到该目标镜像数据,要查看该目标镜像数据是否还关联有其他虚拟机,如果关联有其他虚拟机,则说明该目标镜像数据还要使用,因此可以不删除。如果没有关联其他虚拟机,则要删除该节点上的该目标镜像数据。
本实施例中的关联的其他虚拟机指通过目标镜像数据创建出的虚拟机,通过镜像数据创建虚拟机,则在镜像数据与虚拟机之间建立关联关系。
如图3所示,使用镜像数据创建虚拟机,则在镜像数据的数据标识和创建的虚拟机的虚拟机标识之间建立关联关系。图3中,一个数据标识对应多个虚拟机标识。
本申请实施例提供的该方案,通过在云计算平台的目标计算节点上创建目标虚拟机的情况下,当所述目标计算节点中未包括所述目标虚拟机的目标镜像数据时,接收所述目标计算节点发送的获取请求;在所述云计算平台的目标代理节点上查找所述目标镜像数据;在从所述目标代理节点查找到所述目标镜像数据的情况下,将所述目标镜像数据发送给所述目标计算节点,以使所述目标计算节点创建所述目标虚拟机;在所述目标代理节点上未查找到所述目标镜像数据的情况下,从分布式对象存储中获取所述目标镜像数据,并将所述目标镜像数据发送给所述目标计算节点,以使所述目标计算节点创建所述目标虚拟机,从而保证了云计算平台的计算节点顺利创建虚拟机,减少创建失败的情况。
本实施例的其他示例请参见上述示例,在此不再赘述。
如图6所示,本申请实施例提供了一种电子设备,包括处理器111、通信接口112、存储器113和通信总线114,其中,处理器111,通信接口112,存储器113通过通信总线114完成相互间的通信,
存储器113,用于存放计算机程序;
在本申请一个实施例中,处理器111,用于执行存储器113上所存放的程序时,实现前述任意一个方法实施例提供的虚拟机的创建方法。
本申请实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现如前述任意一个方法实施例提供虚拟机的创建方法的步骤。
以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分的方法。
应理解的是,文中使用的术语仅出于描述特定示例实施方式的目的,而无意于进行限制。除非上下文另外明确地指出,否则如文中使用的单数形式“一”、“一个”以及“”也可以表示包括复数形式。术语“包括”、“包含”、“含有”以及“具有”是包含性的,并且因此指明所陈述的特征、步骤、操作、元件和/或部件的存在,但并不排除存在或者添加一个或多个其它特征、步骤、操作、元件、部件、和/或它们的组合。文中描述的方法步骤、过程、以及操作不解释为必须要求它们以所描述或说明的特定顺序执行,除非明确指出执行顺序。还应当理解,可以使用另外或者替代的步骤。
以上所述仅是本发明的具体实施方式,使本领域技术人员能够理解或实现本发明。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。

Claims (10)

1.一种虚拟机的创建方法,其特征在于,包括:
在云计算平台的目标计算节点上创建目标虚拟机的情况下,当所述目标计算节点中未包括所述目标虚拟机的目标镜像数据时,接收所述目标计算节点发送的获取请求;
在所述云计算平台的目标代理节点上查找所述目标镜像数据;
在从所述目标代理节点查找到所述目标镜像数据的情况下,将所述目标镜像数据发送给所述目标计算节点,以使所述目标计算节点创建所述目标虚拟机;
在所述目标代理节点上未查找到所述目标镜像数据的情况下,从分布式对象存储中获取所述目标镜像数据,并将所述目标镜像数据发送给所述目标计算节点,以使所述目标计算节点创建所述目标虚拟机。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
确定所述目标代理节点的最大缓存容量与可用缓存容量,其中,所述最大缓存容量为所述目标代理节点的被用于存放镜像数据的空间的容量,所述可用缓存容量为所述最大缓存容量中的剩余容量;
在所述可用缓存容量不足的情况下,根据所述目标代理节点上的每一个镜像数据的被访问频率、容量大小以及最近一次的访问时间点,确定要删除的第一镜像数据;
将所述第一镜像数据从所述目标代理节点上删除。
3.根据权利要求2所述的方法,其特征在于,所述在所述可用缓存容量不足的情况下,根据所述目标代理节点上的每一个镜像数据的被访问频率、容量大小以及最近一次的访问时间点,确定要删除的第一镜像数据包括:
在所述最近一次的访问时间点距当前时间点的时间间隔大于预设的时间阈值的情况下,将所述最近一次的访问时间点最远的镜像数据确定为所述第一镜像数据;
在所述最近一次的访问时间点距当前时间点的时间间隔小于或等于预设的时间阈值的情况下,将所述容量大小小于预设的容量阈值且所述被访问频率最低的镜像数据确定为所述第一镜像数据。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述分布式对象存储中未存在第二镜像数据但所述目标代理节点上存在所述第二镜像数据的情况下,删除所述目标代理节点的所述第二镜像数据。
5.根据权利要求1所述的方法,其特征在于,在所述目标计算节点通过所述目标代理节点上的所述目标镜像数据创建所述目标虚拟机时,所述方法还包括:
确定所述目标镜像数据的数据标识和所述目标虚拟机的虚拟机标识;
在所述数据标识和所述虚拟机标识之间建立关联关系,其中,所述数据标识与所述虚拟机标识为一对一关系或一对多关系。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在接收到配置指令的情况下,根据所述配置指令,确定所述目标计算节点的要被监控的监控项;
在所述监控项的监控数据超出预设范围的情况下,提示告警消息。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述目标计算节点上的所述目标虚拟机被删除或者被修改的情况下,从所述目标计算节点上查找所述目标镜像数据;
在查找到所述目标镜像数据,且所述目标计算节点上未存在与所述目标镜像数据关联的其他虚拟机的情况下,删除所述目标计算节点上的所述目标镜像数据。
8.一种虚拟机的创建装置,其特征在于,包括:
接收模块,用于在云计算平台的目标计算节点上创建目标虚拟机的情况下,当所述目标计算节点中未包括所述目标虚拟机的目标镜像数据时,接收所述目标计算节点发送的获取请求;
查找模块,用于在所述云计算平台的目标代理节点上查找所述目标镜像数据;
处理模块,用于在从所述目标代理节点查找到所述目标镜像数据的情况下,将所述目标镜像数据发送给所述目标计算节点,以使所述目标计算节点创建所述目标虚拟机;在所述目标代理节点上未查找到所述目标镜像数据的情况下,从分布式对象存储中获取所述目标镜像数据,并将所述目标镜像数据发送给所述目标计算节点,以使所述目标计算节点创建所述目标虚拟机。
9.一种电子设备,其特征在于,包括:至少一个通信接口;与所述至少一个通信接口相连接的至少一个总线;与所述至少一个总线相连接的至少一个处理器;与所述至少一个总线相连接的至少一个存储器,其中,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序时实现权利要求1至7任意一项中所述的方法。
10.一种计算机可读的存储介质,所述存储介质存储有计算机可执行指令,所述计算机可执行指令用于执行本申请上述权利要求1至7任一项所述的方法。
CN202311843588.2A 2023-12-28 2023-12-28 虚拟机的创建方法、装置、存储介质以及电子设备 Pending CN117707708A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311843588.2A CN117707708A (zh) 2023-12-28 2023-12-28 虚拟机的创建方法、装置、存储介质以及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311843588.2A CN117707708A (zh) 2023-12-28 2023-12-28 虚拟机的创建方法、装置、存储介质以及电子设备

Publications (1)

Publication Number Publication Date
CN117707708A true CN117707708A (zh) 2024-03-15

Family

ID=90158950

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311843588.2A Pending CN117707708A (zh) 2023-12-28 2023-12-28 虚拟机的创建方法、装置、存储介质以及电子设备

Country Status (1)

Country Link
CN (1) CN117707708A (zh)

Similar Documents

Publication Publication Date Title
US10469577B2 (en) Caching method and system based on cache cluster
CN110071821B (zh) 确定事务日志的状态的方法,节点和存储介质
US11397648B2 (en) Virtual machine recovery method and virtual machine management device
US7496646B2 (en) System and method for management of a storage area network
CN110535692B (zh) 故障处理方法、装置、计算机设备、存储介质及存储系统
CN101137984B (zh) 用于分布加载数据库的系统、方法和软件
CN110830283B (zh) 故障检测方法、装置、设备和系统
US20080126831A1 (en) System and Method for Caching Client Requests to an Application Server Based on the Application Server's Reliability
US20090172142A1 (en) System and method for adding a standby computer into clustered computer system
JP2007279890A (ja) バックアップシステム及びバックアップ方法
CN102833281B (zh) 一种分布式自增计数的实现方法、装置及系统
CN108512753B (zh) 一种集群文件系统中消息传输的方法及装置
CN114064414A (zh) 一种高可用的集群状态监控方法及系统
CN105278882A (zh) 一种分布式文件系统的磁盘管理方法
US12050778B2 (en) Data restoration method and related device
CN112039970A (zh) 一种分布式业务锁服务方法、服务端、系统及存储介质
CN111342986B (zh) 分布式节点管理方法及装置、分布式系统、存储介质
CN105893176B (zh) 一种网络存储系统的管理方法和装置
CN116010164A (zh) 一种备份数据的方法、装置和系统
US10514992B1 (en) Disaster recovery specific configurations, management, and application
JP2023530996A (ja) クラスタの容量縮小・拡張方法及びシステム、容量縮小・拡張制御端末、及び媒体
CN109510730A (zh) 分布式系统及其监控方法、装置、电子设备及存储介质
CN117707708A (zh) 虚拟机的创建方法、装置、存储介质以及电子设备
CN103685359B (zh) 数据处理方法及装置
CN113672652A (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