CN110750336A - 一种OpenStack虚拟机内存热扩容方法 - Google Patents

一种OpenStack虚拟机内存热扩容方法 Download PDF

Info

Publication number
CN110750336A
CN110750336A CN201911039127.3A CN201911039127A CN110750336A CN 110750336 A CN110750336 A CN 110750336A CN 201911039127 A CN201911039127 A CN 201911039127A CN 110750336 A CN110750336 A CN 110750336A
Authority
CN
China
Prior art keywords
virtual machine
target
memory
numa
capacity
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.)
Granted
Application number
CN201911039127.3A
Other languages
English (en)
Other versions
CN110750336B (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.)
Beijing Inspur Data Technology Co Ltd
Original Assignee
Beijing Inspur Data 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 Inspur Data Technology Co Ltd filed Critical Beijing Inspur Data Technology Co Ltd
Priority to CN201911039127.3A priority Critical patent/CN110750336B/zh
Publication of CN110750336A publication Critical patent/CN110750336A/zh
Application granted granted Critical
Publication of CN110750336B publication Critical patent/CN110750336B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
    • 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/45583Memory management, e.g. access or allocation

Abstract

本申请公开了一种OpenStack虚拟机内存热扩容方法、装置、设备及可读存储介质,方案包括:根据目标虚拟机的配置文件,确定目标虚拟机的NUMA数量;根据目标虚拟机的NUMA数量确定dimm设备的目标数量,设置各个dimm设备与主机NUMA节点的对应关系,并根据目标扩容量确定各个dimm设备的内存容量;将目标数量的dimm设备添加至目标虚拟机。可见,该方案在扩容过程中,根据虚拟机的NUMA数量设置了相应数量的dimm设备,其中各个dimm设备分别从不同的主机NUMA节点获取内存资源,即从多个主机NUMA节点为该虚拟机分配内存资源,提高了主机的内存资源的利用率,且有效避免由于内存不足引发的问题。

Description

