创建虚拟机的方法及装置
文献发布时间:2023-06-19 11:29:13
技术领域
本申请涉及通信领域,特别涉及一种创建虚拟机的方法及装置。
背景技术
云计算数据中心虚拟化软件公司的虚拟化管理软件(vm ware virtual centerserver,vCenter)是一种虚拟化管理平台,可以包括多个主机,每个主机连接到网络中的数据中心交换机(top of rank,TOR)上。用户可以在vCenter包括的主机上建立虚拟机,位于该主机上的虚拟机可以通过与该主机相连的TOR在网络上传输业务。
目前当用户需要创建虚拟机时,通常在vCenter包括的多个主机中随机选择一个主机,然后在该主机上创建该虚拟机。由于随机选择主机,这样对于网络中的某些TOR,与该TOR相连的主机可能被频繁地选择,导致在该主机上建立大量的虚拟机,这样该大量的虚拟机通过该TOR来传输业务,使该TOR上传输业务较多,导致该TOR的负载较大,容易在该TOR上形成网络拥塞等问题。
发明内容
本申请提供了一种创建虚拟机的方法及装置,以降低TOR的负载,避免在TOR上形成网络拥塞等问题。所述技术方案如下:
第一方面,本申请提供了一种创建虚拟机的方法,在所述方法中,控制器接收创建请求,该创建请求包括待创建虚拟机属于的租户网络的网络信息。控制器根据该网络信息,确定负载信息满足第一条件且与该租户网络相对应的TOR。控制器根据该网络信息,在与该TOR相连的主机上创建待创建虚拟机。由于从与该租户网络相对应的TOR中选择负载信息满足第一条件的TOR,然后在与该TOR相连的主机上创建虚拟机,这样可以实现在租户网络对应的TOR之间进行负载均衡,避免了某个TOR被频繁选择,导致该TOR上传输的业务数量较大,从而降低了TOR的负载,避免了该租户网络对应的TOR产生网络拥塞等问题。
在一种可能的实现方式中,TOR的负载信息包括TOR中的逻辑端口数目,该逻辑端口数目用于反应TOR上传输的业务数目。控制器根据该网络信息,获取租户网络对应的每个TOR中的逻辑端口数目。控制器从每个TOR中选择逻辑端口数目最小的一个TOR,或者,选择逻辑端口数目小于第一阈值的一个TOR。由于选择逻辑端口数目最小的TOR或逻辑端口数目小于第一阈值的TOR,而逻辑端口数目用于反应TOR上传输的的业务数目,这样保证选择的TOR上传输的业务数目相对较小,使得在创建完待创建虚拟机后,待创建虚拟机使用选择的该TOR来传输业务时,不会发生网络拥塞等问题。
在另一种可能的实现方式中,控制器根据租户网络的网络信息与TOR的设备标识的对应关系和该网络信息,确定租户网络对应的每个TOR。控制器根据每个TOR的设备标识,从TOR的设备标识与逻辑端口数目之间的对应关系中,获取每个TOR中的逻辑端口数目。由于控制器中保存有租户网络的网络信息与TOR的设备标识的对应关系,以及,TOR的设备标识与逻辑端口数目之间的对应关系,因此控制器可以通过该两个对应关系,可以获取到该租户网络对应的每个TOR的逻辑端口数目,从而基于每个TOR的逻辑端口数目,可以在每个TOR上进行负载均衡。
在另一种可能的实现方式中,控制器获取与选择的该TOR相连的每个主机包括的虚拟机数目,选择虚拟机数目满足第二条件的主机。控制器根据该网络信息,在选择的主机上创建待创建的虚拟机。对于与选择的该TOR相连的每个主机,还获取每个主机中的虚拟机数目,从每个主机中选择虚拟机数目满足第二条件的主机,在选择的主机上创建虚拟机,这样可以在该每个主机之间实现负载均衡,避免了某个主机负载过大,影响业务运行。
在另一种可能的实现方式中,控制器从控制器管理的网络的网络拓扑图中获取与选择的该TOR相连的每个主机的设备标识,该网络包括选择的该TOR和每个主机。控制器根据每个主机的设备标识,从主机的设备标识与虚拟机数目的对应关系中获取每个主机中的虚拟机数目。由于控制器中包括网络拓扑图,从而基于该网络拓扑图可得到与该TOR相连的每个主机的设备标识,基于每个主机的设备标识可以从该对应关系中获取每个主机中的虚拟机数目,从而基于每个主机中的虚拟机数目可以实现在每个主机之间进行负载均衡。
在另一种可能的实现方式中,控制器选择虚拟机数目最小的主机,或者,选择虚拟机数目小于第二阈值的主机。由于选择虚拟机数目最小的主机或虚拟机数目小于第二阈值的主机,这样保证选择的主机上的负载相对较小,在选择的主机上创建虚拟机,不会使选择的主机的负载过大,影响业务运行。
在另一种可能的实现方式中,控制器计算每个主机包括的计算资源总量和虚拟机数目之间的比值。控制器选择比值最大的主机或选择比值大于第三阈值的主机。其中主机的比值越大表示主机上可用于创建虚拟机的空闲资源越多,所以控制器选择比值最大的主机或选择比值大于第三阈值的主机,在选择的主机创建虚拟机,不会使某些主机的负载较大,某些主机的负载较小,从而避免负载不均衡的现象产生。
第二方面,本申请提供了一种创建虚拟机的装置,用于执行第一方面或第一方面的任意一种可能实现方式中的方法。具体地,所述装置包括用于执行第一方面或第一方面的任意一种可能实现方式的方法的单元。
第三方面,本申请提供了一种创建虚拟机的装置,所述装置包括:处理器、存储器和收发器。其中,所述处理器、所述存储器和所述收发器之间可以通过总线系统相连。所述存储器用于存储一个或多个程序,所述处理器用于执行所述存储器中的一个或多个程序,使得所述迁移装置完成第一方面或第一方面的任意可能实现方式中的方法。
第四方面,本申请提供了一种计算机可读存储介质,计算机可读存储介质中存储有程序代码,当其在计算机上运行时,使得计算机执行上述第一方面或第一方面的任意可能实现方式中的方法。
第五方面,本申请提供了一种包含程序代码的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面或第一方面的任意可能实现方式中的方法。
附图说明
图1是本申请实施例提供的一种网络架构示意图;
图2是本申请实施例提供的一种创建虚拟机的方法流程图;
图3是本申请实施例提供的一种确定租户网络对应的每个TOR和每个TOR的负载信息的流程图;
图4是本申请实施例提供的一种创建虚拟机的装置结构示意图;
图5是本申请实施例提供的另一种创建虚拟机的装置结构示意图。
具体实施方式
下面将结合附图对本申请实施方式作进一步地详细描述。
参见图1,本申请实施例提供了一种网络架构,该网络架构包括控制器、vCenter和数据中心网络。控制器可以对vCenter和数据中心网络进行管理。
vCenter中包括多个主机,数据中心网络包括至少一个网关(gateway,GW)、至少一个骨干交换机(Spine)和至少一个TOR等网络设备。
对于数据中心网络中的任一个TOR,该TOR与vCenter中的至少一个主机连接,该TOR还与一个或多个Spine相连。对于任一个Spine,该Spine还与一个或多个GW相连,而每个GW还可以连接到广域网。例如,GW可以连接到广域网的边缘路由器(edge router,PE)。
控制器与数据中心网络中的网络设备之间可以建立有网络连接,控制器通过该网络连接可以对数据中心网络中的网络设备进行管理,以实现对数据中心网络进行管理。以及,控制器与vCenter中的主机之间可以建立有网络连接,控制器通过该网络连接可以对vCenter中的主机进行管理,以实现对vCenter进行管理。
在该网络架构中,用户可以在vCenter的主机中部署业务。该用户可以企业、组织或个人等。当用户需要部署业务时,用户可以通过其对应的设备向控制器发送业务申请请求,控制器分配一个租户网络的网络标识,申请该租户网络对应的网段信息和VLAN的网络标识,以及为该租户网络分配至少一个TOR。这样用户可以在与该至少一个TOR相连的主机上创建至少一个虚拟机,使用该至少一个虚拟机来运行该业务,而该租户网络包括该至少一个虚拟机。
一个TOR可以分配给多个不同的租户网络,与该TOR相连的主机上可以创建属于不同租户网络的虚拟机。
可选的,控制器中保存有租户网络的网络信息与TOR的设备标识的对应关系。在控制器为一个租户网络分配至少一个TOR后,控制器可以将该租户网络的网络信息以及分配的每个TOR的设备标识对应保存到该租户网络的网络信息与TOR的设备标识的对应关系中。
该租户网络的网络信息可以包括该租户网络的网络标识,该租户网络对应的网段信息和该租户网络对应的VLAN的网络标识。该租户网络对应的网段信息可以是地址段,该地址段可以为互联网协议(internet protocol,IP)地址段或介质访问控制层(mediaaccess control,MAC)地址段等。例如,以该地址段为IP地址段为例,控制器为该租户网络分配的网段信息为IP地址段,假设该IP地址段可以为192.168.1.0至192.168.1.10。另外,假设控制器分配的该租户网络的网络标识为N1,以及申请的该租户网络对应的VLAN的网络标识为V1,这样该租户网络的网络信息可以包括该租户网络的网络标识N1、该网段信息“192.168.1.0至192.168.1.10”以及该VLAN的网络标识V1。
再假设,控制器为该租户网络分配的TOR包括TOR1和TOR2,这样控制器可以将该租户网络的网络信息,分配的TOR1的设备标识T1和TOR2的设备标识T2保存在如下表示1所示的租户网络的网络信息与TOR的设备标识的对应关系
表1
对于vCenter中的任一个主机,该主机包括供虚拟机运行所需要的计算资源,该计算资源可以是中央处理器(central processing unit,CPU)或内存等。
用户在申请到租户网络后,用户可以请求控制器创建虚拟机。控制器可以在用户的请求下,在vCenter中的主机上创建虚拟机,该虚拟机可以用于运行该租户网络对应的业务。该虚拟机可以通过与该主机相连的TOR接入到数据中心网络,可以在该数据中心网络上传输属于该业务的业务报文。其中,控制器在主机上创建虚拟机的详细过程将在后续图2所示的实施例中进行说明,在此先不详细介绍。
对于与该主机相连的TOR,该TOR中可以包括至少一个逻辑端口,对于每个逻辑端口,该逻辑端口对应一种业务。对于该主机上运行的虚拟机,以及对于该虚拟机上运行的业务,该虚拟机可以建立与该TOR之间的网络连接,该网络连接用于连接该虚拟机和该TOR上的该业务对应的逻辑端口。这样,该虚拟机可以通该网络连接向该TOR发送该业务的业务报文,该TOR通过该逻辑端口接收该业务的业务报文,通过与该TOR之间存在连接的Spine和GW向广域网发送该业务的业务报文。或者,该TOR可以接收来自广域网的该业务的业务报文,通过该业务对应的逻辑端口向该虚拟机发送该业务的业务报文。
由于TOR通过逻辑端口与虚拟机建立网络连接,以及该TOR通过该逻辑端口传输该虚拟机运行的业务。所以TOR中的逻辑端口越多,表示与该TOR建立网络连接的虚拟机越多,以及表示在TOR中传输的业务越多。
可选的,控制器还保存TOR的设备标识与负载信息的对应关系。该对应关系中保存了数据中心网络中的各TOR的设备标识和各TOR的负载信息。TOR的负载信息可以为该TOR中的逻辑端口数目等。
可选的,对于数据中心网络中的任一个TOR,控制器获取该TOR的负载信息,并将该TOR的设备标识与该TOR的负载信息对应保存在TOR的设备标识与负载信息的对应关系中。在该TOR中的负载信息发生变化时,控制器还获取该TOR发生变化后的负载信息,并在TOR的设备标识与负载信息的对应关系中将该TOR的负载信息更新为该变化后的负载信息。
例如,以负载信息为逻辑端口数目为例,对于图1所示的数据中心网络包括的TOR1和TOR2,控制器可以获取TOR1包括的逻辑端口数目,假设TOR1包括的逻辑端口数目为50,以及获取TOR2包括的逻辑端口数目,假设TOR2包括的逻辑端口数目为80。将TOR1的设备标识T1以及TOR1包括的罗辑端口数目50对应保存在如下表2所示的TOR的设备标识与逻辑端口数目的对应关系中。以及,将TOR2的设备标识T2以及TOR2包括的罗辑端口数目80对应保存在如下表2所示的TOR的设备标识与逻辑端口数目的对应关系中。
表2
可选的,控制器中还保存主机的设备标识与虚拟机数目的对应关系。该对应关系中保存了vCenter中的各主机的设备标识和各主机中的虚拟机数目。对于vCenter中的任一个主机,控制器获取该主机中包括的虚拟机数目,并将该主机的设备标识与该主机中包括的虚拟机数目对应保存在主机的设备标识与虚拟机数目的对应关系中。在该主机包括的虚拟机数目发生变化时,控制器还获取该主机发生变化后的虚拟机数目,并在主机的设备标识与虚拟机数目的对应关系中将该主机包括的虚拟机数目更新为该变化后的虚拟机数目。
例如,对于图1所示的vCenter包括的主机1,控制器可以获取主机1包括的虚拟机数目,假设主机1包括的逻辑端口数目为20,将主机1的设备标识H1以及主机1包括的虚拟机数目20对应保存在如下表3所示的主机的设备标识与虚拟机数目的对应关系中。对图1所示的vCenter包括的主机2、主机3、主机4和主机5等主机,控制器也在如下表3所示的主机的设备标识与虚拟机数目的对应关系中保存主机2的设备标识H2和虚拟机数目25,主机3的设备标识H3和虚拟机数目5,主机4的设备标识H4和虚拟机数目30,以及主机5的设备标识H5和虚拟机数目50。
表3
对于vCenter中的任一个主机,该主机上运行的虚拟机可以是用户请求控制器在该主机上建立的。当用户需要建立虚拟机时,用户对应的设备可以向控制器发送用于请求创建该虚拟机的创建请求。控制器接收该创建请求,可以通过如下图2所示的实施例提供创建虚拟机的方法在vCenter的一个主机上创建该虚拟机。接下来将详细说明该创建虚拟机的方法实现过程。
参见图2,本申请实施例提供了一种创建虚拟机的方法,该方法可以应用于图1所示的网络架构,包括:
步骤201:控制器接收创建请求,该创建请求包括待创建虚拟机属于的租户网络的网络信息。
租户网络的网络信息可以包括该租户网络的网络标识、该租户网络对应的网段信息和该租户网络对应的VLAN的网络标识。
该租户网络对应一种业务,对于属于该业务的业务报文,该业务报文的报文头中可以包括该租户网络的网络信息。数据中心网络中的网络设备在接收到属于该业务的业务报文时,可以基于该业务报文中包括的租户网络的网络信息来传输该业务报文。
在本步骤中,用户需要创建一个用于运行某个业务的虚拟机时,用户可以在其对应的设备上输入与该业务相对应的租户网络的网络信息。该设备获取该租户网络的信息,生成包括该租户网络的网络信息的创建请求,向控制器发送该创建请求。
例如,在如图1所示的网络架构中,假设用户对应的设备向控制器发送创建请求,该创建请求包括租户网络的网络信息,该网络信息包括该租户网络的网络标识N1、该租户网络对应的网段信息“192.168.1.0至192.168.1.10”,以及该租户网络对应的VLAN的网络标识V1。
步骤202:控制器根据该租户网络的网络信息,确定该租户网络对应的每个TOR和每个TOR的负载信息。
在本步骤中,参见图3,控制器可以通过如下2021至2022的步骤来实现。该2021至2022的步骤,分别为:
2021:控制器根据租户网络的网络信息与TOR的设备标识的对应关系,以及该租户网络的网络信息,确定该租户网络对应的每个TOR。
在本步骤中,控制器根据该租户网络的网络信息,从租户网络的网络信息与TOR的设备标识的对应关系,获取对应的每个TOR的设备标识,将每个TOR的设备标识对应的TOR确定为该租户网络对应的TOR。
例如,控制器根据该网络信息包括的该租户网络的网络标识N1、该租户网络对应的网段信息“192.168.1.0至192.168.1.10”,以及该租户网络对应的VLAN的网络标识V1,从如表1所示的租户网络的网络信息与TOR的设备标识的对应关系中,获取该租户网络对应的TOR的设备标识包括T1和T2。确定该租户网络对应的TOR包括设备标识T1对应的TOR1和设备标识T2对应的TOR2。
2022:控制器根据每个TOR的设备标识,从TOR的设备标识与负载信息的对应关系中获取每个TOR的负载信息。
对于任一个TOR,TOR的负载信息可以为该TOR的逻辑端口数目。所以TOR的设备标识与负载信息的对应关系可以为TOR的设备标识与逻辑端口数目的对应关系。
因此在本步骤中,控制器根据每个TOR的设备标识,从TOR的设备标识与逻辑端口数目的对应关系中获取每个TOR的逻辑端口数目。
例如,控制器已确定出该租户网络对应的TOR包括TOR1和TOR2,控制器根据TOR1的设备标识T1,从如表2所示的TOR的设备标识与逻辑端口数目的对应关系中获取TOR1中包括的逻辑端口数目为50,以及,根据TOR2的设备标识T2,从如表2所示的TOR的设备标识与逻辑端口数目的对应关系中获取TOR2中包括的逻辑端口数目为80。
步骤203:控制器从该租户网络对应的每个TOR中选择负载信息满足第一条件的TOR。
可选的,每个TOR的负载信息分别为每个TOR包括的逻辑端口数目,在本步骤中,控制器可以从该租户网络对应的每个TOR中选择逻辑端口数目最小的一个TOR,或者,选择逻辑端口数目小于第一阈值的一个TOR。
例如,在步骤203中,控制器获取到该租户网络对应的TOR1包括的逻辑端口数目为50,以及该租户网络对应的TOR2包括的逻辑端口数目为80。在本步骤中,控制器可以从该租户网络对应的TOR1和TOR2中选择逻辑端口数目最小的TOR1。
步骤204:控制器从与该选择的TOR相连的至少一个主机中选择一个主机。
控制器中可以保存整个网络的网络拓扑图。例如,对于图1所示的网络架构,控制器可以保存图1所示网络架构的网络拓扑图。
因此,在本步骤中,控制器可以从该网络拓扑图中获取与该选择的TOR相连的每个主机的设备标识,根据每个主机的设备标识,从主机的设备标识与虚拟机数目的对应关系中,获取每个主机中包括的虚拟机数目;从每个主机中选择虚拟机数目满足第二条件的主机。
可选的,在本步骤中,控制器可以按如下两种方式从每个主机中选择虚拟机数目满足第二条件的主机,该两种方式分别为:
第一种,控制器选择虚拟机数目最小的主机,或者,选择虚拟机数目小于第二阈值的主机。
在第一种方式中,通常vCenter中的各主机包括的计算资源总量相同或相差较小,控制器选择虚拟机数目最小的主机,或者,选择虚拟机数目小于第二阈值的主机,在选择的主机上创建虚拟机,可以在每个主机之间实现负载均衡。
例如,控制器选择的TOR为TOR1,参见图1,控制器从网络拓扑图中获取与TOR1相连的主机包括主机1、主机2和主机3,主机1的设备标识为H1,主机2的设备标识为H2,以及主机3的设备标识为H3。这样控制器根据主机1的设备标识H1,主机2的设备标识H2,以及主机3的设备标识H3,分别从如表3所示的主机的设备标识与虚拟机数目的对应关系中获取主机1中包括的虚拟机数目为20,主机2包括的虚拟机数目为25,以及主机3包括的虚拟机数目为5。然后控制器从主机1、主机2和主机3中,选择包括的虚拟机数目最小的主机3。
第二种、控制器计算每个主机包括的计算资源总量和虚拟机数目之间的比值;选择比值最大的主机或选择比值大于第三阈值的主机。
可选的,控制器可以保存主机的设备标识与计算资源总量的对应关系。在vCenter中部署主机时,控制器可以获取该主机的设备标识和计算资源总量,将该主机的设备标识和计算资源总量对应保存在主机的设备标识与计算资源总量的对应关系中。
可选的,在部署一个主机后,可以在该主机中配置控制器的地址,这样该主机可以主动地根据控制器的地址,向控制器上报其设备标识和其包括的计算资源总量。控制器接收该主机的设备标识和该主机包括的计算资源总量。或者,
在部署一个主机后,技术人员可以向控制器输入该主机的设备标识,控制器根据该主机的设备标识,向该主机发送查询请求。该主机接收查询请求,向控制器发送其设备标识和其包括的计算资源总量。控制器接收该主机的设备标识和该主机包括的计算资源总量。
可选的,主机的计算资源总量可以包括主机的CPU数目和/或主机的内存空间大小等。
在第二种方式,控制器根据每个主机的设备标识,从主机的设备标识与计算资源总量的对应关系中,获取每个主机包括的计算资源总量。计算每个主机包括的计算资源总量和虚拟机数目之间的比值;选择比值最大的主机或选择比值大于第三阈值的主机。
在第二种方式中,vCenter中的各主机包括的计算资源总量可以不同。而主机的比值越大,表示主机上可用于创建虚拟机的空闲资源越多。选择比值最大的主机或选择比值大于第三阈值的主机,这可以实现在该每个主机之间实现负载均衡。
步骤205:控制器根据该租户网络的网络信息,在选择的一个主机上创建待创建虚拟机。
可选的,控制器向选择的主机发送创建请求,该创建请求包括该租户网络的网络信息。选择的主机接收该创建请求,根据该租户网络的网络信息创建属于该租户网络的虚拟机。
可选的,该选择的主机创建完虚拟机后,还可以向控制器发送创建成功消息,控制器接收该创建成功消息后,向用户对应的设备发送该创建成功消息,以及,根据选择的主机的设备标识,在主机的设备标识与虚拟机数目的对应关系中,获取选择的主机包括的虚拟机数目,在主机的设备标识与虚拟机数目的对应关系中增加选择的主机包括的虚拟机数目。
例如,控制器选择的主机为主机3,根据主机3的设备标识H3,向主机3发送创建请求,该创建请求包括该租户网络的网络信息。主机3接收该创建请求,根据该租户网络的网络信息创建属于该租户网络的虚拟机,向控制器发送创建成功消息。控制器接收该创建成功消息后,向用户对应的设备发送该创建成功消息,以及,根据该主机3的设备标识H3,在如表3所示的主机的设备标识与虚拟机数目的对应关系中,获取主机3包括的虚拟机数目5,在主机的设备标识与虚拟机数目的对应关系中增加选择的主机3包括的虚拟机数目,增加后的虚拟机数目为6,得到的结果如下表4所示。
表4
在选择的主机上创建虚拟机后,用户可以在创建的虚拟机上部署业务,该虚拟机建立与选择的该TOR之间的网络连接。其中,在该TOR上存在该业务对应的逻辑端口的情况下,该TOR通过该业务对应的逻辑端口建立与该虚拟机之间的网络连接,该网络连接连接该虚拟机与该TOR上的该逻辑端口。在该TOR上不存在该业务对应的逻辑端口的情况下,该TOR先创建与该业务相对应的逻辑端口,然后通过该业务对应的逻辑端口建立与该虚拟机之间的网络连接,该网络连接连接该虚拟机与该TOR上的该逻辑端口。
在建立完网络连接后,该虚拟机可以通过该网络连接向该TOR发送该业务的业务报文,该TOR通过Spine和GW向广域网发送该业务报文。或者,该TOR接收来自广域网的该业务的业务报文,通过该网络连接向该虚拟机发送该业务的业务报文。
可选的,在该TOR创建逻辑端口后,该TOR可以向控制器发送更新请求,该更新请求包括该TOR的设备标识和该TOR包括的逻辑端口数目。控制器接收该更新请求,从该更新请求中读取该TOR的设备标识和该TOR包括的逻辑端口数目,根据该TOR的设备标识,从TOR的设备标识与逻辑端口数目的对应关系中获取该TOR包括的逻辑端口数目,在TOR的设备标识与逻辑端口数目的对应关系中,将该TOR包括的逻辑端口数目更新为读取的逻辑端口数目。
例如,对于选择的TOR1,假设在TOR1与主机3上的虚拟机建立网络连接的过程中,TOR1创建了逻辑端口,此时TOR1包括的逻辑端口数目为51。TOR1可以向控制器发送更新请求,该更新请求包括TOR1的设备标识H1和TOR1包括的逻辑端口数目51。控制器接收该更新请求,从该更新请求中读取该TOR1的设备标识H1和该TOR1包括的逻辑端口数目51。控制器根据该TOR1的设备标识H1,从如表2所示的TOR的设备标识与逻辑端口数目的对应关系中获取该TOR1包括的逻辑端口数目50,将该TOR1包括的逻辑端口数目50更新为读取的逻辑端口数目51,得到如表5所示的TOR的设备标识与逻辑端口数目的对应关系中。
表5
在本申请实施例中,控制器在接收到用于创建虚拟机的创建请求时,根据该创建请求包括的待创建虚拟机属于的租户网络的网络信息,获取该租户网络对应的每个TOR的负载信息,这样可以从每个TOR中选择负载信息满足第一条件的TOR,在与该TOR相连的主机上创建虚拟机,这样可以实现在租户网络对应的TOR之间进行负载均衡,避免了某个TOR被频繁选择,导致该TOR上传输的业务数量较大,避免了该租户网络对应的TOR容易产生网络拥塞等问题。另外,对于与选择的该TOR相连的每个主机,还获取每个主机中的虚拟机数目,从每个主机中选择虚拟机数目满足第二条件的主机,在选择的主机上创建虚拟机,这样可以在该每个主机之间实现负载均衡,避免了某个主机负载过大,影响业务运行。
参见图4,本申请实施例提供了一种创建虚拟机的装置300,所述装置300可以部署在上述图1或图2所示的实施例中的控制器上,包括:
接收单元301,用于接收创建请求,该创建请求包括待创建虚拟机属于的租户网络的网络信息;
处理单元302,用于根据该网络信息,确定负载信息满足第一条件且与租户网络相对应的数据中心交换机TOR;
处理单元302,还用于根据该网络信息,在与该TOR相连的主机上创建待创建虚拟机。
可选的,处理单元302确定满足第一条件且与租户网络相对应的TOR的详细实现过程,可以参见图2所示的实施例中的步骤202-203中的相关内容。以及,处理单元302在与该TOR相连的主机上创建待创建虚拟机的详细实现过程,可以参见图2所示的实施例中的步骤204-205中的相关内容。
可选的,TOR的负载信息包括TOR中的逻辑端口数目,该逻辑端口数目用于反应TOR上传输的业务数目;
处理单元302,用于:
根据该网络信息,获取该租户网络对应的每个TOR中的逻辑端口数目;
从每个TOR中选择逻辑端口数目最小的一个TOR,或者,选择逻辑端口数目小于第一阈值的一个TOR。
可选的,处理单元302获取逻辑端口数目的详细实现过程,可以参见图2所示的实施例中的步骤2021-2022中的相关内容。
可选的,处理单元302,用于:
根据租户网络的网络信息与TOR的设备标识的对应关系和该网络信息,确定该租户网络对应的每个TOR;
根据每个TOR的设备标识,从TOR的设备标识与逻辑端口数目之间的对应关系中,获取每个TOR中的逻辑端口数目。
可选的,处理单元302,用于:
获取与该TOR相连的每个主机包括的虚拟机数目,选择虚拟机数目满足第二条件的主机;
根据该网络信息,在选择的主机上创建待创建的虚拟机。
可选的,处理单元302选择主机的详细实现过程,可以参见图2所示的实施例中的步骤204中的相关内容。
可选的,处理单元302,用于:
从所述装置300管理的网络的网络拓扑图中获取与该TOR相连的每个主机的设备标识,该网络包括该TOR和该每个主机;
根据每个主机的设备标识,从主机的设备标识与虚拟机数目的对应关系中获取每个主机中的虚拟机数目。
可选的,处理单元302,用于:
选择虚拟机数目最小的主机,或者,选择虚拟机数目小于第二阈值的主机。
可选的,处理单元302,用于:
计算每个主机包括的计算资源总量和虚拟机数目之间的比值;
选择比值最大的主机或选择比值大于第三阈值的主机。
可选的,处理单元302计算每个主机的比值的详细实现过程,可以参见图2所示的实施例中的步骤204中的相关内容。
在本申请实施例中,接收单元接收创建请求,该创建请求包括待创建虚拟机属于的租户网络的网络信息。处理单元根据该网络信息,确定负载信息满足第一条件且与该租户网络相对应的TOR,根据该网络信息,在与该TOR相连的主机上创建待创建虚拟机。由于处理单元从与该租户网络相对应的TOR中选择负载信息满足第一条件的TOR,然后在与该TOR相连的主机上创建虚拟机,这样可以实现在租户网络对应的TOR之间进行负载均衡,避免了某个TOR被频繁选择,导致该TOR上传输的业务数量较大,从而降低了TOR的负载,避免了该租户网络对应的TOR产生网络拥塞等问题。
参见图5,图5所示为本申请实施例提供的一种创建虚拟机的装置400示意图。该装置可以为上述图1或图2所示的实施例中的控制器或控制器的部分结构。该装置400包括至少一个处理器401,总线系统402,存储器403以及至少一个收发器404。
该装置400是一种硬件结构的装置,可以用于实现图4所述的装置300中的功能模块。例如,本领域技术人员可以想到图4所示的装置300中的处理单元302可以通过该至少一个处理器401调用存储器403中的代码来实现,图4所示的装置300中的接收单元301可以通过该收发器404来实现。
可选的,该装置400还可用于实现上述任一实施例中控制器的功能。
可选的,上述处理器401可以是一个通用中央处理器(central processing unit,CPU),微处理器,特定应用集成电路(application-specific integrated circuit,ASIC),或一个或多个用于控制本申请方案程序执行的集成电路。
上述总线系统402可包括一通路,在上述组件之间传送信息。
上述收发器404,用于与其他设备或通信网络通信。
上述存储器403可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electrically erasable programmable read-only memory,EEPROM)、只读光盘(compactdisc read-only memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器可以是独立存在,通过总线与处理器相连接。存储器也可以和处理器集成在一起。
其中,存储器403用于存储执行本申请方案的应用程序代码,并由处理器401来控制执行。处理器401用于执行存储器403中存储的应用程序代码,从而使得迁移装置400实现本专利方法中的功能。
在具体实现中,作为一种实施例,处理器401可以包括一个或多个CPU,例如图5中的CPU0和CPU1。
在具体实现中,作为一种实施例,该装置400可以包括多个处理器,例如图5中的处理器401和处理器407。这些处理器中的每一个可以是一个单核(single-CPU)处理器,也可以是一个多核(multi-CPU)处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
- 一种创建虚拟机的方法和创建虚拟机的装置
- 创建虚拟机的方法及装置