CN109144663B - 主机优选方法及装置 - Google Patents
主机优选方法及装置 Download PDFInfo
- Publication number
- CN109144663B CN109144663B CN201810772452.XA CN201810772452A CN109144663B CN 109144663 B CN109144663 B CN 109144663B CN 201810772452 A CN201810772452 A CN 201810772452A CN 109144663 B CN109144663 B CN 109144663B
- Authority
- CN
- China
- Prior art keywords
- host
- virtual machine
- created
- performance data
- hosts
- 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
Links
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/45562—Creating, deleting, cloning virtual machine instances
-
- 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
Abstract
本发明涉及虚拟化技术领域,提供一种运行虚拟化管理平台的设备主机优选方法及装置,所述方法包括:响应虚拟机创建请求,并依据虚拟机创建请求计算出待创建虚拟机的预估性能数据;获取多个主机的静态性能参数;对多个主机的多个已创建虚拟机的动态性能数据进行分析统计,得到多个主机的动态性能参数;依据待创建虚拟机的预估性能数据及多个主机的静态性能参数、动态性能参数确定创建待创建虚拟机的优选主机。本发明通过综合考虑主机的静态性能参数和动态性能参数,更加合理地确定出用以创建虚拟机的主机,进而使网络资源能够得以充分利用,系统整体性能保持均衡。
Description
技术领域
本发明涉及虚拟化技术领域,具体而言,涉及一种主机优选方法及装置。
背景技术
OpenStack是一个开源的基础设施即服务(Infrastructure-as-a-Service,IaaS)平台,用以管理大量的计算机、存储以及数据中心内的网络资源。OpenStack在创建虚拟机时选择主机的方法是,比较所有主机上已经分配的虚拟机的CPU个数,选择较少CPU个数的主机作为空闲的主机,虽然虚拟机占用了CPU个数,但当虚拟机使用频率低甚至关闭时,对系统资源影响较小,所以仅仅以已分配的虚拟机的CPU个数为依据确定创建虚拟机的主机,显然不太合理,使得网络资源并未能得以充分利用。
发明内容
本发明实施例的目的在于提供一种运行虚拟化管理平台的设备主机优选方法及装置,通过综合考虑主机的静态性能参数和动态性能参数,更加合理地确定出用以创建虚拟机的主机,进而使网络资源能够得以充分利用。
为了实现上述目的,本发明实施例采用的技术方案如下:
第一方面,本发明实施例提供了一种主机优选方法,应用于虚拟化集群系统中运行虚拟化管理平台的设备,虚拟化集群系统还包括与虚拟化管理平台通信连接的多个主机,每个主机上运行有多个已创建虚拟机,运行虚拟化管理平台的设备预先存储有多个主机的多个已创建虚拟机的动态性能数据及多个主机的静态性能参数,所述方法包括:响应虚拟机创建请求,并依据虚拟机创建请求计算出待创建虚拟机的预估性能数据;获取多个主机的静态性能参数;对多个主机的多个已创建虚拟机的动态性能数据进行分析统计,得到多个主机的动态性能参数;依据待创建虚拟机的预估性能数据及多个主机的静态性能参数、动态性能参数确定创建待创建虚拟机的优选主机。
第二方面,本发明实施例还提供了一种主机优选装置,应用于虚拟化集群系统中的运行虚拟化管理平台的设备,虚拟化集群系统还包括与虚拟化管理平台通信连接的多个主机,每个主机上运行有多个已创建虚拟机,运行虚拟化管理平台的设备预先存储有多个主机的多个已创建虚拟机的动态性能数据及多个主机的静态性能参数,所述装置包括响应模块、获取模块、统计模块及确定模块。其中,响应模块用于响应虚拟机创建请求,并依据虚拟机创建请求计算出待创建虚拟机的预估性能数据;获取模块用于获取多个主机的静态性能参数,统计模块用于对多个主机的多个已创建虚拟机的动态性能数据进行分析统计,得到多个主机的动态性能参数,确定模块用于依据待创建虚拟机的预估性能数据及多个主机的静态性能参数、动态性能参数确定创建待创建虚拟机的优选主机。
相对现有技术,本发明实施例提供的一种主机优选方法及装置,首先,响应用户发起的创建虚拟机的虚拟机创建请求,依据虚拟机创建请求计算出待创建虚拟机的预估性能数据;然后,获取多个主机的静态性能参数;接下来,对多个主机的多个已创建虚拟机的动态性能数据进行分析统计,得到多个主机的动态性能参数;最后,依据虚拟机的预估性能数据及多个主机的静态性能参数、动态性能参数确定创建待创建虚拟机的优选主机。与现有技术相比,本发明实施例通过综合考虑主机的静态性能参数和动态性能参数,更加合理地确定出用以创建虚拟机的主机,进而使网络资源能够得以充分利用,系统整体性能保持均衡。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本发明实施例的应用场景示意图。
图2示出了本发明实施例提供的运行虚拟化管理平台的设备的方框示意图。
图3示出了本发明实施例提供的主机优选方法流程图。
图4为图3示出的步骤S103的子步骤流程图。
图5为图3示出的步骤S104的子步骤流程图。
图6示出了本发明实施例提供的主机优选装置的方框示意图。
图标:100-运行虚拟化管理平台的设备;101-存储器;102-通信接口;103-处理器;104-总线;200-主机优选装置;201-响应模块;202-获取模块;203-统计模块;204-确定模块;205-保存模块。
具体实施方式
下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本发明的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
请参照图1,图1示出了本发明实施例的应用场景示意图。虚拟化集群系统包括运行虚拟化管理平台的设备100及与运行虚拟化管理平台的设备100通信连接的多个主机,其中,每一个主机上运行有多个已创建虚拟机。运行虚拟化管理平台的设备100上运行有负责管理多个主机的虚拟化管理平台,用户通过虚拟化管理平台下发创建虚拟机的创建请求,虚拟化管理平台响应创建请求并负责从多个主机中确定出最合理的用于创建虚拟机的主机,以达到虚拟化集群系统中的主机资源的合理利用。
请参照图2,图2示出了本发明实施例提供的运行虚拟化管理平台的设备100的方框示意图。运行虚拟化管理平台的设备100可以是,但不限于,主机、虚拟机、实体服务器、实体服务器上的虚拟机等能提供与所述服务器或者虚拟机有相同功能的实体或者虚拟的服务端。运行虚拟化管理平台的设备100的操作系统可以是,但不限于,Windows系统、Linux系统等。所述运行虚拟化管理平台的设备100包括存储器101、通信接口102、处理器103和总线104,所述存储器101、通信接口102和处理器103通过总线104连接,处理器103用于执行存储器101中存储的可执行模块,例如计算机程序。
其中,存储器101可能包含高速随机存取存储器(RAM:Random Access Memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口102(可以是有线或者无线)实现该主机100与至少一个其他主机100、以及外部存储设备之间的通信连接。
总线104可以是ISA总线、PCI总线或EISA总线等。图2中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
其中,存储器101用于存储程序,例如图6所示的主机优选装置200。该主机优选装置200包括至少一个可以软件或固件(firmware)的形式存储于所述存储器101中或固化在所述运行虚拟化管理平台的设备100的操作系统(operating system,OS)中的软件功能模块。所述处理器103在接收到执行指令后,执行所述程序以实现本发明上述实施例揭示的主机优选方法。
第一实施例
请参照图3,图3示出了本发明实施例提供的主机优选方法流程图。处理方法包括以下步骤:
步骤S101,响应虚拟机创建请求,并依据虚拟机创建请求计算出待创建虚拟机的预估性能数据。
在本发明实施例中,用户可以通过与虚拟化管理平台通信连接的客户端发送创建虚拟机的虚拟机创建请求至虚拟化管理平台,虚拟机创建请求中包括待创建虚拟机的硬件配置,比如说待创建虚拟机的内存大小,CPU的个数,硬盘大小等。待创建虚拟机的预估性能数据指根据待创建虚拟机的硬件配置及预设估计性能值计算出的预估的待创建虚拟机的性能数据,预设估计性能值可以是预设估计的CPU利用率、预设估计的物理内存的利用率、预设估计的线程数等。
作为一种实施方式,依据虚拟机创建请求计算出待创建虚拟机的预估性能数据的方法可以是:
将待创建虚拟机的CPU个数乘以预设估计性能值得到待创建虚拟机的预估性能数据,以预设估计性能值为预设估计的CPU利用率为例,将待创建虚拟机的CPU个数乘以预设估计的CPU利用率得到待创建虚拟机的预估CPU利用率,该待创建虚拟机的预估CPU利用率即为该待创建虚拟机的预估性能数据,例如,待创建虚拟机的CPU个数为2,预设估计的CPU利用率为50%,则该待创建虚拟机的预估性能数据为:2*50%=1。
步骤S102,获取多个主机的静态性能参数。
在本发明实施例中,主机的静态性能参数是表征主机CPU处理能力的参数,与主机自身的硬件配置强相关,主机的硬件配置越好,则主机的CPU处理能力也越强,因此,多个主机因自身的硬件配置不同,其对应的静态性能参数也可以不同。
获取每个主机的静态性能参数的方式可以通过如下至少一种方式确定:
方式一,依据每个主机的CPU的个数及主频确定。
在本发明实施例中,CPU的主频即CPU内核工作的时钟频率(CPU Clock Speed),单位可以是兆赫兹(MHz)、吉赫兹(GHz)。
作为一种实施方式,可以使用主机的CPU的个数乘以主频作为主机的静态性能参数,例如,主机1的CPU的主频为2GHz,CPU的个数为16,主机2的CPU的主频为1GHz,CPU的个数为16,则主机1的静态性能参数为2*16=32,主机2的静态性能参数为1*16=16。
方式二,依据每个主机的CPU型号确定。
在本发明实施例中,主机的CPU型号不同,其对应的性能也不同,可以预先为不同型号的CPU确定对应的静态性能参数,例如,将使用Intel E5-4650的主机的静态性能参数确定为200,将使用Intel E5-1650的主机的静态性能参数确定为100。
方式三,通过性能测试软件确定每个主机的CPU性能参数。
在本发明实施例中,测试CPU性能的软件可以是、但不限于3DMark06、AIDA64、鲁大师等等。例如,使用测试软件3DMark06测得Core i9-7980XE和Core i9-7900X的CPU得分分别为26264、24131,则将使用Core i9-7980XE的主机1的静态性能测试参数确定为26264,将使用Core i9-7900X的主机2的静态性能测试参数确定为24131。
步骤S103,对多个主机的多个已创建虚拟机的动态性能数据进行分析统计,得到多个主机的动态性能参数。
在本发明实施例中,运行在每个主机上的每个已创建虚拟机的动态性能数据可以按照预设监控周期从每个已创建虚拟机获取并存储于运行虚拟化管理平台的设备100,虚拟化管理平台首先获取每个主机的每个已创建虚拟机的最近预设时长内的动态性能数据,然后计算出每个已创建虚拟机的最近预设时长内的动态性能数据在预设单位时间内的平均动态性能数据,最后对每个主机的所有已创建虚拟机的平均动态性能数据进行统计,得到每个主机的动态性能参数。
请参照图4,步骤S103的还可以包括以下子步骤:
子步骤S1031,获取每个主机的每个已创建虚拟机的最近预设时长内的动态性能数据。
在本发明实施例中,最近预设时长可以根据每个主机的每个已创建虚拟机上的业务周期特点进行预先设置。例如,预设时长设置为30天,虚拟化管理平台就获取每个主机的每个已创建虚拟机的从当前系统时间开始、过去最近30天内的动态性能数据,当前系统时间为2018年6月25日、15:24,最近30天的动态性能数据是从2018年6月25日、15:24开始,一直到2018年5月26日、15:24之间监控周期获取的每个主机的每个已创建虚拟机的动态性能数据。动态性能数据可以是CPU的利用率,也可以是物理内存的利用率、线程数等。
子步骤S1032,依据动态性能数据得到每个主机的每个已创建虚拟机在预设单位时间内的平均动态性能数据。
在本发明实施例中,预设单位时间可以根据经验值预先设置,例如预设单位时间可以设置为1小时,依据获取到的每个主机的每个已创建虚拟机的最近预设时长内的动态性能数据计算出每个主机的每个已创建虚拟机在预设单位时间内的平均动态性能数据,例如,监控周期为30分钟,预设单位时间为1小时,最近预设时长设置为4小时,动态性能数据为CPU利用率,当前时间为14:00,虚拟化管理平台预先存储的主机1的已创建虚拟机A的CPU利用率的动态性能数据为:(10:30,43%),(11:00,57%),(11:30,70%),(12:00,50%),(12:30,45%),(13:00,20%),(13:30,49%),(14:00,52%),其中,括号中的第一个数据代表的是获取动态性能数据的时间,第二个数据代表在第一个数据的时间获取到的已创建虚拟机A的CPU的利用率,(10:30,43%)代表在10:30获取到的主机1的已创建虚拟机A的CPU利用率为43%,每个主机的每个已创建虚拟机在预设单位时间内的平均动态性能数据的计算方法可以是,首先,去掉一个最高的CPU利用率70%,去掉一个最低的CPU利用率20%;然后,计算除最高和最大CPU利用率之外的预设单位时间1小时内动态性能数据的统计值:最近的第一个小时的平均动态性能数据值:(49%+52%)/2=50.5%,最近的第二个小时的平均动态性能数据值:(50%+45%)/2=47.5%,最近的第三个小时的平均动态性能数据值:(43%+57%)/2=50%;最后,计算预设单位时间1小时内的平均动态性能数据:(50.5%+47.5%+50%)/3=49.33。
子步骤S1033,对每个主机的所有已创建虚拟机的平均动态性能数据进行统计,得到每个主机的动态性能参数。
在本发明实施例中,每个主机上运行的已创建虚拟机的个数可以是多个,每个主机上运行的已创建虚拟机的CPU的个数可以是1个或者多个,因此,将每个主机的所有已创建虚拟机的平均动态性能数据进行统计的方法可以是,首先将每个主机上运行的每个已创建虚拟机的CPU的个数乘以与该已创建虚拟机对应的平均动态性能数据,得到每个主机上运行的每个已创建虚拟机的动态性能数据,将每个主机上运行的所有已创建虚拟机的动态性能数据进行统计计算,得到每个主机的动态性能参数,例如,主机1上运行3个已创建虚拟机:虚拟机1、虚拟机2、虚拟机3,其中,虚拟机1的CPU个数为2、虚拟机2的CPU个数为3、虚拟机3的CPU的个数为2、虚拟机1的平均动态性能数据为49.33%、虚拟机2的平均动态性能数据为55.5%、虚拟机3的平均动态性能数据为58.1%,则主机1的动态性能参数为2*49.33%+3*55.5%+2*58.1%=381.36%。
步骤S104,依据待创建虚拟机的预估性能数据及多个主机的静态性能参数、动态性能参数确定创建待创建虚拟机的优选主机。
在本发明实施例中,优选主机指综合考虑了虚拟机集群系统中每一个主机的静态性能参数及动态性能参数后确定出的用于创建待创建虚拟机的主机,在优先主机上创建待创建虚拟机后,虚拟机集群系统中的资源得以合理利用,整体的系统性能达到均衡。
请参照图5,步骤S104还可以包括以下子步骤:
子步骤S1041,依据每个主机的静态性能参数、动态性能参数及待创建虚拟机的预估性能数据估算出每个主机创建待创建虚拟机后在预设单位时间内的CPU消耗值。
在本发明实施例中,本子步骤中的预设单位时间即是子步骤S1032中的预设单位时间,每个主机创建待创建虚拟机后在预设单位时间内的CPU消耗值=每个主机的静态性能参数*(每个主机的动态性能参数+待创建虚拟机的预估性能数据),例如,主机1的静态性能参数为16、主机1上运行3个已创建虚拟机:虚拟机1、虚拟机2、虚拟机3,其中,虚拟机1的CPU个数为2、虚拟机2的CPU个数为3、虚拟机3的CPU的个数为2、虚拟机1的平均动态性能数据为49.33%、虚拟机2的平均动态性能数据为55.5%、虚拟机3的平均动态性能数据为58.1%,待创建虚拟机的CPU个数为2、预设估计的CPU利用率为50%,则主机1的动态性能参数=2*49.33%+3*55.5%+2*58.1%=381.36%、该待创建虚拟机的预估性能数据为:2*50%=1、主机1创建待创建虚拟机后在预设单位时间内的CPU消耗值=16*(381.36%+1)=77.0176。
子步骤S1042,将多个主机中预设单位时间内的CPU消耗值最低的主机作为创建待创建虚拟机的优选主机。
在本发明实施例中,预设单位时间内的CPU消耗值最低的主机意味着资源未充分利用的主机,因此,将其作为优选主机可以从整体上平衡虚拟机集群系统的性能和资源利用。
在本发明实施例中,由于每个已创建虚拟机的动态性能数据才能真正体现出资源的实际利用情况,因此,为了得到更接近实际利用情况的已创建虚拟机的动态性能数据,从而使得确定出的优选主机更合理,本发明实施例按照预设监控周期从每个已创建虚拟机获取动态性能数据并保存,因此,本发明实施例还包括步骤S105。
步骤S105,按照预设监控周期从每个主机的每个已创建虚拟机获取每个主机的每个已创建虚拟机的动态性能数据并保存。
在本发明实施例中,预设监控周期可以根据具体业务特点预先设置,比如说,预设监控周期设置为5分钟,意味着每5分钟从每个主机的每个已创建虚拟机获取所述每个主机的每个已创建虚拟机的动态性能数据并保存。
需要指出的是,待创建虚拟机在创建以后,虚拟化管理平台也会按照预设监控周期从该虚拟机获取其动态性能数据并保存,在确定下一次新创建虚拟机的优选主机时,该虚拟机的动态性能数据会被考虑在内,由此,实现虚拟机集群系统中的资源得以合理利用,整体的系统性能达到均衡。
在本发明实施例中,在确定待创建虚拟机的优选主机时,综合考虑主机的静态性能参数和动态性能参数,与现有技术相比,具有以下有益效果:
第一,不单单采用虚拟机已经分配CPU个数,而是依据主机的静态性能参数及由历史性能数据分析出的动态性能参数确定出待创建虚拟机的优选主机,使得确定出的优选主机更合理,实现虚拟机集群系统中的资源得以合理利用,整体的系统性能达到均衡。
第二,确定优选主机时,分析的历史性能数据是从创建虚拟机的时刻开始,至过去最近预设时长内的动态性能数据,由此,保证不同时刻创建的虚拟机,均是考虑了创建虚拟机的时刻的最近预设时长内的动态性能数据确定出的优选主机,实现不同时刻创建的虚拟机的优选主机均是合理的。
第三,待创建虚拟机在创建以后,虚拟化管理平台也会按照预设监控周期从该虚拟机获取其动态性能数据并保存,在确定下一次新创建虚拟机的优选主机时,该虚拟机的动态性能数据会被考虑在内,因而保证每次创建虚拟机时,分析的历史性能数据均是最接近实际性能数据的,进而使得确定的优选主机更合理,实现虚拟机集群系统中的资源得以合理利用,整体的系统性能达到均衡。
第二实施例
请参照图6,图6示出了本发明实施例提供的主机优选装置200的方框示意图。主机优选装置200应用于运行虚拟化管理平台的设备100,其包括响应模块201;获取模块202;统计模块203;确定模块204;保存模块205。
响应模块201,用于响应虚拟机创建请求,并依据虚拟机创建请求计算出待创建虚拟机的预估性能数据。
在本发明实施例中,响应模块201用于执行步骤S101。
在本发明实施例中,响应模块201具体用于:
将待创建虚拟机的CPU个数乘以预设估计性能值得到待创建虚拟机的预估性能数据。
获取模块202,用于获取多个主机的静态性能参数。
在本发明实施例中,获取模块202用于执行步骤S102。
统计模块203,用于对多个主机的多个已创建虚拟机的动态性能数据进行分析统计,得到多个主机的动态性能参数。
在本发明实施例中,统计模块203用于执行步骤S103及其子步骤S1031-S1033。
确定模块204,用于依据待创建虚拟机的预估性能数据及多个主机的静态性能参数、动态性能参数确定创建待创建虚拟机的优选主机。
在本发明实施例中,确定模块204用于执行步骤S104及其子步骤S1041-S1042。
在本发明实施例中,确定模块204具体用于:
依据每个主机的静态性能参数、动态性能参数及待创建虚拟机的预估性能数据估算出每个主机创建待创建虚拟机后在预设单位时间内的CPU消耗值;
将多个主机中预设单位时间内的CPU消耗值最低的主机作为创建待创建虚拟机的优选主机。
保存模块205,用于按照预设监控周期从每个主机的每个已创建虚拟机获取每个主机的每个已创建虚拟机的动态性能数据并保存。
在本发明实施例中,保存模块205用于执行步骤S105。
综上所述,本发明提供的一种运行虚拟化管理平台的设备主机优选方法及装置,所述主机优选方法应用于虚拟化集群系统中的运行虚拟化管理平台的设备,虚拟化集群系统还包括与虚拟化管理平台通信连接的多个主机,每个主机上运行有多个已创建虚拟机,运行虚拟化管理平台的设备预先存储有多个主机的多个已创建虚拟机的动态性能数据及多个主机的静态性能参数,所述方法包括:响应虚拟机创建请求,并依据虚拟机创建请求计算出待创建虚拟机的预估性能数据;获取多个主机的静态性能参数;对多个主机的多个已创建虚拟机的动态性能数据进行分析统计,得到多个主机的动态性能参数;依据待创建虚拟机的预估性能数据及多个主机的静态性能参数、动态性能参数确定创建待创建虚拟机的优选主机。与现有技术相比,本发明通过综合考虑主机的静态性能参数和动态性能参数,更加合理地确定出用以创建虚拟机的主机,进而使网络资源能够得以充分利用,系统整体性能保持均衡。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
Claims (8)
1.一种主机优选方法,应用于虚拟化集群系统中运行虚拟化管理平台的设备,所述虚拟化集群系统还包括与所述虚拟化管理平台通信连接的多个主机,每个主机上运行有多个已创建虚拟机,其特征在于,所述运行虚拟化管理平台的设备预先存储有多个主机的多个已创建虚拟机的动态性能数据及所述多个主机的静态性能参数,所述方法包括:
响应虚拟机创建请求,并依据所述虚拟机创建请求计算出待创建虚拟机的预估性能数据;
获取所述多个主机的静态性能参数;
对所述多个主机的多个已创建虚拟机的动态性能数据进行分析统计,得到所述多个主机的动态性能参数;
依据每个主机的静态性能参数、动态性能参数及所述待创建虚拟机的预估性能数据估算出所述每个主机创建所述待创建虚拟机后在预设单位时间内的CPU消耗值,其中,所述每个主机创建所述待创建虚拟机后在预设单位时间内的CPU消耗值=所述每个主机的静态性能参数*(所述每个主机的动态性能参数+待创建虚拟机的预估性能数据);
将所述多个主机中预设单位时间内的CPU消耗值最低的主机作为创建所述待创建虚拟机的优选主机。
2.如权利要求1所述的主机优选方法,其特征在于,所述虚拟机创建请求中包括所述待创建虚拟机的CPU个数,所述依据所述虚拟机创建请求计算出待创建虚拟机的预估性能数据的步骤,包括:
将所述待创建虚拟机的CPU个数乘以预设估计性能值得到所述待创建虚拟机的预估性能数据。
3.如权利要求1所述的主机优选方法,其特征在于,所述每个主机的静态性能参数通过如下至少一种方式确定:
依据所述每个主机的CPU的个数及主频确定;
依据所述每个主机的CPU型号确定;
通过性能测试软件确定所述每个主机的CPU性能参数。
4.如权利要求1所述的主机优选方法,其特征在于,所述对所述多个主机的多个已创建虚拟机的动态性能数据进行分析统计,得到所述多个主机的动态性能参数的步骤,包括:
获取每个主机的每个已创建虚拟机的最近预设时长内的动态性能数据;
依据所述每个主机的每个已创建虚拟机的最近预设时长内的动态性能数据得到每个主机的每个已创建虚拟机在预设单位时间内的平均动态性能数据;
对每个主机的所有已创建虚拟机的平均动态性能数据进行统计,得到所述每个主机的动态性能参数。
5.如权利要求1所述的主机优选方法,其特征在于,所述方法还包括:
按照预设监控周期从所述每个主机的每个已创建虚拟机获取所述每个主机的每个已创建虚拟机的动态性能数据并保存。
6.一种主机优选装置,应用于虚拟化集群系统中的运行虚拟化管理平台的设备,所述虚拟化集群系统还包括与所述虚拟化管理平台通信连接的多个主机,每个主机上运行有多个已创建虚拟机,其特征在于,所述运行虚拟化管理平台的设备预先存储有多个主机的多个已创建虚拟机的动态性能数据及多个主机的静态性能参数,所述装置包括:
响应模块,用于响应虚拟机创建请求,并依据所述虚拟机创建请求计算出待创建虚拟机的预估性能数据;
获取模块,用于获取所述多个主机的静态性能参数;
统计模块,用于对所述多个主机的多个已创建虚拟机的动态性能数据进行分析统计,得到所述多个主机的动态性能参数;
确定模块,用于:依据每个主机的静态性能参数、动态性能参数及所述待创建虚拟机的预估性能数据估算出所述每个主机创建所述待创建虚拟机后在预设单位时间内的CPU消耗值,其中,所述每个主机创建所述待创建虚拟机后在预设单位时间内的CPU消耗值=所述每个主机的静态性能参数*(所述每个主机的动态性能参数+待创建虚拟机的预估性能数据),以及将所述多个主机中预设单位时间内的CPU消耗值最低的主机作为创建所述待创建虚拟机的优选主机。
7.如权利要求6所述的装置,其特征在于,所述虚拟机创建请求中包括所述待创建虚拟机的CPU个数,所述响应模块具体用于:
将所述待创建虚拟机的CPU个数乘以预设估计性能值得到所述待创建虚拟机的预估性能数据。
8.如权利要求6所述的装置,其特征在于,所述装置还包括:
保存模块,用于按照预设监控周期从所述每个主机的每个已创建虚拟机获取所述每个主机的每个已创建虚拟机的动态性能数据并保存。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810772452.XA CN109144663B (zh) | 2018-07-13 | 2018-07-13 | 主机优选方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810772452.XA CN109144663B (zh) | 2018-07-13 | 2018-07-13 | 主机优选方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109144663A CN109144663A (zh) | 2019-01-04 |
CN109144663B true CN109144663B (zh) | 2020-11-10 |
Family
ID=64800781
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810772452.XA Active CN109144663B (zh) | 2018-07-13 | 2018-07-13 | 主机优选方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109144663B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110825703B (zh) * | 2019-11-01 | 2023-04-11 | 浪潮云信息技术股份公司 | 一种基于定时任务实现文件系统弹性伸缩的方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104536832A (zh) * | 2015-01-21 | 2015-04-22 | 北京邮电大学 | 一种虚拟机部署方法 |
CN104714823A (zh) * | 2015-03-06 | 2015-06-17 | 上海新炬网络信息技术有限公司 | 基于OpenStack的新建主机配置方法 |
CN105279027A (zh) * | 2015-11-19 | 2016-01-27 | 浪潮(北京)电子信息产业有限公司 | 一种虚拟机部署方法及装置 |
CN106033373A (zh) * | 2015-03-11 | 2016-10-19 | 苏宁云商集团股份有限公司 | 一种云计算平台中虚拟机资源调度方法和调度系统 |
CN107479950A (zh) * | 2016-06-08 | 2017-12-15 | 阿里巴巴集团控股有限公司 | 一种虚拟机调度方法、设备及系统 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5272709B2 (ja) * | 2008-12-19 | 2013-08-28 | 富士通株式会社 | アドレス割当方法、コンピュータ、物理マシン、プログラム、及びシステム |
CN103885831B (zh) * | 2012-12-19 | 2017-06-16 | 中国电信股份有限公司 | 虚拟机宿主机的选择方法与装置 |
CN104683408A (zh) * | 2013-11-29 | 2015-06-03 | 中国科学院深圳先进技术研究院 | OpenStack云计算管理平台建立虚拟机实例的方法和系统 |
US9329889B2 (en) * | 2014-03-31 | 2016-05-03 | Vmware, Inc. | Rapid creation and reconfiguration of virtual machines on hosts |
CN107506233B (zh) * | 2016-06-14 | 2020-12-01 | 深信服科技股份有限公司 | 一种虚拟资源调度方法、装置及服务器 |
JP2018112837A (ja) * | 2017-01-10 | 2018-07-19 | 株式会社東芝 | 仮想マシン管理装置、仮想マシン管理方法およびコンピュータプログラム |
CN107038064B (zh) * | 2017-04-18 | 2021-12-10 | 腾讯科技(深圳)有限公司 | 虚拟机管理方法及装置、存储介质 |
CN107748691B (zh) * | 2017-10-30 | 2020-04-24 | 平安科技(深圳)有限公司 | 虚拟机部署方法、装置、设备及计算机可读存储介质 |
-
2018
- 2018-07-13 CN CN201810772452.XA patent/CN109144663B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104536832A (zh) * | 2015-01-21 | 2015-04-22 | 北京邮电大学 | 一种虚拟机部署方法 |
CN104714823A (zh) * | 2015-03-06 | 2015-06-17 | 上海新炬网络信息技术有限公司 | 基于OpenStack的新建主机配置方法 |
CN106033373A (zh) * | 2015-03-11 | 2016-10-19 | 苏宁云商集团股份有限公司 | 一种云计算平台中虚拟机资源调度方法和调度系统 |
CN105279027A (zh) * | 2015-11-19 | 2016-01-27 | 浪潮(北京)电子信息产业有限公司 | 一种虚拟机部署方法及装置 |
CN107479950A (zh) * | 2016-06-08 | 2017-12-15 | 阿里巴巴集团控股有限公司 | 一种虚拟机调度方法、设备及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN109144663A (zh) | 2019-01-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11689471B2 (en) | Cloud compute scheduling using a heuristic contention model | |
US10747640B2 (en) | Techniques for managing a distributed computing environment using event digests | |
CN106874100B (zh) | 计算资源分配方法及装置 | |
WO2017031837A1 (zh) | 磁盘容量的预测方法、装置及设备 | |
WO2012154177A1 (en) | Varying a characteristic of a job profile relating to map and reduce tasks according to a data size | |
US20160275412A1 (en) | System and method for reducing state space in reinforced learning by using decision tree classification | |
WO2016178316A1 (ja) | 計算機調達予測装置、計算機調達予測方法、及び、プログラム | |
WO2021093365A1 (zh) | 一种gpu显存管理控制方法及相关装置 | |
WO2016172848A1 (zh) | 一种调整云计算中虚拟资源的方法及装置 | |
CN115454322A (zh) | 使用经训练的模型的工作负载管理 | |
CN109144663B (zh) | 主机优选方法及装置 | |
CN110471769B (zh) | 一种虚拟机的资源管理方法及装置 | |
CN115150471A (zh) | 数据处理方法、装置、设备、存储介质及程序产品 | |
CN109800052B (zh) | 应用于分布式容器云平台的异常检测与定位方法及装置 | |
CN104866370A (zh) | 一种云计算环境下面向并行应用的动态时间片调度方法及系统 | |
CN109857563B (zh) | 任务执行方法、装置和任务执行系统 | |
US11157301B2 (en) | Systems and methods for improved management of virtual machine clusters | |
CN109995571B (zh) | 服务器配置与vnf应用匹配的方法及装置 | |
US9606887B2 (en) | Persisting large volumes of data in an efficient unobtrusive manner | |
CN112783713A (zh) | 一种多核虚拟机卡顿的处理方法、装置、设备和存储介质 | |
CN111143073B (zh) | 一种虚拟化资源的管理方法、设备及存储介质 | |
US20230039875A1 (en) | Adaptive idle detection in a software-defined data center in a hyper-converged infrastructure | |
US11765065B1 (en) | System and method for scalable telemetry | |
CN103176847A (zh) | 虚拟机的分配方法 | |
US20230297393A1 (en) | Application tuning based on performance characteristics |
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 |