一种OpenStack虚拟机内存热扩容方法
技术领域
本申请涉及计算机技术领域,特别涉及一种OpenStack虚拟机内存热扩容方法、装置、设备及可读存储介质。
背景技术
随着虚拟化技术应用越来越广泛,在各个领域,虚拟机也渐渐代替物理机来完成一些业务。当虚拟机上跑的业务越来越多时,就会出现虚拟机资源不够用的情况,比如虚拟机的内存、cpu、磁盘等资源不足以支撑当前的业务量。这时候,人们倾向于能够在不中断业务的情况下,实现对虚拟机进行扩容。
目前,OpenStack虚拟机主流的内存热扩容方案为添加model为dimm的内存设备到虚拟机,然而该方案在分配主机内存资源时,默认是从某一主机numa节点上来分配资源,即使在该主机numa节点的内存资源分配殆尽时,也不会去其它numa节点分配资源,这样,一方面会造成主机内存资源浪费,另一方面当该主机numa节点资源分配完时,有可能会触发过度分配内存,此时系统会杀虚拟机进程。
可见,如何提供一种OpenStack虚拟机内存热扩容方案,在解决虚拟机内存不足问题的同时避免对主机内存资源的浪费,是亟待本领域技术人员解决的问题。
发明内容
本申请的目的是提供一种OpenStack虚拟机内存热扩容方法、装置、设备及可读存储介质,用以解决传统虚拟机内存热扩容方案浪费主机内存资源,甚至触发过度分配内存的问题。具体方案如下:
第一方面,本申请提供了一种OpenStack虚拟机内存热扩容方法,包括:
根据目标虚拟机的配置文件,确定所述目标虚拟机的NUMA数量;
根据所述目标虚拟机的NUMA数量确定dimm设备的目标数量,设置各个所述dimm设备与主机NUMA节点的对应关系,并根据目标扩容量确定各个所述dimm设备的内存容量;
将所述目标数量的dimm设备添加至所述目标虚拟机。
优选的,在所述根据目标虚拟机的配置文件,确定所述目标虚拟机的NUMA数量之前,还包括:
响应创建目标虚拟机的指令,以获取主机的NUMA数量;
将所述主机的NUMA数量与所述目标虚拟机的vCPU数量作比较,若所述主机的NUMA数量大于所述vCPU数量,则设置所述目标虚拟机的NUMA数量为所述vCPU数量,否则设置所述目标虚拟机的NUMA数量为所述主机的NUMA数量。
优选的,在所述根据目标虚拟机的配置文件,确定所述目标虚拟机的NUMA数量之前,还包括:
根据用户在虚拟机管理平台的操作,生成扩容指令,并将所述扩容指令发送至nova层,其中所述扩容指令包括请求内存量和虚拟机标识信息;
利用nova层根据所述扩容指令中的虚拟机标识信息确定目标虚拟机,获取所述目标虚拟机在当前时刻的实际内存量,并根据所述请求内存量和所述实际内存量确定目标扩容量。
优选的,所述获取所述目标虚拟机在当前时刻的实际内存量,并根据所述请求内存量和所述实际内存量确定目标扩容量,包括:
判断所述请求内存量是否超过所述目标虚拟机的限制内存量;
若没超过,则获取所述目标虚拟机在当前时刻的实际内存量,并根据所述请求内存量和所述实际内存量确定目标扩容量。
优选的,所述将所述目标数量的dimm设备添加至所述目标虚拟机,包括:
通过调用libvirt提供的用于为虚拟机添加设备的接口,将所述目标数量的dimm设备添加至所述目标虚拟机。
优选的,所述根据目标扩容量确定各个所述dimm设备的内存容量,包括:
将目标扩容量均分为所述目标数量的等份,将各个所述dimm设备的内存容量设置为所述等份的容量大小。
优选的,所述根据所述目标虚拟机的NUMA数量确定dimm设备的目标数量,包括:
设置dimm设备的目标数量等于所述目标虚拟机的NUMA数量。
第二方面,本申请提供了一种OpenStack虚拟机内存热扩容装置,包括:
配置信息读取模块:用于根据目标虚拟机的配置文件,确定所述目标虚拟机的NUMA数量;
内存配置模块:用于根据所述目标虚拟机的NUMA数量确定dimm设备的目标数量,设置各个所述dimm设备与主机NUMA节点的对应关系,并根据目标扩容量确定各个所述dimm设备的内存容量;
内存添加模块:用于将所述目标数量的dimm设备添加至所述目标虚拟机。
第三方面,本申请提供了一种OpenStack虚拟机内存热扩容设备,包括:
存储器:用于存储计算机程序;
处理器:用于执行所述计算机程序,以实现如上所述的OpenStack虚拟机内存热扩容方法的步骤。
第四方面,本申请提供了一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时用于实现如上所述的OpenStack虚拟机内存热扩容方法的步骤。
本申请所提供的一种OpenStack虚拟机内存热扩容方法、装置、设备及可读存储介质,方案包括:根据目标虚拟机的配置文件,确定目标虚拟机的NUMA数量;根据目标虚拟机的NUMA数量确定dimm设备的目标数量,设置各个dimm设备与主机NUMA节点的对应关系,并根据目标扩容量确定各个dimm设备的内存容量;将目标数量的dimm设备添加至目标虚拟机。可见,该方案对传统的OpenStack虚拟机内存热扩容方案进行了优化,在扩容过程中,该方案考虑了虚拟机的NUMA数量,并设置了相应数量的dimm设备,其中各个dimm设备分别从不同的主机NUMA节点获取内存资源,即从多个主机NUMA节点为该虚拟机分配内存资源,一方面提高了主机的内存资源的利用率,另一方面能有效避免由于内存不足引发的问题。
附图说明
为了更清楚的说明本申请实施例或现有技术的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请所提供的一种OpenStack虚拟机内存热扩容方法实施例一的实现流程图;
图2为本申请所提供的一种OpenStack虚拟机内存热扩容方法实施例二的虚拟机创建过程实现流程图;
图3为本申请所提供的一种OpenStack虚拟机内存热扩容方法实施例二的内存热扩容过程实现流程图;
图4为本申请所提供的一种OpenStack虚拟机内存热扩容装置实施例的功能框图;
图5为本申请所提供的一种OpenStack虚拟机内存热扩容设备实施例的结构示意图。
具体实施方式
本申请的核心是提供了一种OpenStack虚拟机内存热扩容方法、装置、设备及可读存储介质,提高了主机的内存资源的利用率,且有效避免由于内存不足引发的问题。
为了使本技术领域的人员更好地理解本申请方案,下面结合附图和具体实施方式对本申请作进一步的详细说明。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
下面对本申请提供的一种OpenStack虚拟机内存热扩容方法实施例一进行介绍,参见图1,实施例一包括:
S101、根据目标虚拟机的配置文件,确定所述目标虚拟机的NUMA数量;
S102、根据所述目标虚拟机的NUMA数量确定dimm设备的目标数量,设置各个所述dimm设备与主机NUMA节点的对应关系,并根据目标扩容量确定各个所述dimm设备的内存容量;
S103、将所述目标数量的dimm设备添加至所述目标虚拟机。
NUMA,全称Non Uniform Memory Access,非一致性内存访问,是一种计算机架构。一般的,具有多处理器的计算机通常为每个处理器分配各自的内存,以提高计算机的扩展能力,该类计算机称为NUMA架构计算机。本实施例中的主机即指基于NUMA架构的计算机。
基于NUMA架构的计算机一般包含多个处理器和多个内存,将这些处理器和内存划分为多个NUMA节点,每个NUMA节点包括处理器和若干内存,NUMA节点上可以运行一台或多台虚拟机。在运行多台虚拟机时,每台虚拟机都拥有自己的资源,如虚拟处理器(virtualCPU,vCPU),内存和I/O设备。NUMA架构的特点是:每个处理器访问自身所在的NUMA节点的私有内存时速度较快,而访问其他NUMA节点的内存时速度较慢。
本实施例中,目标虚拟机是指待进行内存扩容的虚拟机,本实施例采用热扩容的方式对目标虚拟机进行内存扩容,即在扩容过程中无需中断目标虚拟机的业务。
具体的,本实施例根据虚拟机的配置文件确定目标虚拟机的NUMA数量,其中虚拟机的配置文件一般以xml文件格式保存。进而根据目标虚拟机的NUMA数量确定dimm设备的数量,为方便描述,将其称为目标数量,具体可以设置目标数量等于目标虚拟机的NUMA数量。上述dimm,全称Dual-Inline-Memory-Modules,即双列直插式存储模块,是在奔腾CPU推出后出现的一种新型内存条。
在确定dimm设备的数量之后,本实施例进一步设置各个dimm设备与主机NUMA节点的对应关系,具体可以设置每个dimm设备对应不同的主机NUMA节点。并根据目标扩容量设置每个dimm设备的内存容量,其中目标扩容量是指本次扩容过程预期增加的内存容量,具体可以设置目标数量的dimm设备均分上述目标扩容量,即各个dimm设备的内存容量=目标扩容量/目标数量。
最终,在设置好dimm设备与主机NUMA节点的对应关系和内存容量之后,即可将目标数量的dimm设备添加至目标虚拟机,以实现内存扩容,该内存扩容过程无需中断目标虚拟机的业务流程,是一种内存热扩容方案。
本实施例所提供一种OpenStack虚拟机内存热扩容方法,方案包括:根据目标虚拟机的配置文件,确定目标虚拟机的NUMA数量;根据目标虚拟机的NUMA数量确定dimm设备的目标数量,设置各个dimm设备与主机NUMA节点的对应关系,并根据目标扩容量确定各个dimm设备的内存容量;将目标数量的dimm设备添加至目标虚拟机。可见,该方案在扩容过程中,根据虚拟机的NUMA数量,设置了相应数量的dimm设备,其中各个dimm设备分别从不同的主机NUMA节点获取内存资源,即从多个主机NUMA节点为该虚拟机分配内存资源,一方面提高了主机的内存资源的利用率,另一方面能有效避免由于内存不足引发的问题。
下面开始详细介绍本申请提供的一种OpenStack虚拟机内存热扩容方法实施例二,实施例二基于前述实施例一实现,并在实施例一的基础上进行了一定程度上的拓展。
首先,对本实施例中虚拟机的创建过程进行介绍,参见图2,该过程包括:
S201、响应创建虚拟机的指令,以获取主机的NUMA数量;
具体的,在创建虚拟机时通过numactl–hardware命令获取主机NUMA信息,根据NUMA信息解析出主机的NUMA数量。
S202、判断所述主机的NUMA数量是否大于所述虚拟机的vVPU数量,若大于,跳转至S203,否则跳转至S204;
S203、设置所述虚拟机的NUMA数量为所述vCPU数量;
S204、设置所述虚拟机的NUMA数量为所述主机的NUMA数量。
也就是说,在创建虚拟机的过程中,本实施例将所述主机的NUMA数量与所述虚拟机的vCPU数量作比较,若所述主机的NUMA数量大于所述vCPU数量,则设置所述虚拟机的NUMA数量为所述vCPU数量,否则设置所述虚拟机的NUMA数量为所述主机的NUMA数量。其中,虚拟机包括但不限于下文内存热扩容过程中提及的目标虚拟机。
对于OpenStack虚拟机来说,不会单独的扩容内存或者单独的扩容CPU,因此,本实施例在创建虚拟机的过程中设置虚拟机的NUMA数量,可以更好的支持CPU热扩容。
具体的,本实施例使用libvirt driver实现上述虚拟机的创建过程,在执行下述虚拟机内存热扩容方案之前,开启主机NUMA节点,并确保主机上安装有numactl工具。
下面,对本实施例中针对目标虚拟机的内存热扩容过程进行介绍,如图3所示,该过程包括:
S301、根据用户在虚拟机管理平台的操作,生成扩容指令,并将所述扩容指令发送至nova层,其中所述扩容指令包括请求内存量和虚拟机标识信息;
其中,nova层是一种OpenStack计算模块。
S302、利用nova层根据所述扩容指令中的虚拟机标识信息确定目标虚拟机,判断所述请求内存量是否超过所述目标虚拟机的限制内存量;若没超过,则跳转至S303,否则生成错误提示;
S303、获取所述目标虚拟机在当前时刻的实际内存量,并根据所述请求内存量和所述实际内存量确定目标扩容量;
S304、利用nova层根据目标虚拟机的配置文件,确定所述目标虚拟机的NUMA数量;
S305、设置dimm设备的目标数量等于所述目标虚拟机的NUMA数量,设置各个所述dimm设备与主机NUMA节点的对应关系,并根据目标扩容量确定各个所述dimm设备的内存容量;
作为一种具体的实施方式,将目标扩容量均分为所述目标数量的等份,将各个所述dimm设备的内存容量设置为所述等份的容量大小。
S306、通过调用libvirt提供的用于为虚拟机添加设备的接口,将所述目标数量的dimm设备添加至所述目标虚拟机。
其中,libvirt是一种虚拟机管理工具。
可见,本实施例提供的一种OpenStack虚拟机内存热扩容方法,方案包括:根据目标虚拟机的配置文件,确定目标虚拟机的NUMA数量;设置dimm设备的目标数量等于目标虚拟机的NUMA数量,设置各个dimm设备与主机NUMA节点的对应关系,并根据目标扩容量确定各个dimm设备的内存容量;将目标数量的dimm设备添加至目标虚拟机。可见,该方案在扩容过程中,根据虚拟机的NUMA数量设置了相应数量的dimm设备,其中各个dimm设备分别从不同的主机NUMA节点获取内存资源,即从多个主机NUMA节点为该虚拟机分配内存资源,一方面提高了主机的内存资源的利用率,另一方面能有效避免由于内存不足引发的问题。
下面根据上述OpenStack虚拟机内存热扩容方法实施例,对实际应用场景中OpenStack虚拟机内存热扩容方案进行介绍:
该OpenStack虚拟机内存热扩容方案的前提条件包括:
条件1:将利用libvirt driver创建的虚拟机作为目标虚拟机;
条件2:主机开启NUMA节点;
条件3:主机上安装有numactl工具。
该OpenStack虚拟机内存热扩容方案的具体步骤包括:
步骤1:用户设置主机numa配置,并安装numactl工具;
步骤2:用户登录虚拟机管理平台;
步骤3:用户在虚拟机管理平台操作目标虚拟机进行内存热扩容;
步骤4:虚拟机管理平台将虚拟机信息以及扩容信息下发到nova层;
步骤5:nova层解析虚拟机配置文件,获取目标虚拟机的NUMA数量;
步骤6:nova层根据目标虚拟机的NUMA数量拼接相应数量的内存dimm设备;
步骤7:通过libvirt提供的添加设备接口将内存dimm设备添加到目标虚拟机。
上述方案对当前OpenStack虚拟机内存热扩容方案进行了优化,通过设置虚拟机的NUMA数量,并将虚拟机热扩容时的内存资源均分到主机的多个NUMA节点上,这样不仅能充分利用主机的内存资源,而且还能有效避免由于内存不足引发的问题。
下面对本申请实施例提供的一种OpenStack虚拟机内存热扩容装置进行介绍,下文描述的一种OpenStack虚拟机内存热扩容装置与上文描述的一种OpenStack虚拟机内存热扩容方法可相互对应参照。
参见图4,该装置包括:
配置信息读取模块401:用于根据目标虚拟机的配置文件,确定所述目标虚拟机的NUMA数量;
内存配置模块402:用于根据所述目标虚拟机的NUMA数量确定dimm设备的目标数量,设置各个所述dimm设备与主机NUMA节点的对应关系,并根据目标扩容量确定各个所述dimm设备的内存容量;
内存添加模块403:用于将所述目标数量的dimm设备添加至所述目标虚拟机。
本实施例的OpenStack虚拟机内存热扩容装置用于实现前述的OpenStack虚拟机内存热扩容方法,因此该装置中的具体实施方式可见前文中的OpenStack虚拟机内存热扩容方法的实施例部分,例如,配置信息读取模块401、内存配置模块402、内存添加模块403,分别用于实现上述OpenStack虚拟机内存热扩容方法中步骤S101,S102,S103。所以,其具体实施方式可以参照相应的各个部分实施例的描述,在此不再展开介绍。
另外,由于本实施例的OpenStack虚拟机内存热扩容装置用于实现前述的OpenStack虚拟机内存热扩容方法,因此其作用与上述方法的作用相对应,这里不再赘述。
此外,本申请还提供了一种OpenStack虚拟机内存热扩容设备,如图5所示,包括:
存储器100:用于存储计算机程序;
处理器200:用于执行所述计算机程序,以实现如上文所述的OpenStack虚拟机内存热扩容方法的步骤。
最后,本申请提供了一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时用于实现如上文所述的OpenStack虚拟机内存热扩容方法的步骤。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上对本申请所提供的方案进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

