虚拟机创建方法和设备的制作方法
【专利摘要】本发明提供一种虚拟机创建方法和设备,本发明提供的虚拟机创建方法,包括:管理节点接收云管理平台下发的第一虚拟机创建指示,所述管理节点根据所述第一虚拟机创建指示和所管理的各主机的资源利用信息,确定在至少一个主机上创建虚拟机并向所确定的至少一个主机下发第二虚拟机创建指示,所述第二虚拟机创建指示用于指示创建至少一个虚拟机。主机接收管理节点下发的第二虚拟机创建指示,并根据所述第二虚拟机创建指示,在所述主机上对应创建虚拟机。本发明中,管理节点根据各主机的资源利用信息,动态地为各主机分配创建虚拟机的任务,不仅提高了用户创建虚拟机的速度,还不影响其他用户业务,使网络资源能得到充分合理的利用。
【专利说明】虚拟机创建方法和设备
【技术领域】
[0001]本发明涉及虚拟化技术,尤其涉及一种虚拟机创建方法和设备。
【背景技术】
[0002]云计算(Cloud Computing)是一种通过因特网以服务的方式提供动态可伸缩的虚拟化的资源的计算模式。云计算的作用是将计算资源如中央处理器(Central ProcessingUnit,简称CPU)的利用率、内存、网络和存储资源简化为同水电一样易用的资源,用户通过网络即可方便的利用。虚拟化技术是云计算应用的关键技术,通过虚拟化技术可以扩大硬件的容量,简化软件的重新配置过程。通过CPU、内存、网络的虚拟化技术可以允许一个平台同时运行多个虚拟机(Virtual Machine, VM)并且每一个虚拟机都可以独立运行而互不影响,从而大大提高物理设备的资源使用效率。
[0003]现有技术中,当需要创建虚拟机时,管理主机随机的在其管理的多个计算主机中选择某一计算主机,在该计算主机上创建虚拟机。然而,当该主机业务量较大时,创建虚拟机会影响到该主机上其他虚拟机的使用及其他业务。
【发明内容】
[0004]本发明实施例提供一种虚拟机创建方法和设备,用以解决现有技术中的缺陷,合理的分配网络资源,提高整个网络的利用率。
[0005]第一方面,本发明实施例提供一种虚拟机创建方法,包括:
[0006]管理节点接收云管理平台下发的第一虚拟机创建指示,所述第一虚拟机创建指示用于指示创建至少一个虚拟机;
[0007]所述管理节点根据所述第一虚拟机创建指示和所管理的各主机的资源利用信息,确定在至少一个主机上创建虚拟机;
[0008]所述管理节点向所确定的至少一个主机下发第二虚拟机创建指示,所述第二虚拟机创建指示用于指示创建至少一个虚拟机。
[0009]在第一方面的第一种可能的实现方式中,所述主机的资源利用信息包括以下任意一种信息或多种信息组合:主机的空闲资源信息、主机的中央处理单元CPU利用率信息、主机的内存利用率信息、主机的网络流量信息。
[0010]在第一方面的第二种可能的实现方式中,所述管理节点根据所述第一虚拟机创建指示和所管理的各主机的资源利用信息,确定在至少一个主机上创建虚拟机,包括:
[0011]所述管理节点根据所述第一虚拟机创建指示和所管理的各主机的资源利用信息,在所管理的各主机中确定繁忙主机和空闲主机;
[0012]所述管理节点确定在至少一个空闲主机上创建虚拟机。
[0013]在第一方面的第一种可能的实现方式中,所述第一虚拟机创建指示用于指示以下创建虚拟机操作的任意一种或多种组合:链接克隆虚拟机、复制虚拟机、启动虚拟机、迁移虚拟机、唤醒虚拟机、重启虚拟机;[0014]所述第二虚拟机创建指示用于指示以下创建虚拟机操作的任意一种或多种组合:链接克隆虚拟机、复制虚拟机、启动虚拟机、迁移虚拟机、唤醒虚拟机、重启虚拟机。
[0015]在第一方面的第二种可能的实现方式中,所述管理节点根据所述第一虚拟机创建指示和所管理的各主机的资源利用信息,确定在至少一个主机上创建虚拟机,包括:
[0016]所述管理节点根据设定的每种所述创建虚拟机操作的权重值,确定在空闲率高的主机上执行权重值高的创建虚拟机操作,在空闲率低的主机上执行权重值低的创建虚拟机操作,所述权重值用于表示执行所述创建虚拟机操作所占用的主机资源。
[0017]第二方面,本发明实施例提供另一种虚拟机创建方法,包括:
[0018]主机接收管理节点下发的第二虚拟机创建指示,所述第二虚拟机创建指示用于指示创建至少一个虚拟机,所述主机由所述管理节点根据云管理平台下发的第一虚拟机创建指示和所管理的各主机的资源利用率信息确定;
[0019]所述主机根据所述第二虚拟机创建指示,在所述主机上对应创建虚拟机。
[0020]在第二方面的第一种可能的实现方式中,所述第二虚拟机创建指示用于指示以下创建虚拟机操作的任意一种或多种组合:链接克隆虚拟机、复制虚拟机、启动虚拟机、迁移虚拟机、唤醒虚拟机、重启虚拟机。
[0021]在第二方面的第一种可能的实现方式中,所述主机根据所述第二虚拟机创建指示,在所述主机上对应创建虚拟机,包括:
[0022]所述主机监测所述主机的资源利用信息;
[0023]所述主机根据所检测的资源利用信息,提高创建虚拟机操作的速度或降低创建虚拟机操作的速度。
[0024]在第二方面的第一种可能的实现方式,所述主机的资源利用信息包括以下任意一种信息或多种信息组合:主机的CPU利用率信息、主机的内存利用率信息、主机的网络流量信息、基于网络的存储设备IPSAN的网络流量信息、基于光纤的存储设备FCSAN的网络流量信息。
[0025]第三方面,本发明实施例提供一种管理节点服务器,包括:
[0026]接收模块,用于接收云管理平台下发的第一虚拟机创建指示,所述第一虚拟机创建指示用于指示创建至少一个虚拟机;
[0027]确定模块,用于根据所述第一虚拟机创建指示和各主机的资源利用信息,确定在至少一个主机上创建虚拟机;
[0028]发送模块,用于向所确定的至少一个主机下发第二虚拟机创建指示,所述第二虚拟机创建指示用于指示创建至少一个虚拟机。
[0029]在第三方面的第一种可能的实现方式中,所述主机的资源利用信息包括以下任意一种信息或多种信息组合:主机的空闲资源信息、主机的中央处理单元CPU利用率信息、主机的内存利用率信息、主机的网络流量信息。
[0030]在第三方面的第一种可能的实现方式中,所述确定模块还用于根据所述第一虚拟机创建指示和所管理的各主机的资源利用信息,在所管理的各主机中确定繁忙主机和空闲主机;确定在至少一个空闲主机上创建虚拟机。
[0031 ] 在第三方面的第一种可能的实现方式中,所述接收模块接收的第一虚拟机创建指示用于指示以下创建虚拟机操作的任意一种或多种组合:链接克隆虚拟机、复制虚拟机、启动虚拟机、迁移虚拟机、唤醒虚拟机、重启虚拟机;
[0032]所述发送模块发送的第二虚拟机创建指示用于指示以下创建虚拟机操作的任意一种或多种组合:链接克隆虚拟机、复制虚拟机、启动虚拟机、迁移虚拟机、唤醒虚拟机、重启虚拟机。
[0033]在第三方面的第二中可能的实现方式中,所述确定模块还用于根据设定的每种所述创建虚拟机操作的权重值,确定在空闲率高的主机上执行权重值高的创建虚拟机操作,在空闲率低的主机上执行权重值低的创建虚拟机操作,所述权重值用于表示执行所述创建虚拟机操作所占用的主机资源。
[0034]第四方面,本发明实施例提供一种主机,包括:
[0035]接收模块,用于接收管理节点下发的第二虚拟机创建指示,所述第二虚拟机创建指示用于指示创建至少一个虚拟机,所述主机由所述管理节点根据云管理平台下发的第一虚拟机创建指示和所管理的各主机的资源利用率信息确定;
[0036]处理模块,用于根据所述第二虚拟机创建指示,在所述主机上对应创建虚拟机。
[0037]在第四方面第一种可能的实现方式中,所述接收模块接收的所述第二虚拟机创建指示用于指示以下创建虚拟机操作的任意一种或多种组合:链接克隆虚拟机、复制虚拟机、启动虚拟机、迁移虚拟机、唤醒虚拟机、重启虚拟机。
[0038]进一步地,所述主机还包括:监测模块,用于监测所述主机的资源使用信息;
[0039]所述处理模块还用于根据所述监测模块监测到的资源使用信息,提高创建虚拟机操作的速度或降低创建虚拟机操作的速度。
[0040]在第四方面第一种可能的实现方式中,所述监测模块监测的所述主机的资源使用信息包括以下任意一种信息或多种信息组合:主机的CPU使用率信息、主机的内存使用率信息、主机的网络流量信息、基于网络的存储设备IPSAN的网络流量信息、基于光纤的存储设备FCSAN的网络流量信息。
[0041]本发明实施例提供的虚拟机创建方法和设备,管理节点根据接收到的云管理平台下发的虚拟机创建指示和所管理的各主机的资源利用情况,指示至少一个主机创建虚拟机。管理节点可以根据各主机的资源利用情况动态地为各主机分配创建虚拟机的任务,实现合理分配网络资源,提供整个网络的利用率。
【专利附图】
【附图说明】
[0042]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0043]图1为本发明虚拟机创建方法实施例一的流程图;
[0044]图2为本发明虚拟机创建方法实施例二的流程图;
[0045]图3为主机服务器的结构示意图;
[0046]图4为本发明提供的虚拟机创建方法实施例三的流程图;
[0047]图5为管理节点服务器的结构图;
[0048]图6为本发明提供的管理节点服务器实施例一的结构示意图;[0049]图7为本发明提供的主机实施例一的结构示意图;
[0050]图8为本发明提供的管理节点又一个实施例的结构示意图;
[0051]图9为本发明提供的主机另一个实施例的结构示意图。
【具体实施方式】
[0052]为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0053]图1为本发明虚拟机创建方法实施例一的流程图。如图1所示,该方法包括以下步骤:
[0054]101、管理节点接收云管理平台下发的第一虚拟机创建指示,第一虚拟机创建指示用于指示创建至少一个虚拟机。
[0055]本实施例中,用户通过个人计算机(Personal Computer,简称PC)接入到云管理平台,用户向云管理平台发起请求,请求创建多个虚拟机,用户在向云管理平台发起的请求消息中可以指定在某一主机上创建虚拟机,也不可以不指定主机。当用户指定在某一主机上创建虚拟机时,云管理平台将会向管理该主机的管理节点下发第一虚拟机创建指示。
[0056]本实施例中以用户没有指定创建虚拟机的主机为例来说明。云管理平台在接收到用户创建虚拟机的请求时,可以向管理节点下发第一创建虚拟机指示。
[0057]具体地,云管理平台向管理节点下发的第一虚拟机创建指示可以用于指示创建至少一个虚拟机,即,可以用于指示创建的虚拟机数量,还可以用于指示创建虚拟机操作的类型。可选的,第一虚拟机创建指示用于指示以下创建虚拟机操作的任意一种或多种组合:链接克隆虚拟机、复制虚拟机、启动虚拟机、迁移虚拟机、唤醒虚拟机、重启虚拟机。
[0058]上述创建虚拟机操作中,链接克隆虚拟机是指多个虚拟机只有一个系统卷(母卷),而对于普通虚拟机而言,每一个虚拟机有一个系统卷,即一个系统卷可以供多个虚拟机同时使用。虚拟机复制是指,将一个已经创建好的虚拟机完全地拷贝,得到另外一个虚拟机,通过一个虚拟机可以复制出多个相同虚拟机。虚拟机迁移是指,将一个虚拟机从一个主机移动到另外一个主机,移动过程中用户的业务不受影响。虚拟机唤醒是指虚拟机休眠后再次启动,启动后用户可以接续休眠前所执行的操作。重启虚拟机是指虚拟机重新启动。虚拟机启动,是指虚拟机关机后再次上电。重启虚拟机是指重新创建一个新的虚拟机。以上创建虚拟机的各种操作均为现有技术,在此不再详细阐述。
[0059]102、管理节点根据第一虚拟机创建指示和所管理的各主机的资源利用信息,确定在至少一个主机上创建虚拟机。
[0060]管理节点是业务入口,能够接收云管理平台下发的虚拟机创建命令,解析创建命令,并指示所管理的主机执行相应的创建操作。管理节点可以管理多个主机,指示主机进行虚拟机创建,监控各个主机的资源使用情况等,。
[0061]管理节点接收到的第一虚拟机创建指示后,可以对所管理的各个主机资源利用情况进行分析。可选的,主机的资源利用信息可以包括以下任意一种信息或多种信息组合:主机的空闲资源信息、主机的中央处理单元CPU利用率信息、主机的内存利用率信息、主机的网络流量信息。主机的空闲资源信息包括剩余的CPU和内存。管理节点可以周期性或非周期性地获取该管理节点管理的各个主机的资源信息,或各个主机也可以周期性或非周期性地主动上报各自的资源信息给管理节点。
[0062]管理节点可以根据第一虚拟机创建指示所确定的虚拟机创建数量,创建操作的类型,以及所管理的各主机的资源利用信息,确定在至少一个主机上创建虚拟机。具体的,管理节点可以根据获取的各个主机的资源信息确定出繁忙主机和空闲主机。举例来说:管理节点可以根据CPU利用率来确定繁忙主机和空闲主机,对于CPU利用率大于或等于某一数值的主机可以确定为繁忙主机,对CPU利用率低于该数值的主机则可以确定为空闲主机,管理节点可以在所确定的空闲主机中选择至少一个空闲主机来创建虚拟机。对于繁忙主机,则管理节点可以不向该主机发放虚拟机创建指示。以上仅以根据CPU利用率确定空闲主机和繁忙主机为例进行说明,可以理解的是,还可以根据主机的其他资源信息来确定繁忙主机和空闲主机,例如以内存利用率,当前的网络流量信息,或者上述各种资源利用信息的结合来确定,并不以此为限。
[0063]103、管理节点向所确定的至少一个主机下发第二虚拟机创建指示,第二虚拟机创建指示用于指示创建至少一个虚拟机。
[0064]其中,第二虚拟机创建指示可以用于指示以下创建虚拟机操作的任意一种或多种组合:链接克隆虚拟机、复制虚拟机、启动虚拟机、迁移虚拟机、唤醒虚拟机、重启虚拟机。
[0065]主机在接收到管理节点下发的第二虚拟机创建指示之后,可以根据该创建指示执行对应的创建虚拟机操作。
[0066]本实施例中,管理节点根据接收到的云管理平台下发的虚拟机创建指示和所管理的各主机的资源利用情况,指示至少一个主机创建虚拟机。管理节点可以根据各主机的资源利用情况动态地为各主机分配创建虚拟机的任务,实现合理分配网络资源,提高整个网络的利用率。
[0067]图2为本发明虚拟机创建方法实施例二的流程图。该方法具体包括以下步骤:
[0068]201、主机接收管理节点下发的第二虚拟机创建指示,第二虚拟机创建指示用于指示创建至少一个虚拟机。
[0069]可选的,第二虚拟机创建指示可以用于指示以下创建虚拟机操作的任意一种或多种组合:链接克隆虚拟机、复制虚拟机、启动虚拟机、迁移虚拟机、唤醒虚拟机、重启虚拟机。
[0070]本实施例中,所述主机由管理节点根据云管理平台下发的第一虚拟机创建指示和所管理的各主机的资源利用率信息确定,具体的确定过程可参见实施例一中的相关描述,此处不再赘述。
[0071]202、主机根据第二虚拟机创建指示,在主机上对应创建虚拟机。
[0072]本实施例中以重建一个新的虚拟机为例来对主机所执行的创建虚拟机操作进行说明。主机接收第二虚拟机创建指示,第二虚拟机创建指示重建一个新的虚拟机。主机可以首先通过底层命令创建虚拟机需要磁盘,网卡等,并拷贝操作系统OS (Operate System,简称OS),OS拷贝完成后向主机自身申请虚拟机需要的内存、CPU等,然后创建虚拟机的外围设备,包括串口、光驱等,在虚拟机所需要的软、硬件资源都创建好后,最后调用Hypervisor(Hy P e r V i s ο r是一种在虚拟环境中的“元”操作系统),访问主机上包括磁盘和内存在内的所有物理设备。Hypervisors不但协调着这些硬件资源的访问。当主机启动并执行Hypervisor时,它会加载所有虚拟机客户端的操作系统同时会分配给每一台虚拟机适量的内存,CPU,网络和磁盘。需要说明的是,在创建虚拟机时,虚拟机的磁盘可以是主机本地磁盘,也可以是与主机连接的各种存储设备,例如:基于网络的存储设备IPSAN、基于光纤的存储设备FCSAN等。
[0073]图3为主机服务器的结构示意图。如图3所示,主机硬件资源也包括CPU、内存、Nic、磁盘。在主机上运行有多个虚拟机VM,Hypervisor支撑虚拟机的运行。虚拟机运行时,由Hypervisor来调用主机上的虚拟中央处理器(Virtual Central Processing Unit,简称VCPU)、虚拟存储管理单兀(Virtal Memory Management Unit,简称VMMU)、事件通道(Event Channel)等虚拟化资源,主机通过Iibvirt进程来调用Hypervisor,保证虚拟机的运行。虚拟机运行时,虚拟节点代理(Virtual Node Agent,简称VNA)模块主要用来实时监测主机自身的资源使用信息。Iibvirt是一套免费、开源的支持主流虚拟化工具的C函数库,其旨在为各种虚拟化工具提供一套方便、可靠的编程接口。Qemu模块主要用来监控主机上各个虚拟机的进程。OM主要用来管理网络的日常的维护操作,包括监控主机的硬件资源,发送告警信息等。看门狗主要用来监控主机上各个进程的运行状态。
[0074]另一方面,主机在执行创建虚拟机操作的同时监测主机自身的资源使用信息,具体可以包括以下任意一种信息或多种信息组合:主机目前的CPU利用率、内存、网络流量,根据上述资源使用信息来确定主机目前可提供的空闲资源。该监测功能可以由主机中的VNA模块来完成,VNA主要用来实时监测主机自身的资源使用信息。VNA可以将监测到的资源使用信息上报给管理节点,具体可以是上报给管理节点上的VRM,管理节点可以根据主机的资源信息确定空闲主机及繁忙主机,以便空闲主机中确定至少一个主机进行虚拟机创建的操作。
[0075]本实施例中,主机在创建虚拟机时实时监测自身的资源利用信息,管理节点根据主机的资源利用情况,动态地为各主机分配创建虚拟机的任务,从而使每个主机的资源都能够得到合理充分的使用。提高整个网络的资源利用率。
[0076]图4为本发明提供的虚拟机创建方法实施例三的流程图,如图4所示,该方法包括如下步骤:
[0077]401、用户向云管理平台发起创建虚拟机请求。
[0078]本步骤中,用户可以通过PC机接入到云管理平台,用户向云管理平台发起创建虚拟机请求,请求创建多个虚拟机,用户在向云管理平台发起的请求消息中可以指定在某一主机上创建虚拟机,也不可以不指定主机。当用户指定在某一主机上创建虚拟机时,云管理平台将会向管理该主机的管理节点下发第一虚拟机创建指示。
[0079]402、云管理平台向管理节点下发第一虚拟机创建指示,第一虚拟机创建指示用于指示创建至少一个虚拟机。
[0080]云管理平台对整个网络资源进行管理、控制。具体地,云管理平台向管理节点下发的第一虚拟机创建指示可以用于指示创建至少一个虚拟机,即,可以用于指示创建的虚拟机数量,还可以用于指示创建虚拟机操作的类型。可选的,第一虚拟机创建指示用于指示以下创建虚拟机操作的任意一种或多种组合:链接克隆虚拟机、复制虚拟机、启动虚拟机、迁移虚拟机、唤醒虚拟机、重启虚拟机。
[0081]403、管理节点接收云管理平台下发的第一虚拟机创建指示,管理节点根据第一虚拟机创建指示和所管理的各主机的资源利用信息,确定在至少一个主机上创建虚拟机。
[0082]管理节点是业务入口,能够接收云管理平台下发的虚拟机创建命令,解析创建命令,并指示所管理的主机执行相应的创建操作。管理节点可以管理多个主机,指示主机进行虚拟机创建,监控各个主机的资源使用情况等。管理节点可以是一服务器,图5为管理节点服务器的结构图。如图所示,管理节点服务器主要由软件既OS和硬件构成。硬件部分包括CPU、内存、网卡(Network Interface Card,简称NIC)及磁盘。OS包括虚拟化资源管理(virtual resource management,简称VRM)模块、操作维护(Operation Maintenance,简称OM冲心、看门狗等组成。VRM主要用来控制管理节点所管理的各个主机的资源利用情况及网络中的虚拟机化资源;看门狗用来监控主机中各个进程的运行状态;0M主要用来管理网络的日常的维护操作。
[0083]管理节点接收到的第一虚拟机创建指示后,可以对所管理的各个主机资源利用情况进行分析。可选的,主机的资源利用信息可以包括以下任意一种信息或多种信息组合:主机的空闲资源信息、主机的中央处理单元CPU利用率信息、主机的内存利用率信息、主机的网络流量信息。管理节点可以周期性或非周期性地获取该管理节点管理的各个主机的资源信息,或各个主机也可以周期性或非周期性地主动上报各自的资源信息给管理节点。具体地,可以由主机上的VRM来完成,VRM可以定期向管理节点所管理的各个主机广播消息,通过该消息用来获取各个主机的资源信息,各个主机在收到该广播消息后,向管理节点返回响应,在响应中携带有该主机的资源信息,例如:上述提及的主机的当前的空闲资源信息、主机的中央处理单元CPU利用率信息、主机的内存利用率信息、主机的网络流量信息等。
[0084]管理节点可以根据第一虚拟机创建指示所确定的虚拟机创建数量,创建操作的类型,以及所管理的各主机的资源利用信息,确定在至少一个主机上创建虚拟机。具体的,管理节点可以根据获取的各个主机的资源信息确定出繁忙主机和空闲主机。管理节点可以在所确定的空闲主机中选择至少一个空闲主机来创建虚拟机。对于繁忙主机,则管理节点可以不向该主机发放虚拟机创建指示。
[0085]由于每种创建虚拟机操作所占用的主机资源是不同的,因此,可选的,管理节点可以根据不同创建虚拟机操作所占用的主机资源,为不同创建虚拟机操作设置相应的权重,例如:可以对占用主机资源相对较高的创建操作设置相对较高的权重值,对占用主机资源低的创建操作设置相对较低的权重值。另一方面,管理节点可以根据各个主机所能提供的空闲资源和设定的每种创建虚拟机操作的权重值,在选定的主机中空闲率相对较高的主机上执行权重值较高的创建虚拟机操作,在空闲率相对较低的主机上执行权重值较低的创建虚拟机操作。管理节点可以实时监控各个主机的资源使用情况,各主机的资源空闲情况可能由于创建虚拟机而发生变化,例如:当某一空闲资源高的主机执行相应的创建虚拟机操作后,主机的空闲资源降低。因此,管理节点可以周期性或非周期性地重新确定繁忙主机和空闲主机,以便合理利用各个主机所能提供的资源。
[0086]404、管理节点向所确定的至少一个主机下发第二虚拟机创建指示,第二虚拟机创建指示用于指示创建至少一个虚拟机。
[0087]其中,第二虚拟机创建指示可以用于指示以下创建虚拟机操作的任意一种或多种组合:链接克隆虚拟机、复制虚拟机、启动虚拟机、迁移虚拟机、唤醒虚拟机、重启虚拟机。
[0088]405、主机接收管理节点下发的第二虚拟机创建指示,并根据第二虚拟机创建指示,在主机上对应创建虚拟机。
[0089]本步骤中,主机在接收到管理节点下发的第二虚拟机创建指示之后,可以根据该创建指示执行对应的创建虚拟机操作。具体,主机根据第二虚拟机创建指示,执行以下创建虚拟机操作:链接克隆虚拟机、复制虚拟机、启动虚拟机、迁移虚拟机、唤醒虚拟机、重启虚拟机。
[0090]另一方面,主机在执行创建虚拟机操作的同时监测主机自身的资源使用信息,具体可以包括以下任意一种信息或多种信息组合:主机目前的CPU利用率、内存、网络流量,根据上述资源使用信息来确定主机目前可提供的空闲资源。该监测功能可以由VNA模块来完成,VNA主要用来实时监测主机自身的资源使用信息。VNA可以将监测到的资源使用信息上报给管理节点,具体可以是上报给管理节点上的VRM,管理节点可以根据主机的资源信息确定空闲主机及繁忙主机,以便空闲主机中确定至少一个主机进行虚拟机创建的操作。
[0091]VNA用来实时监测主机自身的资源信息,当主机执行完一种创建虚拟机操作后,主机的资源可能会相应发生变化,VNA可以实时的将主机资源信息上报给VRM,以便VRM准确确定空闲主机及繁忙主机,合理的分配网络资源。本实施例中,每一种创建虚拟机操作占用的资源不同,因此,管理节点可以为每一个创建虚拟机操作分配不同的权重值,例如,复制虚拟机时占用的资源可以为100%,链接克隆虚拟机占用的资源可以为25%,启动虚拟机占用的资源可以为30%,迁移虚拟机占用的资源可以为20%,唤醒虚拟机占用的资源可以为50%。例如,主机目前的空闲资源为100%,当VRM在主机上启动一个虚拟机后,主机的空闲资源由原来100%降低为70%,如果再在主机上面迁移一个虚拟机,主机的空闲资源降低为50%。VRM可以根据VNA监测到的资源情况提高或降低创建虚拟机的操作,当主机可提供的资源高时,可以提高创建虚拟机的速度,当主机可提供的资源的较低时,VRM选择其他的资源高的主机进行创建虚拟机的操作。具体的,例如VRM选择了三个主机进行虚拟机创建,假定VNAl监测到的主机A空闲资源为90%,VNA2监测到的主机B空闲资源为80%,VNA3监测到的主机C空闲资源为60%,则VRM先在主机A上迁移一个虚拟机,迁移虚拟机占用的资源为20%,迁移虚拟机后主机A的资源降低为70%,此时,主机A的资源低于主机B的资源,则VRM在下一个创建虚拟机操作时,将会优先选择主机B进行虚拟机创建。这样,VRM便可以根据各个VNA监测到的主机的资源使用信息,选择空闲资源高的主机进行创建虚拟机操作,不仅可以提高创建虚拟的速度,还不影响其他用户业务。
[0092]本实施例提供的虚拟机创建方法,管理节点根据接收到的云管理平台下发的虚拟机创建指示和所管理的各主机的资源利用情况,指示至少一个主机创建虚拟机。主机根据接收到的管理节点下发的第二虚拟机创建指示执行创建虚拟机操作并同时监测自身资源利用情况。管理节点可以根据各主机的资源利用情况动态地为各主机分配创建虚拟机的任务,实现合理分配网络资源,提高整个网络的利用率。
[0093]图6为本发明提供的管理节点服务器实施例一的结构示意图。如图6所示,本发明实施例提供管理节点服务器具体包括:接收模块603、确定模块602及发送模块601。接收模块603用于接收云管理平台下发的第一虚拟机创建指示,第一虚拟机创建指示用于指示创建至少一个虚拟机;确定模块602用于根据第一虚拟机创建指示和各主机的资源利用信息,确定在至少一个主机上创建虚拟机;发送模块601用于向所确定的至少一个主机下发第二虚拟机创建指示,第二虚拟机创建指示用于指示创建至少一个虚拟机。[0094]接收模块603接收的第一虚拟机创建指示用于指示以下创建虚拟机操作的任意一种或多种组合:链接克隆虚拟机、复制虚拟机、启动虚拟机、迁移虚拟机、唤醒虚拟机、重启虚拟机。
[0095]确定模块602还用于根据第一虚拟机创建指示和所管理的各主机的资源利用信息,在所管理的各主机中确定繁忙主机和空闲主机;确定在至少一个空闲主机上创建虚拟机。具体地,确定模块602还用于根据设定的每种所述创建虚拟机操作的权重值,确定在空闲率高的主机上执行权重值高的创建虚拟机操作,在空闲率低的主机上执行权重值低的创建虚拟机操作,所述权重值用于表示执行所述创建虚拟机操作所占用的主机资源。
[0096]发送模块601发送的第二虚拟机创建指示用于指示以下创建虚拟机操作的任意一种或多种组合:链接克隆虚拟机、复制虚拟机、启动虚拟机、迁移虚拟机、唤醒虚拟机、重启虚拟机。
[0097]进一步地,发送模块601还用于向主机发送请求消息,请求消息用于获取主机的资源利用信息。接收模块603还用于接收来自各主机的响应消息,该响应消息中包含有主机的资源利用信息。主机的资源利用信息包括以下任意一种信息或多种信息组合:主机的空闲资源信息、主机的中央处理单元CPU利用率信息、主机的内存利用率信息、主机的网络
流量信息。
[0098]本实施例提供的管理节点服务器,可以用于执行图1所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
[0099]本实施例提供的管理节点服务器,根据接收到的云管理服务器发送的第一虚拟机创建指示和所管理的各主机的资源利用信息,指示至少一个主机创建虚拟机。由于管理节点服务器可以根据各主机的资源利用信息动态为各主机分配创建虚拟机任务,从而能够实现合理分配网络资源,提高整个网络的利用率。
[0100]图7为本发明提供的主机实施例一的结构示意图。本发明实施例提供的主机具体包括:接收模块701、处理模块702。接收模块701用于接收管理节点下发的第二虚拟机创建指示,第二虚拟机创建指示用于指示创建至少一个虚拟机,主机由管理节点根据云管理平台下发的第一虚拟机创建指示和所管理的各主机的资源利用率信息确定;处理模块702用于根据第二虚拟机创建指示,在主机上对应创建虚拟机。
[0101]接收模块701接收的第二虚拟机创建指示用于指示以下创建虚拟机操作的任意一种或多种组合:链接克隆虚拟机、复制虚拟机、启动虚拟机、迁移虚拟机、唤醒虚拟机、重启虚拟机。
[0102]进一步地,本实施例提供的主机还可以包括:监测模块703,监测模块703用于监测主机的资源使用信息;监测模块703监测的主机的资源使用信息包括以下任意一种信息或多种信息组合:主机的CPU使用率信息、主机的内存使用率信息、主机的网络流量信息、基于网络的存储设备IPSAN的网络流量信息、基于光纤的存储设备FCSAN的网络流量信息。
[0103]处理模块702还用于根据监测模块703监测到的资源使用信息,提高创建虚拟机操作的速度或降低创建虚拟机操作的速度。
[0104]本实施例提供的主机,可以用于执行图2所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
[0105]本实施例提供的主机,主机根据管理节点下发的第二虚拟机创建指示执行创建虚拟机操作的同时实时监测主机自身的资源利用情况。主机可以根据自身资源利用情况提高或降低创建虚拟机的速度,使得网络资源能够得到合理的使用,提高真个网络的利用率。
[0106]图8为本发明提供的管理节点又一个实施例的结构示意图,如图8所示,该管理节点用于执行本发明图1和图3所示实施例提供的虚拟机创建方法。该管理节点包括:接收器801、处理器802发送器803,其中,接收器801和发送器803可以分别通过总线或其它方式与处理器802连接,图8中以总线连接为例进行说明,其中,处理器802用于执行包括计算机指令的程序代码。
[0107]接收器801,用于接收云管理平台下发的第一虚拟机创建指示,所述第一虚拟机创建指示用于指示创建至少一个虚拟机;
[0108]处理器802,用于根据所述第一虚拟机创建指示和各主机的资源利用信息,确定在至少一个主机上创建虚拟机;
[0109]发送器803,用于向所确定的至少一个主机下发第二虚拟机创建指示,所述第二虚拟机创建指示用于指示创建至少一个虚拟机。
[0110]接收器801接收的第一虚拟机创建指示用于指示以下创建虚拟机操作的任意一种或多种组合:链接克隆虚拟机、复制虚拟机、启动虚拟机、迁移虚拟机、唤醒虚拟机、重启虚拟机。该第一虚拟机创建指示不仅可以创建虚拟机操作的类型,还可以指定创建虚拟机的数量。
[0111]处理器802根据接收器801接收的第一虚拟机创建指示和所管理的各主机的资源利用信息,首先在所管理的各主机中确定繁忙主机和空闲主机。举例来说:处理器802可以根据CPU利用率来确定繁忙主机和空闲主机,对于CPU利用率大于或等于某一数值的主机可以确定为繁忙主机,对CPU利用率低于该数值的主机则可以确定为空闲主机,当然,还可以根据主机的其他资源信息来确定繁忙主机和空闲主机。处理器802在所确定的空闲主机中选择至少一个空闲主机来创建虚拟机。对于繁忙主机,则管理节点可以不向该主机发放虚拟机创建指示。
[0112]上述主机的资源利用信息包括以下任意一种信息或多种信息组合:主机的空闲资源信息、主机的中央处理单元CPU利用率信息、主机的内存利用率信息、主机的网络流量信息。处理器802第一虚拟机创建指示和所管理的各主机的资源利用信息。
[0113]发送器803向处理器802所确定的至少一个主机下发第二虚拟机创建指示,第二虚拟机创建指示用于指示创建至少一个虚拟机。具体地,第二虚拟机创建指示用于指示以下创建虚拟机操作的任意一种或多种组合:链接克隆虚拟机、复制虚拟机、启动虚拟机、迁移虚拟机、唤醒虚拟机、重启虚拟机。
[0114]由于每种创建虚拟机操作所占用的主机资源是不同的,处理器802还可以根据每种创建虚拟机操作所占用的主机资源为每种操作设置相应的权重。并确定在空闲率高的主机上执行权重值高的创建虚拟机操作,在空闲率低的主机上执行权重值低的创建虚拟机操作。
[0115]图9为本发明提供的主机另一个实施例的结构示意图,如图9所示,该主机用于执行本发明图2和图3所示实施例提供的虚拟机创建方法。该主机包括:接收器901、处理器902。接收器901可以通过总线行包括计算机指令的程序代码。或其它方式与处理器902连接,图9中以总线连接为例进行说明,其中,处理器902用于执[0116]接收器901:用于接收管理节点下发的第二虚拟机创建指示,所述第二虚拟机创建指示用于指示创建至少一个虚拟机,
[0117]处理器902:用于根据所述第二虚拟机创建指示,在所述主机上对应创建虚拟机。
[0118]监测器903:用于监测所述主机的资源利用信息。
[0119]本实施例中,主机由管理节点根据云管理平台下发的第一虚拟机创建指示和所管理的各主机的资源利用率信息确定。
[0120]接收器901接收的第二虚拟机创建指示用于指示以下创建虚拟机操作的任意一种或多种组合:链接克隆虚拟机、复制虚拟机、启动虚拟机、迁移虚拟机、唤醒虚拟机、重启虚拟机。
[0121]处理器902根据接收器901接收到的第二虚拟机创建指示,执行上述任一种或多种创建虚拟机的操作。
[0122]本实施例中,处理器902在创建虚拟机的同时,监测器903不断的监测各主机的资源利用信息。具体地,监测器903监测主机的资源利用信息包括以下任意一种信息或多种信息组合:主机的CPU利用率信息、主机的内存利用率信息、主机的网络流量信息、基于网络的存储设备IPSAN的网络流量信息、基于光纤的存储设备FCSAN的网络流量信息。
[0123]处理器902根据监测器903监测到的各主机的资源利用情况,提高创建虚拟机操作的速度或降低创建虚拟机操作的速度。具体,处理器902根据监测到的各主机的资源,选择空闲资源高的主机执行创建虚拟机的操作。
[0124]最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
【权利要求】
1.一种虚拟机创建方法,其特征在于,包括: 管理节点接收云管理平台下发的第一虚拟机创建指示,所述第一虚拟机创建指示用于指示创建至少一个虚拟机; 所述管理节点根据所述第一虚拟机创建指示和所管理的各主机的资源利用信息,确定在至少一个主机上创建虚拟机; 所述管理节点向所确定的至少一个主机下发第二虚拟机创建指示,所述第二虚拟机创建指示用于指示创建至少一个虚拟机。
2.根据权利要求1所述的方法,其特征在于,所述主机的资源利用信息包括以下任意一种信息或多种信息组合:主机的空闲资源信息、主机的中央处理单元CPU利用率信息、主机的内存利用率信息、主机的网络流量信息。
3.根据权利要求1或2所述的方法,其特征在于,所述管理节点根据所述第一虚拟机创建指示和所管理的各主机的资源利用信息,确定在至少一个主机上创建虚拟机,包括: 所述管理节点根据所述第一虚拟机创建指示和所管理的各主机的资源利用信息,在所管理的各主机中确定繁忙主机和空闲主机; 所述管理节点确定在至少一个空闲主机上创建虚拟机。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述第一虚拟机创建指示用于指示以下创建虚拟机操作的任意一种或多种组合:链接克隆虚拟机、复制虚拟机、启动虚拟机、迁移虚拟机、唤醒虚拟机、重启虚拟机; 所述第二虚拟机创建指示用于指示以下创建虚拟机操作的任意一种或多种组合:链接克隆虚拟机、复制虚拟机、启动虚拟机、迁移虚拟机、唤醒虚拟机、重启虚拟机。
5.根据权利要求4所述的方法,其特征在于,所述管理节点根据所述第一虚拟机创建指示和所管理的各主机的资源利用信息,确定在至少一个主机上创建虚拟机,包括: 所述管理节点根据设定的每种所述创建虚拟机操作的权重值,确定在空闲率高的主机上执行权重值高的创建虚拟机操作,在空闲率低的主机上执行权重值低的创建虚拟机操作,所述权重值用于表示执行所述创建虚拟机操作所占用的主机资源。
6.一种虚拟机创建方法,其特征在于,包括: 主机接收管理节点下发的第二虚拟机创建指示,所述第二虚拟机创建指示用于指示创建至少一个虚拟机,所述主机由所述管理节点根据云管理平台下发的第一虚拟机创建指示和所管理的各主机的资源利用率信息确定; 所述主机根据所述第二虚拟机创建指示,在所述主机上对应创建虚拟机。
7.根据权利要求6所述的方法,其特征在于,所述第二虚拟机创建指示用于指示以下创建虚拟机操作的任意一种或多种组合:链接克隆虚拟机、复制虚拟机、启动虚拟机、迁移虚拟机、唤醒虚拟机、重启虚拟机。
8.根据权利要求6或7所述的方法,其特征在于,所述主机根据所述第二虚拟机创建指示,在所述主机上对应创建虚拟机,包括: 所述主机监测所述主机的资源利用信息; 所述主机根据所检测的资源利用信息,提高创建虚拟机操作的速度或降低创建虚拟机操作的速度。
9.根据权利要求8所述的方法,其特征在于,所述主机的资源利用信息包括以下任意一种信息或多种信息组合:主机的CPU利用率信息、主机的内存利用率信息、主机的网络流量信息、基于网络的存储设备IPSAN的网络流量信息、基于光纤的存储设备FCSAN的网络流量信息。
10.一种管理节点服务器,其特征在于,包括: 接收模块,用于接收云管理平台下发的第一虚拟机创建指示,所述第一虚拟机创建指示用于指示创建至少一个虚拟机; 确定模块,用于根据所述第一虚拟机创建指示和各主机的资源利用信息,确定在至少一个主机上创建虚拟机; 发送模块,用于向所确定的至少一个主机下发第二虚拟机创建指示,所述第二虚拟机创建指示用于指示创建至少一个虚拟机。
11.根据权利要求10所述的管理节点服务器,其特征在于,所述主机的资源利用信息包括以下任意一种信息或多种信息组合:主机的空闲资源信息、主机的中央处理单元CPU利用率信息、主机的内存利用率信息、主机的网络流量信息。
12.根据权利要求10或11所述的管理节点服务器,其特征在于,所述确定模块还用于根据所述第一虚拟机创建指示和所管理的各主机的资源利用信息,在所管理的各主机中确定繁忙主机和空闲主机;确定在至少一个空闲主机上创建虚拟机。
13.根据权利要求1 0-12任一项所述的管理节点服务器,其特征在于,所述接收模块接收的第一虚拟机创建指示用于指示以下创建虚拟机操作的任意一种或多种组合:链接克隆虚拟机、复制虚拟机、启动虚拟机、迁移虚拟机、唤醒虚拟机、重启虚拟机; 所述发送模块发送的第二虚拟机创建指示用于指示以下创建虚拟机操作的任意一种或多种组合:链接克隆虚拟机、复制虚拟机、启动虚拟机、迁移虚拟机、唤醒虚拟机、重启虚拟机。
14.根据权利要求13所述的管理节点服务器,其特征在于,所述确定模块还用于根据设定的每种所述创建虚拟机操作的权重值,确定在空闲率高的主机上执行权重值高的创建虚拟机操作,在空闲率低的主机上执行权重值低的创建虚拟机操作,所述权重值用于表示执行所述创建虚拟机操作所占用的主机资源。
15.一种主机,其特征在于,包括: 接收模块,用于接收管理节点下发的第二虚拟机创建指示,所述第二虚拟机创建指示用于指示创建至少一个虚拟机,所述主机由所述管理节点根据云管理平台下发的第一虚拟机创建指示和所管理的各主机的资源利用率信息确定; 处理模块,用于根据所述第二虚拟机创建指示,在所述主机上对应创建虚拟机。
16.根据权利要求15所述的主机,其特征在于,所述接收模块接收的所述第二虚拟机创建指示用于指示以下创建虚拟机操作的任意一种或多种组合:链接克隆虚拟机、复制虚拟机、启动虚拟机、迁移虚拟机、唤醒虚拟机、重启虚拟机。
17.根据权利要求15或16所述的主机,其特征在于,所述主机还包括: 监测模块,用于监测所述主机的资源利用信息; 所述处理模块还用于根据所述监测模块监测到的资源利用信息,提高创建虚拟机操作的速度或降低创建虚拟机操作的速度。
18.根据权利要求17所述的主机,其特征在于,所述监测模块监测的所述主机的资源利用信息包括以下任意一种信息或多种信息组合:主机的CPU利用率信息、主机的内存利用率信息、主机的网络流量信息、基于网络的存储设备IPSAN的网络流量信息、基于光纤的存储设备FCSAN 的网络流量信息。
【文档编号】H04L29/08GK103810015SQ201210447574
【公开日】2014年5月21日 申请日期:2012年11月9日 优先权日:2012年11月9日
【发明者】刘宝起, 仇俊, 陈亮 申请人:华为技术有限公司