Claims (10)

1.一种OpenStack虚拟机内存热扩容方法,其特征在于,包括:
根据目标虚拟机的配置文件,确定所述目标虚拟机的NUMA数量;
根据所述目标虚拟机的NUMA数量确定dimm设备的目标数量,设置各个所述dimm设备与主机NUMA节点的对应关系,并根据目标扩容量确定各个所述dimm设备的内存容量;
将所述目标数量的dimm设备添加至所述目标虚拟机。
2.如权利要求1所述的方法,其特征在于,在所述根据目标虚拟机的配置文件,确定所述目标虚拟机的NUMA数量之前,还包括:
响应创建目标虚拟机的指令,以获取主机的NUMA数量;
将所述主机的NUMA数量与所述目标虚拟机的vCPU数量作比较,若所述主机的NUMA数量大于所述vCPU数量,则设置所述目标虚拟机的NUMA数量为所述vCPU数量,否则设置所述目标虚拟机的NUMA数量为所述主机的NUMA数量。
3.如权利要求1所述的方法,其特征在于,在所述根据目标虚拟机的配置文件,确定所述目标虚拟机的NUMA数量之前,还包括:
根据用户在虚拟机管理平台的操作,生成扩容指令,并将所述扩容指令发送至nova层,其中所述扩容指令包括请求内存量和虚拟机标识信息;
利用nova层根据所述扩容指令中的虚拟机标识信息确定目标虚拟机,获取所述目标虚拟机在当前时刻的实际内存量,并根据所述请求内存量和所述实际内存量确定目标扩容量。
4.如权利要求3所述的方法,其特征在于,所述获取所述目标虚拟机在当前时刻的实际内存量,并根据所述请求内存量和所述实际内存量确定目标扩容量,包括:
判断所述请求内存量是否超过所述目标虚拟机的限制内存量;
若没超过,则获取所述目标虚拟机在当前时刻的实际内存量,并根据所述请求内存量和所述实际内存量确定目标扩容量。
5.如权利要求1所述的方法,其特征在于,所述将所述目标数量的dimm设备添加至所述目标虚拟机,包括:
通过调用libvirt提供的用于为虚拟机添加设备的接口,将所述目标数量的dimm设备添加至所述目标虚拟机。
6.如权利要求1-5任意一项所述的方法,其特征在于,所述根据目标扩容量确定各个所述dimm设备的内存容量,包括:
将目标扩容量均分为所述目标数量的等份,将各个所述dimm设备的内存容量设置为所述等份的容量大小。
7.如权利要求6所述的方法,其特征在于,所述根据所述目标虚拟机的NUMA数量确定dimm设备的目标数量,包括:
设置dimm设备的目标数量等于所述目标虚拟机的NUMA数量。
8.一种OpenStack虚拟机内存热扩容装置,其特征在于,包括:
配置信息读取模块:用于根据目标虚拟机的配置文件,确定所述目标虚拟机的NUMA数量;
内存配置模块:用于根据所述目标虚拟机的NUMA数量确定dimm设备的目标数量,设置各个所述dimm设备与主机NUMA节点的对应关系,并根据目标扩容量确定各个所述dimm设备的内存容量;
内存添加模块:用于将所述目标数量的dimm设备添加至所述目标虚拟机。
9.一种OpenStack虚拟机内存热扩容设备,其特征在于,包括:
存储器:用于存储计算机程序;
处理器:用于执行所述计算机程序,以实现如权利要求1-7任意一项所述的OpenStack虚拟机内存热扩容方法的步骤。
10.一种可读存储介质,其特征在于,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时用于实现如权利要求1-7任意一项所述的OpenStack虚拟机内存热扩容方法的步骤。
CN201911039127.3A 2019-10-29 2019-10-29 一种OpenStack虚拟机内存热扩容方法 Active CN110750336B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911039127.3A CN110750336B (zh) 2019-10-29 2019-10-29 一种OpenStack虚拟机内存热扩容方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911039127.3A CN110750336B (zh) 2019-10-29 2019-10-29 一种OpenStack虚拟机内存热扩容方法

Publications (2)

Publication Number Publication Date
CN110750336A true CN110750336A (zh) 2020-02-04
CN110750336B CN110750336B (zh) 2022-06-17

Family

ID=69280868

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911039127.3A Active CN110750336B (zh) 2019-10-29 2019-10-29 一种OpenStack虚拟机内存热扩容方法

Country Status (1)

Country Link
CN (1) CN110750336B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112231058A (zh) * 2020-10-16 2021-01-15 苏州浪潮智能科技有限公司 一种突破numa拓扑限制创建云主机的方法及装置
CN113419811A (zh) * 2021-05-20 2021-09-21 曙光信息产业股份有限公司 Cpu添加方法、设备、计算机设备及可读存储介质
CN113608833A (zh) * 2021-07-19 2021-11-05 曙光信息产业(北京)有限公司 虚拟机创建方法、装置、计算机设备和存储介质
CN115543862A (zh) * 2022-09-27 2022-12-30 超聚变数字技术有限公司 内存管理方法及相关装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100217949A1 (en) * 2009-02-24 2010-08-26 International Business Machines Corporation Dynamic Logical Partition Management For NUMA Machines And Clusters
CN107368353A (zh) * 2017-07-26 2017-11-21 郑州云海信息技术有限公司 一种实现虚拟机内存热添加的方法和装置
CN107562520A (zh) * 2017-09-07 2018-01-09 郑州云海信息技术有限公司 扩容虚拟机的内存的方法和装置
CN108196958A (zh) * 2017-12-29 2018-06-22 北京泽塔云科技股份有限公司 资源调度分配方法、计算机系统及超融合架构系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100217949A1 (en) * 2009-02-24 2010-08-26 International Business Machines Corporation Dynamic Logical Partition Management For NUMA Machines And Clusters
CN107368353A (zh) * 2017-07-26 2017-11-21 郑州云海信息技术有限公司 一种实现虚拟机内存热添加的方法和装置
CN107562520A (zh) * 2017-09-07 2018-01-09 郑州云海信息技术有限公司 扩容虚拟机的内存的方法和装置
CN108196958A (zh) * 2017-12-29 2018-06-22 北京泽塔云科技股份有限公司 资源调度分配方法、计算机系统及超融合架构系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
马博: "基于内存热插拔的虚拟机动态内存管理系统", 《中国优秀博硕士学位论文全文数据库(硕士)信息科技辑》 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112231058A (zh) * 2020-10-16 2021-01-15 苏州浪潮智能科技有限公司 一种突破numa拓扑限制创建云主机的方法及装置
CN113419811A (zh) * 2021-05-20 2021-09-21 曙光信息产业股份有限公司 Cpu添加方法、设备、计算机设备及可读存储介质
CN113608833A (zh) * 2021-07-19 2021-11-05 曙光信息产业(北京)有限公司 虚拟机创建方法、装置、计算机设备和存储介质
CN115543862A (zh) * 2022-09-27 2022-12-30 超聚变数字技术有限公司 内存管理方法及相关装置
CN115543862B (zh) * 2022-09-27 2023-09-01 超聚变数字技术有限公司 内存管理方法及相关装置

Also Published As

Publication number Publication date
CN110750336B (zh) 2022-06-17

Similar Documents

Publication Publication Date Title
CN110750336B (zh) 一种OpenStack虚拟机内存热扩容方法
TWI752994B (zh) 應用的擴容方法、裝置和系統
JP5510556B2 (ja) 仮想マシンのストレージスペースおよび物理ホストを管理するための方法およびシステム
US8954487B2 (en) Management server and method for providing cloud computing service
US8762999B2 (en) Guest-initiated resource allocation request based on comparison of host hardware information and projected workload requirement
WO2015196931A1 (zh) 基于磁盘io的虚拟资源分配方法及装置
JP2007115246A (ja) ソフトウェアによって使用される資源を動的に割り当てるための方法及び装置
CN109960569B (zh) 一种虚拟化处理方法及装置
WO2021227954A1 (zh) 基于容器集群的应用访问请求处理
CN110399217B (zh) 一种内存资源分配方法、装置及设备
CN110633130B (zh) 一种基于内存热插拔技术的虚拟内存管理方法和装置
CN111104219A (zh) 虚拟核心与物理核心的绑定方法、装置、设备及存储介质
CN110580195B (zh) 一种基于内存热插拔的内存分配方法和装置
CN105677481B (zh) 一种数据处理方法、系统及电子设备
CN109426544A (zh) 虚拟机部署方法和装置
CN113760457A (zh) 一种虚拟机资源分配方法、装置、电子设备及存储介质
EP4006725A1 (en) Virtual machine migration processing and strategy generation method, apparatus and device, and storage medium
CN112711462A (zh) 一种云平台虚拟cpu热绑定方法、装置及计算机可读存储介质
CN111722908B (zh) 一种虚拟机的创建方法、系统、设备以及介质
CN112685132A (zh) 一种koji任务执行方法、装置、设备及可读存储介质
CN112631994A (zh) 数据迁移方法及系统
CN111831451A (zh) 云主机内存分配方法及云主机、设备及存储介质
CN111143072A (zh) 用户态程序内存分配方法、系统及相关组件
CN107766122B (zh) 一种宿主机的可用内存空间设置方法和装置
CN109634721B (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