CN106055381B - 一种创建虚拟机的方法和装置 - Google Patents

一种创建虚拟机的方法和装置 Download PDF

Info

Publication number
CN106055381B
CN106055381B CN201610345019.9A CN201610345019A CN106055381B CN 106055381 B CN106055381 B CN 106055381B CN 201610345019 A CN201610345019 A CN 201610345019A CN 106055381 B CN106055381 B CN 106055381B
Authority
CN
China
Prior art keywords
virtual
robot arm
rack
virtual robot
virtual machine
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
Application number
CN201610345019.9A
Other languages
English (en)
Other versions
CN106055381A (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.)
Huawei Cloud Computing Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201610345019.9A priority Critical patent/CN106055381B/zh
Publication of CN106055381A publication Critical patent/CN106055381A/zh
Application granted granted Critical
Publication of CN106055381B publication Critical patent/CN106055381B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • 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/45545Guest-host, i.e. hypervisor is an application program itself, e.g. VirtualBox
    • 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/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5033Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering data affinity
    • 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/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • 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
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/505Clust

Abstract

本发明实施例提出了一种创建虚拟机的方法、系统和装置,用于为分布式应用创建虚拟机集群,包括:接收虚拟机创建请求,所述虚拟机创建请求用于创建多台虚拟机;确定多个虚拟机组,其中,所述多个虚拟机组由所述多台虚拟机划分得到;为所述每个虚拟机组确定归属物理机架,其中,一个虚拟机组对应一个归属物理机架;在所述每个虚拟机组的归属物理机架下,创建所述每个虚拟机组。由于每个虚拟机组在其归属的物理机架下进行创建,使得每个虚拟机组等同于一个物理机架,这样的虚拟机创建方式,每个虚拟机组中的各虚拟机的部署属性能够满足分布式应用的机架感知属性,从而为分布式应用创建了满足其运行需求的虚拟机集群。

Description

一种创建虚拟机的方法和装置
技术领域
本发明实施例涉及计算机技术,特别是一种创建虚拟机的方法、系统和装置。
背景技术
云计算系统的主要包括云应用层、云虚拟化层和物理设备层,云虚拟化层根据物理设备层的物理资源构建虚拟机(Virtual Machine,VM),云应用层中的各种应用程序就由这些虚拟机分别进行运行或者提供服务,一个云应用程序可能分布在一个或多个虚拟机上,对应于一个云应用程序的一个或多个虚拟机可以组成一个虚拟机集群。
目前存在一些集群软件,例如分布式应用,其主要考虑应用的高可用和高可靠性,比如Hadoop这样的集群软件。Hadoop能够对大量数据进行分布式处理,充分利用集群的威力高速运算和存储。Hadoop实现了一个分布式文件系统(Hadoop Distributed Fi leSystem),简称HDFS,其可以维护多个工作数据副本,对于最常见的3个数据复制块,HDFS的规则是将第一个复制块存储在同一物理机架的不同节点上,最后一个复制块存储在不同物理机架的某个节点上。由于集群软件的高可靠性和高可用性的要求,为此类集群软件分配虚拟机以进行业务创建,以及集群软件根据分配好的虚拟机运行业务,是目前将虚拟化技术与集群软件结合实施的难点。
由于集群软件是基于物理机集群进行设计的,然而在虚拟化技术中,虚拟机的资源由云虚拟化层根据物理设备层上的物理资源灵活调度而成,例如,组成一台虚拟机的物理资源可能来自于不同的物理机架下的不同物理机,因此,现有技术中的云虚拟化层无法创建满足集群软件,例如分布式应用的运行要求的虚拟机。
发明内容
本发明实施例提出了一种创建虚拟机的方法、装置和系统,能够为分布式应用创建满足其运行需求的虚拟机。
第一方面,本发明实施例提出了一种创建虚拟机的方法,包括:
接收虚拟机创建请求,所述虚拟机创建请求用于创建多台虚拟机;
确定多个虚拟机组,其中,所述多个虚拟机组由所述多台虚拟机划分得到,每个虚拟机组包含至少一台虚拟机;
为所述每个虚拟机组确定归属物理机架,其中,一个虚拟机组对应一个归属物理机架;
在所述每个虚拟机组的归属物理机架下,创建所述每个虚拟机组。
结合第一方面,在第一种可能的实现方式中,将所述每个虚拟机组中的不同虚拟机创建在所述归属物理机架中的不同物理机上。
结合第一方面或者第一方面的第一种可能的实现方式,在第二种可能的实现方式中,根据所述每个虚拟机组的配置信息,为所述每个虚拟机组确定一个归属物理机架,其中,所述每个虚拟机组的配置信息包括所述每个虚拟机组包含的虚拟机的数量和各个虚拟机的规格。
结合第一方面的第二种可能的实现方式,在第三种可能的实现方式中,确定待分配归属物理机架的当前虚拟机组,获取物理设备层上的空闲物理机架,根据所述每个虚拟机组包含的虚拟机的数量和各个虚拟机的规格,从所述空闲物理机架中选择空闲资源满足所述当前虚拟机组所需资源的第一物理机架,从所述第一物理机架中选择一个作为所述归属物理机架。
结合第一方面的第三种可能的实现方式,在第四种可能的实现方式中,获取虚拟机组的约束信息,获取归属物理机架的分配记录信息,所述分配记录信息包括已分配归属物理机架的虚拟机组与归属物理机架的对应关系,根据所述所述分配记录信息和所述虚拟机组约束信息,从所述第一物理机架中选择一个作为所述当前虚拟机组的归属物理机架。
结合第一方面或者第一方面的第一种可能的实现方式,在第五种可能的实现方式中,获取虚拟机组的约束信息,所述虚拟机组的约束信息表示所述多个虚拟机组之间的关联关系或者互斥关系,根据所述虚拟机组的约束信息,为所述每个虚拟机组确定一个所述归属物理机架。
结合第一方面的第四种可能的实现方式或者第一方面的第五种可能的实现方式,在第六种可能的实现方式中,所述虚拟机组约束信息包括:不同虚拟机组对应不同的归属物理机架;则,为所述每个虚拟机组确定一个不同的归属物理机架。
结合第一方面或者第一方面的任意一种可能的实现方式,在第七种可能的实现方式中,还包括:获取所述每个虚拟机组的标识,将所述每个虚拟机组的标识提供给应用模块,以使得所述应用模块根据所述每个虚拟机组的标识处理业务。
第二方面,本发明实施例提出了一种创建虚拟机的方法,包括:
接收虚拟机创建请求,所述虚拟机创建请求用于为分布式应用创建多台虚拟机;
确定多个虚拟机组,其中,所述多个虚拟机组由所述多台虚拟机划分得到,每个虚拟机组包含至少一台虚拟机;
获取每个虚拟机组的配置信息,其中,所述每个虚拟机组的配置信息包括所述每个虚拟机组包含的虚拟机的数量和各个虚拟机的规格;
根据所述分布式应用的运行属性,确定虚拟机组的部署属性;
根据所述每个虚拟机组的配置信息和所述虚拟机组的部署属性,创建所述每个虚拟机组。
结合第二方面,在第一种可能的实现方式中,根据所述分布式应用的机架感知属性,确定所述虚拟机组的虚拟机架属性,其中,所述虚拟机架属性表明一个虚拟机组对应一个归属物理机架;
根据所述虚拟机组的虚拟机架属性,为所述每个虚拟机组确定一个归属物理机架;根据所述每个虚拟机组的配置信息,在所述每个虚拟机组的归属物理机架下创建所述每个虚拟机组。
结合第二方面的第一种可能的实现方式,在第二种可能的实现方式中,根据所述每个虚拟机组的配置信息,将所述每个虚拟机组中的不同虚拟机创建在所述归属物理机架中的不同物理机上。
结合第二方面或者第二方面的第一种可能的实现方式,在第三种可能的实现方式中,根据所述虚拟机组的虚拟机架属性,为所述每个虚拟机组确定一个不同的归属物理机架。
第三方面,本发明实施例提出了一种创建虚拟机的装置,包括:
接收单元,用于接收虚拟机创建请求,所述虚拟机创建请求用于创建多台虚拟机;
分组单元,用于确定多个虚拟机组,其中,所述多个虚拟机组由所述多台虚拟机划分得到,每个虚拟机组包含至少一台虚拟机;
配置单元,用于为所述每个虚拟机组确定归属物理机架,其中,一个虚拟机组对应一个归属物理机架;
创建单元,用于在所述每个虚拟机组的归属物理机架下,创建所述每个虚拟机组。
结合第三方面,在第一种可能的实现方式中,所述创建单元具体用于:将所述每个虚拟机组中的不同虚拟机创建在所述归属物理机架中的不同物理机上。
结合第三方面或者第三方面的第一种可能的实现方式,在第二种可能的实现方式中,所述配置单元具体用于:根据所述每个虚拟机组的配置信息,为所述每个虚拟机组确定一个归属物理机架,其中,所述每个虚拟机组的配置信息包括所述每个虚拟机组包含的虚拟机的数量和各个虚拟机的规格。
结合第三方面的第二种可能的实现方式,在第三种可能的实现方式中,所述配置单元包括:
确定子单元,用于确定待分配归属物理机架的当前虚拟机组,获取物理设备层上的空闲物理机架,根据所述每个虚拟机组包含的虚拟机的数量和各个虚拟机的规格,从所述空闲物理机架中选择空闲资源满足所述当前虚拟机组所需资源的第一物理机架;
选择子单元,用于从所述第一物理机架中选择一个作为所述归属物理机架。
结合第三方面的第三种可能的实现方式,在第四种可能的实现方式中,所述选择子单元具体用于:获取虚拟机组的约束信息,获取归属物理机架的分配记录信息,所述分配记录信息包括已分配归属物理机架的虚拟机组与归属物理机架的对应关系,根据所述所述分配记录信息和所述虚拟机组约束信息,从所述第一物理机架中选择一个作为所述当前虚拟机组的归属物理机架。
结合第三方面或者第三方面的第一种可能的实现方式,在第五种可能的实现方式中,所述配置单元具体用于:获取虚拟机组的约束信息,所述虚拟机组的约束信息表示所述多个虚拟机组之间的关联关系或者互斥关系,根据所述虚拟机组的约束信息,为所述每个虚拟机组确定一个所述归属物理机架。
结合第三方面的第四种可能的实现方式或者第三方面的第五种可能的实现方式,在第六种可能的实现方式中,所述虚拟机组约束信息包括:不同虚拟机组对应不同的归属物理机架;则,所述配置单元为所述每个虚拟机组确定一个不同的归属物理机架。
结合第三方面或者第三方面的任意一种可能的实现方式,在第七种可能的实现方式中,还包括:发送单元,用于获取所述每个虚拟机组的标识,将所述每个虚拟机组的标识提供给应用模块,以使得所述应用模块根据所述每个虚拟机组的标识处理业务。
第四方面,本发明实施例提供一种创建虚拟机的装置,包括:
接收单元,用于接收虚拟机创建请求,所述虚拟机创建请求用于为分布式应用创建多台虚拟机;
分组单元,用于确定多个虚拟机组,其中,所述多个虚拟机组由所述多台虚拟机划分得到,每个虚拟机组包含至少一台虚拟机;
获取单元,用于获取每个虚拟机组的配置信息,其中,所述每个虚拟机组的配置信息包括所述每个虚拟机组包含的虚拟机的数量和各个虚拟机的规格;
确定单元,用于根据所述分布式应用的运行属性,确定虚拟机组的部署属性;
创建单元,用于根据所述每个虚拟机组的配置信息和所述虚拟机组的部署属性,创建所述每个虚拟机组。
结合第四方面,在第一种可能的实现方式中,所述确定单元具体用于:根据所述分布式应用的机架感知属性,确定所述虚拟机组的虚拟机架属性,其中,所述虚拟机架属性表明一个虚拟机组对应一个归属物理机架;
所述创建单元,具体用于:根据所述虚拟机组的虚拟机架属性,为所述每个虚拟机组确定一个归属物理机架,根据所述每个虚拟机组的配置信息,在所述每个虚拟机组的归属物理机架下创建所述每个虚拟机组。
第五方面,本发明实施例提供一种创建虚拟机的系统,包括:
云虚拟化装置,用于接收虚拟机创建请求,所述虚拟机创建请求用于创建多台虚拟机,确定多个虚拟机组,其中,所述多个虚拟机组由所述多台虚拟机划分得到,每个虚拟机组包含至少一台虚拟机,为所述每个虚拟机组确定归属物理机架,其中,一个虚拟机组对应一个归属物理机架,在所述每个虚拟机组的归属物理机架下,创建所述每个虚拟机组,获取所述每个虚拟机组的标识,将所述每个虚拟机组的标识提供给应用装置;
所述应用装置,用于接收所述每个虚拟机组的标识,根据所述每个虚拟机组的标识处理业务。
本发明实施例中,在为分布式应用创建多台虚拟机时,首先确定由所述多台虚拟机划分得到的多个虚拟机组,然后为每个虚拟机组指定一个归属物理机架,再在所述每个虚拟机组的归属物理机架下,创建所述每个虚拟机组,由于每个虚拟机组在其归属的物理机架下进行创建,每个虚拟机组中的各虚拟机的具有相同的归属物理机架,使得每个虚拟机组等同于一个物理机架,这样的虚拟机创建方式,每个虚拟机组中的各虚拟机的部署属性能够满足分布式应用的机架感知属性,从而为分布式应用创建了满足其运行需求的虚拟机集群。并且,本发明实施例使得分布式应用不需要改动即可与虚拟化技术结合实施,并保证分布式应用的性能不受影响
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的虚拟机系统架构组成图;
图2是根据本发明实施例提供的一种方法流程图;
图3是根据本发明实施例提供的又一种方法流程图;
图4是根据本发明实施例提供的又一种方法流程图;
图5是根据本发明实施例所创建的虚拟机群的网络拓扑结构图;
图6是根据本发明实施例提供的又一种方法流程图;
图7是根据本发明实施例提供的一种虚拟机创建装置的组成图;
图8是根据本发明实施例提供的又一种虚拟机创建装置的组成图;
图9是根据本发明实施例提供的又一种虚拟机创建装置的组成图;
图10是根据本发明实施例提供的又一种虚拟机创建装置的组成图;
图11是根据本发明实施例提供的一种虚拟机创建系统的组成图;
图12是根据本发明实施例提供的一种计算机的组成图。
具体实施方式
本发明实施例提出了一种创建虚拟机的方法、装置和系统,所创建的虚拟机集群可以满足满足分布式应用运行要求。
如图1所示,为本发明实施例提供的虚拟机系统架构图的一种示例,该示例中的虚拟机系统包括:云应用层11、云虚拟化层12以及物理设备层13。
所述云应用层11上可以运行分布式应用,所述分布式应用包括但不限于Hadoop软件、HDFS软件等分布式集群软件。在所述云应用层11,执行应用的业务处理的模块是应用模块111。
所述云虚拟化层12,用于根据云应用层11的需求,将物理设备层13上的物理资源抽象成多个虚拟机,并对虚拟机进行管理。在所述云虚拟化层12上进行虚拟机创建/构建/抽象工作的模块在本发明实施称为虚拟化模块,如图所示虚拟化模块121。
物理设备层13包含一台或多台物理机架,每台物理机架包含一台或多台物理机。每台物理机提供的物理资源可以包括CPU资源、内存资源、存储资源以及网络资源中的一种或者多种,物理设备层13提供的物理资源被虚拟化模块121抽象成多台虚拟机,并提供给相应的分布式应用提供服务。
结合图1,如图2所示,为本发明实施例提供的创建虚拟机的流程图,本发明实施例的方法包括:
步骤201:接收虚拟机创建请求,所述虚拟机创建请求用于创建多台虚拟机;
所述创建虚拟机创建请求中可以携带所述多台虚拟机的配置信息。
具体实施中,可以由虚拟化模块接收所述虚拟机创建请求,所述虚拟机创建请求可以是多个虚拟机组的创建请求,每个虚拟机组包含至少一台虚拟机,所述虚拟机创建请求还可以是多台虚拟机的创建请求。其中,所述多个虚拟机组的创建请求或者多台虚拟机的创建请求的具体实现方式可以比较灵活,可以是通过一个请求来创建多个虚拟机组或者多台虚拟机,也可以是通过多个请求来创建多个虚拟机组或者多台虚拟机,优选地,通过一个请求来创建一个虚拟机组或者一台虚拟机,本发明实施例对具体实现不做限定。
所述每台虚拟机的配置信息可以包含虚拟机的计算资源(例如CPU)、存储资源(例如memory)或者网络资源(例如网络IP地址)等的配置信息,例如每个虚拟机组的创建请求指明所述每个虚拟机组所包含的虚拟机的数量和各虚拟机的规格,或者,每台虚拟机的创建请求指明所述每台虚拟机的规格。
步骤202:确定多个虚拟机组,其中,所述多个虚拟机组由所述多台虚拟机划分得到,每个虚拟机组包含至少一台虚拟机;
具体地,当所述虚拟化模块接收到多个虚拟机组的创建请求,则可以根据所述多个虚拟机组的创建请求,确定所述多个虚拟机组。当所述虚拟化模块接收到多台虚拟机的创建请求,所述虚拟化模块可以先将所述多台虚拟机划分为多个虚拟机组,再根据分组结果确定虚拟机组的信息。
步骤203:为所述每个虚拟机组确定归属物理机架,其中,一个虚拟机组对应一个归属物理机架;
基于分布式应用的运行属性的要求,本发明实施例中的虚拟化模块在为分布式应用创建虚拟机的时候,考虑分布式应用的运行属性,对分布式应用的运行属性进行适配,产生与所述分布式应用的运行属性相适配的虚拟机组的部署属性。例如根据分布式应用的运行属性中的机架感知属性,与之相适配,确定所述虚拟机组的部署属性包括虚拟机架属性,即每一个虚拟机组可以模拟为一个虚拟机架,一个虚拟机架可以等同于一个物理机架。根据虚拟机组的虚拟机架属性,每个虚拟机组对应一个归属物理机架,每个虚拟机组创建或者部署在其对应的归属物理机架下。
因此,所述虚拟化模块为所述每个虚拟机组确定一个归属物理机架。具体地,所述虚拟化模块可以根据每个虚拟机组的配置信息,为所述每个虚拟机组确定一个归属物理机架,也可以任意或者通过轮流的方式为每个虚拟机组指定一个归属物理机架,实际部署的时候,若指定的归属物理机架的物理资源不能满足虚拟机组的资源需求,可以重新制定另一个归属物理机架。
步骤204:在所述每个虚拟机组的归属物理机架下,创建所述每个虚拟机组。
其中,具体地,可以利用所述归属物理机架中的物理机的资源来创建所述每个虚拟机组中的每台虚拟机。
本发明实施例中,所述虚拟化模块在为分布式应用创建多台虚拟机时,首先确定由所述多台虚拟机划分得到的多个虚拟机组,然后为每个虚拟机组指定一个归属物理机架,再在所述每个虚拟机组的归属物理机架下,创建所述每个虚拟机组,由于每个虚拟机组在其归属的物理机架下进行创建,每个虚拟机组中的各虚拟机的具有相同的归属物理机架,使得每个虚拟机组等同于一个物理机架,这样的虚拟机创建方式,每个虚拟机组中的各虚拟机的部署属性能够满足分布式应用的机架感知属性,从而为分布式应用创建了满足其运行需求的虚拟机集群。并且,本发明实施例使得分布式应用不需要改动即可与虚拟化技术结合实施,并保证分布式应用的性能不受影响。另外,本发明实施例中,采用虚拟机组的粒度来创建虚拟机,此种通过虚拟机组创建虚拟机的方式也更加高效。
如图3所示,为本发明实施例提供的又一个为分布式应用创建虚拟机的流程图,本发明实施例的方法包括:
步骤301:接收虚拟机创建请求,所述虚拟机创建请求用于为分布式应用创建多台虚拟机;
步骤302:确定多个虚拟机组,其中,所述多个虚拟机组由所述多台虚拟机划分得到,每个虚拟机组包含至少一台虚拟机;
步骤303:根据所述分布式应用的运行属性,确定所述每个虚拟机组的部署属性;
步骤304:根据所述每个虚拟机组的配置信息和所述每个虚拟机组的部署属性,创建所述每个虚拟机组。
本实施例为本发明的另一种实现方式,在步骤303中,基于分布式应用的运行属性的要求,本发明实施例中的虚拟化模块在为分布式应用创建虚拟机的时候,考虑分布式应用的运行属性,根据分布式应用的运行属性进行适配,产生与所述分布式应用的运行属性相适配的虚拟机组的部署属性。在步骤304中,即可根据每个虚拟机组的配置信息和所述每个虚拟机组的部署属性,创建所述每个虚拟机组,以满足分布式应用运行需求。
具体地,虚拟化模块可以根据所述分布式应用的机架感知属性,确定所述虚拟机组的虚拟机架属性,所述虚拟机架属性表明一个虚拟机组对应一个归属物理机架,所述虚拟化模块根据每个虚拟机组的配置信息,为所述每个虚拟机组确定一个归属物理机架,在所述每个虚拟机组的归属物理机架下,创建所述每个虚拟机组,即将同一个虚拟机组中的不同虚拟机创建在同一个物理机架下。
本发明实施例考虑业界存在多种集群软件和不同集群软件的不同运行属性,在虚拟化模块增加适配层来实现创建满足分布式应用的虚拟机集群,使得分布式应用不需要改动即可与虚拟化技术结合实施,并保证分布式应用的性能不受影响。
进一步地,在本发明的又一个实施例中,在所述步骤204或者步骤304之后,还可以执行如下步骤:
步骤205/305:获取所述每个虚拟机组的标识;
所述虚拟化模块可以为每个虚拟机组分配一个标识,以用于代表每个虚拟机组。
步骤206/306:将所述每个虚拟机组的标识提供给上层的应用模块,以使得所述上层的应用模块根据所述每个虚拟机组的标识处理业务。
具体地,所述虚拟化模块可以向所述上层的应用模块发送每台虚拟机所在的物理机架号,其中,所述每台虚拟机所在的物理机架号为所述每台虚拟机所在的虚拟机组的标识。
在本实施例中,由于进一步地将每个虚拟机组的标识提供给了上层的应用模块,例如分布式应用模块,可以使得上层的应用模块在所述多台虚拟机上运行的时候,可以获知每台虚拟机所属于的虚拟机组,由此获取每个节点的网络拓扑信息,并根据获取到的虚拟机组的标识进行业务处理,例如保证不将相同的业务分配给同一虚拟机组的虚拟机进行处理,以满足上层应用的可靠性和可用性的要求。
关于分布式应用的机架感知属性和虚拟机组的虚拟机架属性将在后续实施例中详细说明。
如图4所示,为本发明实施例提供的又一个为分布式应用创建虚拟机的流程图,本发明实施例的方法包括:
步骤401:虚拟化模块接收多个虚拟机组的创建请求,其中,每个虚拟机组的创建请求指明所述每个虚拟机组所包含的虚拟机的数量和各虚拟机的规格;
本实施例中,虚拟化模块不再提供单个的虚拟机的创建模板,而是提供分布式应用的创建模板或者虚拟机组的创建模板,分布式应用的创建模板中包括多个虚拟机组,每个虚拟机组包括至少一台虚拟机,所述多个虚拟机组对应一个虚拟机集群,所述虚拟机集群为分布式应用提供服务。云管理员或者用户或者其它分布式应用的管理软件在确定需要为分布式应用创建虚拟机集群的时候,将所述虚拟机集群的多台虚拟机进行分组,每组虚拟机填写到一个虚拟机组的创建模板,每个虚拟机组的创建模板即对应一个虚拟机组,虚拟化模块接收多个虚拟机组的创建模板,每个虚拟机组的创建模板中可以包含虚拟机的数量、标识以及每台虚拟机的规格。例如,某个分布式应用需要创建15台虚拟机,15台虚拟机中的2台虚拟机需要作为管理节点,其规格信息为8CPU、100G内存,其他虚拟机作为服务节点,其规格信息为2CPU、40G内存(服务节点的规格可以一致,也可以不同,本实施例以服务节点的规格一致为例)。将所述15台虚拟机分为3组,其中作为管理节点的虚拟机不能分在同一组中,因此,虚拟化模块接收到3个虚拟机节点组的创建请求,即接收到3个虚拟机组的创建模板,如下:
第一虚拟机组的创建模板:
VM数量:5;
VM规格:VM1(8CPU、100G内存);
VM2(2CPU、40G内存);
VM3(2CPU、40G内存);
VM4(2CPU、40G内存);
VM5(2CPU、40G内存);
第二虚拟机组的创建模板:
VM数量:5;
VM规格:VM6(8CPU、100G内存);
VM7(2CPU、40G内存);
VM8(2CPU、40G内存);
VM9(2CPU、40G内存);
VM10(2CPU、40G内存);
第三虚拟机组的创建模板:
VM数量:5;
VM规格:VM11(2CPU、40G内存);
VM12(2CPU、40G内存);
VM13(2CPU、40G内存);
VM14(2CPU、40G内存);
VM15(2CPU、40G内存)。
步骤402:所述虚拟化模块根据所述多个虚拟机组的创建请求,确定所述多个虚拟机组。
例如根据所述3个虚拟机组的创建请求,确定3个虚拟机组。
步骤403:所述虚拟化模块为所述每个虚拟机组确定一个归属物理机架;
在本实施例中,所述虚拟化模块在确定了多个虚拟机组之后,可以进一步为每个虚拟机组配置一个归属的物理机架,每个虚拟机组中的虚拟机将在所述归属的的物理机架下进行创建。
本发明实施例旨在为分布式应用创建满足其运行需求的虚拟机,因此本发明实施例在创建虚拟机的过程中,考虑了分布式应用的特性。
大型分布式应用会分布在很多物理机架上。在这种情况下,基于可靠性和可用性的要求,产生如下要求:
--希望不同节点之间的通信能够尽量发生在同一个物理机架之内,而不是跨物理机架,目的是使写入数据产生的开销最小化;
--管理节点尽可能把数据块的副本放到多个物理机架上,目的是为了提高容错能力,使数据的可靠性和可用性最大化。
基于这两点要求,分布式应用的运行属性中包含机架感知属性,在分布式分布式应用的运行时,通过机架感知属性来获取每个节点的网络拓扑信息中的物理机架信息,并根据获取到的物理机架信息进行业务处理。例如对于副本放置(Replica Placement),数据块的副本放置策略的目的是在上述两点要求之间取得平衡,可以遵循以下规则:
--第1个副本放置于本地节点;
--第2个副本放置于不同的物理机架;
--第3个副本放置于本地物理机架的不同物理机;
--其余的副本在遵循以下限制的前提下随机放置:
--1个节点最多放置1个副本
--如果副本数少于2倍机架数,不可以在同一机架放置超过2个副本。
也就是说,当分布式应用发生数据读写的时候,管理节点需要获知每个节点的机架信息以根据上述规则决定数据副本放置在哪个节点上,并由哪个节点运行或者处理。
当分布式应用与虚拟化技术结合之后,执行任务的节点就是虚拟机,因此,分布式应用需要知道每个虚拟机所属于的机架号,才能进行业务处理,另外,执行任务的虚拟机部署在哪台物理机上也需要遵循一定的规则,才能满足分布式应用的运行需求。
本发明实施例基于分布式应用的运行属性的要求,所述虚拟化模块在为分布式应用创建虚拟机集群的时候,考虑分布式应用的运行属性,增加适配层,对分布式应用的运行属性进行适配,产生与所述分布式应用的运行属性相适配的虚拟机组的部署属性,以使得创建的虚拟机集群能够满足分布式应用的运行属性。例如,根据根据分布式应用的机架感知属性产生虚拟机组的虚拟机架属性,即同一虚拟机组对应一个归属物理机架,每个虚拟机节点组中的虚拟机创建在其归属的物理机架下。
在本实施例中,所述的虚拟机组的虚拟机架属性用于模拟物理机架的属性,一个虚拟机架可以等同于一个物理机架,一个虚拟机架内的虚拟机与一个物理机架内的物理机具有相同的特性,例如,每个物理机架下的各台物理机的物理和软件资源具有独立性且互不干扰,但却具有相同的电源与基础设施(例如空调设备等),因此,相应地,每个虚拟机架中的每台虚拟机也具有独立互不干扰的物理和软件资源,以及具有相同的电源与基础设施。具体来说,要使得虚拟机组的虚拟机架属性与物理机架具有相同的特性,则同一个虚拟机组中的不同虚拟机创建在同一个物理机架下,也即,同一个虚拟机组中的不同虚拟机的物理资源应该来自于同一个物理机架。
步骤403中为所述每个虚拟机组确定一个归属物理机架的具体实现方式可以有多种方式,所述虚拟化模块首先可以根据每个虚拟机组的配置信息,为所述每个虚拟机组确定一个归属物理机架,也可以为每个虚拟机组任意或者通过轮流的方式指定一个归属物理机架,实际部署的时候,若指定的归属物理机架的物理资源不能满足虚拟机组的资源需求,可以重新指定另一个归属物理机架。例如,步骤403可以包括:
步骤403-1:确定待分配归属物理机架的当前虚拟机组;
步骤403-2:获取物理设备层上的空闲物理机架;
在本发明实施例中,空闲物理机架或者空闲物理机,主要是指那些物理资源未被完全占用的物理机架或物理机,可以包含资源完全未被占用的物理机架或物理机,也可以指资源只被部分占用的物理机架或物理机。
步骤403-3:根据所述每个虚拟机组包含的虚拟机的数量和各个虚拟机的规格,从所述空闲物理机架中选择空闲资源满足所述当前虚拟机组所需资源的第一物理机架;
步骤403-4:从所述第一物理机架中选择一个作为所述归属物理机架。
上述确定归属物理机架的过程中,所述虚拟化模块考虑了每个虚拟机组的配置信息,选择空闲资源满足虚拟机组的资源需求的物理机架作为归属物理机架,保证了在归属的物理机架下创建虚拟机组能够被成功执行,提高了虚拟机组的创建成功率。
进一步地,在步骤403-3中,所述虚拟化模块还可以进一步判断物理机架中的每台物理机的资源是否满足每台虚拟机的资源需求,对归属物理机架进行进一步的筛选,使得所确定的归属物理机架的每台物理机都能够创建对应的虚拟机组的每台虚拟机,使得虚拟机的成功创建得到进一步的保证,例如可以步骤403-3可以按照如下方式执行:
步骤403-3-1:确定每个所述空闲物理机架上的空闲物理机的数量;
步骤403-3-2:根据所述当前虚拟机组包含的虚拟机的数量,从所述空闲物理机架中选择第二物理机架,其中,所述第二物理机架的空闲物理机的数量大于或等于所述当前虚拟机组包含的虚拟机的数量;
步骤403-3-2:根据所述当前虚拟机组包含的各个虚拟机的规格,从所述第二物理机架中选择所述第一物理机架,其中,所述第一物理机架的空闲物理机的空闲物理资源满足所述当前虚拟机组中的每台虚拟机的资源需求。
上述步骤403中为所述每个虚拟机组确定一个归属物理机架,除了根据每个虚拟机组的配置信息之外,还可以进一步考虑虚拟机组的约束信息,所述虚拟机组的约束信息指明所述多个虚拟机组之间的关联关系或者互斥关系。当然,所述虚拟化模块也可以只根据虚拟机组的约束信息,为所述每个虚拟机组确定一个归属物理机架。
对于分布式应用来说,一个集群软件往往可能包含很多个互相冗余的软件实例(对应虚拟机),这些软件实例的拓扑关系比较复杂,例如对于Hadoop软件来说,管理节点不能在同一个物理机架中,以保证业务的可靠性,因此,虚拟化模块在为分布式应用创建虚拟机集群时,可以获取虚拟机组的约束信息,所述虚拟机组的约束信息用于指明所述多个虚拟机组的创建关联关系或者创建互斥关系,例如,某些虚拟机组需要创建在同一台物理机或同一个物理机架中,某些虚拟机组需要创建在同一台物理机或同一个物理机架中。
优选地,一种具体实现方式是:步骤403-4:从所述第一物理机架中选择一个作为所述当前虚拟机组的归属物理机架,可以具体参照如下方式执行:
步骤403-4-1:获取虚拟机组的约束信息;
优选地,本实施例中所述虚拟机组的约束信息可以随同所述多个虚拟机组的创建请求一起发送到所述虚拟化模块,仍然以上述具体实例为例,例如,管理节点需要跨物理机架进行创建,因此所述虚拟化模块接收到如下虚拟机组的约束信息:
第一虚拟机组与第二虚拟机组不能创建在同一个物理机机架下。
具体实践中,上述虚拟机组的约束信息可以在所述多个虚拟机组的创建模板中直接指定,也可以作为单独的消息发送到所述虚拟化模块,还可以由所述虚拟化模块根据分布式应用的属性信息及相应的规则确定出虚拟机组的约束信息,本发明实施例对此不做限定。
步骤403-4-2:获取归属物理机架的分配记录信息,所述分配记录信息包括已分配归属物理机架的虚拟机组与归属物理机架的对应关系;
步骤403-4-3:根据所述所述分配记录信息和所述虚拟机组约束信息,从所述第一物理机架中选择一个作为所述当前虚拟机组的归属物理机架。
例如,根据第一虚拟机组与第二虚拟机组不能创建在同一个物理机机架下的虚拟机组约束信息,第一虚拟机组的归属物理机架选择第一物理机架,第二虚拟机组的归属物理机架选择第二物理机架。
另外,由于分布式应用的更高的可靠性的要求,例如至少一个相同的数据副本需要放置在不同的物理机架下,因此所述虚拟机组约束信息还可以设置为:不同虚拟机组对应不同的归属物理机架;则,所述虚拟化模块根据所述虚拟机组的约束信息,为所述每个虚拟机组确定一个不同的归属物理机架,例如第一虚拟机组的归属物理机架为物理机架3,第二虚拟机组的归属物理机架为物理机架1,第三虚拟机组的归属物理机架为物理机架2。
步骤404:所述虚拟化模块在所述每个虚拟机组的归属物理机架下,创建所述每个虚拟机组;
所述虚拟化模块根据所述每个虚拟机组的配置信息,例如,所述每个虚拟机组包含的虚拟机的数量和各个虚拟机的规格,在所述每个虚拟机组的归属物理机架下,创建所述每个虚拟机组的每台虚拟机。具体地,所述虚拟化模块根据每个虚拟机组中的虚拟机的数量和各个虚拟机的规格,调度物理设备层上的物理资源以创建每个虚拟机组中的每台虚拟机。
进一步地,步骤404中,所述虚拟化模块还可以进一步将所述每个虚拟机组中的不同虚拟机创建在所述归属物理机架中的不同物理机上,即所述虚拟化模块将同一个虚拟机组中的不同虚拟机创建在同一个物理机架下的不同物理机中,例如:
将第一虚拟机组创建在物理机架3下,在物理机架3的物理机1上创建VM1,在物理机架3的物理机2上创建VM2,在物理机架3的物理机3上创建VM3,在物理机架3的物理机4上创建VM4,在物理机架3的物理机5上创建VM5;
将第二虚拟机组创建在物理机架1下,在物理机架1的物理机1上创建VM6,在物理机架1的物理机2上创建VM7,在物理机架1的物理机3上创建VM8,在物理机架1的物理机4上创建VM9,在物理机架1的物理机5上创建VM10;
将第三虚拟机组创建在物理机架2下,在物理机架2的物理机1上创建VM11,在物理机架2的物理机2上创建VM12,在物理机架2的物理机3上创建VM13,在物理机架2的物理机4上创建VM14,在物理机架2的物理机5上创建VM15。
上述虚拟化模块将同一虚拟机组的不同虚拟机创建在同一归属物理机架的不同物理机上,能够保证虚拟机组更进一步与物理机架具有相同的属性,使得虚拟机组能够满足分布式应用更高可靠性的运行要求。
步骤405:所述虚拟化模块获取所述每个虚拟机组的标识;
所述虚拟化模块可以为所述每个虚拟机组分配虚拟机组的标识,例如,所述虚拟化模块为第一虚拟机组分配的虚拟机组的标识为VR1(VR,Virtual Rack);为第二虚拟机组分配的虚拟机组的标识为VR2;为第三虚拟机组分配的虚拟机组的标识为VR3。
所述步骤406可以在虚拟化模块确定多个虚拟机组后即可执行,本发明实施例在此处描述并不限定其具体实施时的具体执行顺序。
当然,所述虚拟化模块也可以不用分配所述虚拟机组的标识,而获取每个虚拟机组的创建请求中携带的虚拟机组的标识。
步骤406:所述虚拟化模块将所述每个虚拟机组的标识提供给上层的应用模块,以使得所述上层的应用模块根据所述每个虚拟机组的标识处理业务。
具体地,所述虚拟化模块将所述每个虚拟机组的标识提供给分布式应用。
分布式应用对机架的感知并非是自适应的,首先分布式应用的管理者将分布式分布式应用的各节点采用树状的网络拓扑结构进行管理,例如,分布式应用由多个数据中心(Data Center,DC)组成,每个数据中心里有多个机架(Rack),每个机架上有多台物理机。每个节点可以通过如下形式表述其在网络拓扑结构中的位置,例如,R1的位置可以表示为/D1/R1,而N12的位置可以表示为/D2/R4/N12。再次,告知管理节点每个服务节点的网络拓扑关系。
因此,所述虚拟化模块还可以将每个虚拟机组的标识提供给所述分布式应用,以使得所述分布式应用根据所述每个虚拟机组的标识来处理业务。
例如,所述虚拟化模块返回虚拟机的创建结果,包含VR1(VM1、VM2、VM3、VM4和VM5),VR2(VM6、VM7、VM8、VM9和VM10)和VR3(VM11、VM12、VM13、VM14和VM15)。
优选地,所述虚拟化模块可以将每台虚拟机所归属的虚拟机组的标识作为所述每台虚拟机的机架号,提供给所述分布式应用。
进一步地,所述虚拟化模块还可以将每个虚拟机组所在的物理机架的信息提供给分布式应用,例如所述虚拟化模块返回如下信息:VR1-Rack1,VR2-Rack2和VR3-Rack3。
所述分布式应用获取到所述每个虚拟机组的标识后,可以建立每台虚拟机的网络拓扑结构,并将所述网络拓扑结果配置到所述分布式应用的管理节点中,以使得所述管理节点根据每台虚拟机的网络拓扑结构进行业务处理。如图5所示,为根据本发明实施例应用模块所建立的为分布式应用提供服务的虚拟机群的网络拓扑结构图。例如,VM1作为管理节点,当接收到数据之后,根据每台虚拟机的网络拓扑结构,进行如下处理:
--第1个副本放置于本地节点,如VM1;
--第2个副本放置于不同的物理机架,如VMG2中的VM7;
--第3个副本放置于本地物理机架的不同物理机,如VMG1中的VM2。
本发明实施例,所述虚拟化模块在为分布式应用创建多台虚拟机时,首先确定由所述多台虚拟机划分得到的多个虚拟机组,然后为每个虚拟机组指定一个归属物理机架,再在所述每个虚拟机组的归属物理机架下,创建所述每个虚拟机组,由于每个虚拟机组在其归属的物理机架下进行创建,每个虚拟机组中的各虚拟机的具有相同的归属物理机架,使得每个虚拟机组等同于一个物理机架,这样的虚拟机创建方式,每个虚拟机组中的各虚拟机的部署属性能够满足分布式应用的机架感知属性,从而为分布式应用创建了满足其运行需求的虚拟机集群。并且,本发明实施例考虑业界存在多种集群软件和不同集群软件的不同运行属性,在虚拟化模块增加适配层来实现创建满足分布式应用的虚拟机集群,使得分布式应用不需要改动即可与虚拟化技术结合实施,并保证分布式应用的性能不受影响。另外,本发明实施例中,采用虚拟机组的粒度来创建虚拟机,此种通过虚拟机组创建虚拟机的方式也更加高效。
在本实施例中,由于进一步地将每个虚拟机组的标识提供给了上层的应用模块,例如分布式应用模块,可以使得上层的应用模块在所述多台虚拟机上运行的时候,可以获知每台虚拟机所属于的虚拟机组,由此获取每个节点的网络拓扑信息,并根据获取到的虚拟机组的标识进行业务处理,例如保证不将相同的业务分配给同一虚拟机组的虚拟机进行处理,以满足上层应用的可靠性和可用性的要求。
另外,本实施例中,虚拟化模块进一步考虑虚拟机组的约束信息来创建虚拟机组,使得属于一个分布式应用多个虚拟机组不共享物理机架,即任意两个虚拟机组都不创建在同一个物理机架下,如此创建的虚拟机集群,能够满足可靠性更高要求的分布式应用的运行需求。
进一步地,本实施例中,虚拟化模块将同一虚拟机组的不同虚拟机创建在同一归属物理机架的不同物理机上,能够保证虚拟机组更进一步与物理机架具有相同的属性,使得虚拟机组能够满足分布式应用更高可靠性的运行要求。
进一步地,本实施例中,虚拟化模块不再提供单个的虚拟机的创建模板,而是提供分布式应用的创建模板或者虚拟机组的创建模板,提供了更加便利的虚拟机集群的创建方式。
如图6所示,为本发明实施例提供的又一种创建虚拟机集群的流程图,本发明实施例的方法包括:
步骤601:虚拟化模块接收多台虚拟机的创建请求,其中,每台虚拟机的创建请求指明所述每台虚拟机的数量和规格;
所述多台虚拟机组成一个虚拟机集群,所述虚拟机集群为分布式应用提供服务;
在本实施例中,所述虚拟化模块提供单个的虚拟机的创建模板,云管理员或者用户在确定需要为分布式应用创建虚拟机集群的时候,将所述虚拟机集群的多台虚拟机填写到一个虚拟机的创建模板,虚拟化模块接收多个虚拟机的创建模板。其中,每个虚拟机的创建模板中可以包含虚拟机的标识、数量以及配置信息。
优选地,所述虚拟化模块接收的虚拟机的创建模板可以是根据虚拟机的规格进行分类后的创建模板,例如所需要创建的虚拟机包含两种规格,则虚拟化模块可以接收到2个虚拟机的创建模板,每一种创建模板中包含了虚拟机的规格、标识和数量。
例如,某个分布式应用需要创建15台虚拟机,15台虚拟机中的2台虚拟机需要作为管理节点,其规格信息为8CPU、100G内存,其他虚拟机作为服务节点,其规格信息为2CPU、40G内存(服务节点的规格可以一致,也可以不同,本实施例以服务节点的规格一致为例)。则所述虚拟化模块接收到如下虚拟机的创建模板:
模板一(第一虚拟机创建请求):虚拟机规格:8CPU、100G内存;虚拟机标识:VM1和VM6;虚拟机数量:2;
模板二(第二虚拟机创建请求):虚拟机规格:2CPU、40G内存;虚拟机标识:VM2、VM3、VM4、VM5、VM7、VM8、VM9、VM10、VM11、VM12、VM13、VM14和VM15;虚拟机数量:13。
步骤602:所述虚拟化模块将所述多台虚拟机划分为所述多个虚拟机组;
上一个实施例中,云管理员或者用户或者其它分布式应用的管理软件在确定需要为分布式应用创建虚拟机集群的时候,将所述虚拟机集群的多台虚拟机进行分组,然后所述虚拟化模块接收已经分好组的多个虚拟机组的创建请求,然而,在本实施例中,所述虚拟化模块接收到的是多台虚拟机的创建请求,所述虚拟化模块需要将所述多台虚拟机进行分组,以得到多个虚拟机组。所述虚拟化模块在对所述多台虚拟机进行分组的时候,需要考虑分布式应用的分布式属性,例如管理节点分布是创建以满足可靠性,即作为管理节点的虚拟机不能分在同一组中,得到的虚拟机组如下:
第一虚拟机组:
VM数量:5;
成员:VM1、VM2、VM3、VM4和VM5;
第二虚拟机组:
VM数量:5;
成员:VM6、VM7、VM8、VM9和VM10;
第三虚拟机组:
VM数量:5;
成员:VM11、VM12、VM13、VM14和VM15。
上述虚拟机组的分组中,每一个虚拟机组中的虚拟机数量是相同的,但是,以上只是本发明的一个具体实施方式,在其他实施例中,每个虚拟机组中的虚拟机的数量可以是任意的。
步骤603:所述虚拟化模块为所述每个虚拟机组确定一个归属物理机架;
步骤604:在所述每个虚拟机组的归属物理机架下,创建所述每个虚拟机组;
步骤605:所述虚拟化模块获取所述每个虚拟机组的标识;
步骤606:所述虚拟化模块将所述每个虚拟机组的标识提供给上层的应用模块,以使得所述上层的应用模块根据所述每个虚拟机组的标识处理业务。
上述步骤603-606与步骤403-406的具体实现细节相类似,本实施例中就不再赘述。
本发明实施例中,由于虚拟化模块接收到的是多台虚拟机创建请求,该虚拟化模块还将为分布式应用提供服务的多台虚拟机进行分组,并对分组得到的虚拟机组确定归属物理机架,创建所述虚拟机组,使得所创建的虚拟机集群能够满足分布式应用的运行需求。
如图7所示,为本发明实施例提供的一种创建虚拟机的装置700,包括:
接收单元701,用于接收虚拟机创建请求,所述虚拟机创建请求用于创建多台虚拟机;
分组单元702,用于确定多个虚拟机组,其中,所述多个虚拟机组由所述多台虚拟机划分得到,每个虚拟机组包含至少一台虚拟机;
配置单元703,用于为所述每个虚拟机组确定归属物理机架,其中,一个虚拟机组对应一个归属物理机架;
创建单元704,用于在所述每个虚拟机组的归属物理机架下,创建所述每个虚拟机组。
具体地,所述创建单元704具体用于:将所述每个虚拟机组中的不同虚拟机创建在所述归属物理机架中的不同物理机上。
具体地,在本发明实施例的一种具体实现中,所述配置单元703具体用于:根据所述每个虚拟机组的配置信息,为所述每个虚拟机组确定一个归属物理机架,其中,所述每个虚拟机组的配置信息包括所述每个虚拟机组包含的虚拟机的数量和各个虚拟机的规格。
优选地,如图8所示,在本发明实施例的另一个优选实施例中,所述装置800除包括如图7所示的各组成外,所述配置单元703包括:
确定子单元7031,用于确定待分配归属物理机架的当前虚拟机组,获取物理设备层上的空闲物理机架,根据所述每个虚拟机组包含的虚拟机的数量和各个虚拟机的规格,从所述空闲物理机架中选择空闲资源满足所述当前虚拟机组所需资源的第一物理机架;
选择子单元7032,用于从所述第一物理机架中选择一个作为所述归属物理机架。
进一步,所述确定子单元7031具体用于:确定每个所述空闲物理机架上的空闲物理机的数量,根据所述当前虚拟机组包含的虚拟机的数量,从所述空闲物理机架中选择第二物理机架,其中,所述第二物理机架的空闲物理机的数量大于或等于所述当前虚拟机组包含的虚拟机的数量,根据所述当前虚拟机组包含的各个虚拟机的规格,从所述第二物理机架中选择所述第一物理机架,其中,所述第一物理机架的空闲物理机的空闲物理资源满足所述当前虚拟机组中的每台虚拟机的资源需求。
进一步,所述选择子单元7032具体用于:获取虚拟机组的约束信息,获取归属物理机架的分配记录信息,所述分配记录信息包括已分配归属物理机架的虚拟机组与归属物理机架的对应关系,根据所述所述分配记录信息和所述虚拟机组约束信息,从所述第一物理机架中选择一个作为所述当前虚拟机组的归属物理机架。
在本发明实施例的另一种具体实现中,所述配置单元703可以具体用于:获取虚拟机组的约束信息,所述虚拟机组的约束信息表示所述多个虚拟机组之间的关联关系或者互斥关系,根据所述虚拟机组的约束信息,为所述每个虚拟机组确定一个所述归属物理机架。
在本发明实施例的另一种具体实现中,如图9所示,所述装置900除包括如图7所示的各组成外,还包括发送单元705,用于获取所述每个虚拟机组的标识,将所述每个虚拟机组的标识提供给上层的应用模块,以使得所述上层的应用模块根据所述每个虚拟机组的标识处理业务。
优选地,所述发送单元705,具体用于向所述上层的应用模块发送每台虚拟机所在的机架号,其中,所述每台虚拟机所在的机架号为所述每台虚拟机所在的虚拟机组的标识。
如图10所示,为本发明实施例提供的一种创建虚拟机的装置1000,包括:
接收单元1001,用于接收虚拟机创建请求,所述虚拟机创建请求用于为分布式应用创建多台虚拟机;
分组单元1002,用于确定多个虚拟机组,其中,所述多个虚拟机组由所述多台虚拟机划分得到,每个虚拟机组包含至少一台虚拟机;
获取单元1003,用于获取每个虚拟机组的配置信息,其中,所述每个虚拟机组的配置信息包括所述每个虚拟机组包含的虚拟机的数量和各个虚拟机的规格;
确定单元1004,用于根据所述分布式应用的运行属性,确定虚拟机组的部署属性;
创建单元1005,用于根据所述获取单元1003获取的所述每个虚拟机组的配置信息和所述确定单元1004确定的所述虚拟机组的部署属性,创建所述每个虚拟机组。
具体地,所述确定单元1004具体用于:根据所述分布式应用的机架感知属性,确定所述虚拟机组的虚拟机架属性,其中,所述虚拟机架属性表明一个虚拟机组对应一个归属物理机架;
所述创建单元1005,具体用于:根据所述虚拟机组的虚拟机架属性,为所述每个虚拟机组确定一个归属物理机架,根据所述每个虚拟机组的配置信息,在所述每个虚拟机组的归属物理机架下创建所述每个虚拟机组。
如图11所示,本发明实施例提供的一种创建虚拟机的系统,包括:
云虚拟化装置1101,用于接收虚拟机创建请求,所述虚拟机创建请求用于创建多台虚拟机,确定多个虚拟机组,其中,所述多个虚拟机组由所述多台虚拟机划分得到,每个虚拟机组包含至少一台虚拟机,为所述每个虚拟机组确定归属物理机架,其中,一个虚拟机组对应一个归属物理机架,在所述每个虚拟机组的归属物理机架下,创建所述每个虚拟机组,获取所述每个虚拟机组的标识,将所述每个虚拟机组的标识提供给应用装置;
所述应用装置1102,用于接收所述每个虚拟机组的标识,根据所述每个虚拟机组的标识处理业务。
如图12,为本发明实施例的计算机的结构组成示意图。本发明实施例的计算机可包括:
处理器1201、存储器1202、系统总线1204和通信接口1205。CPU1201、存储器1202和通信接口1205之间通过系统总线1204连接并完成相互间的通信。
处理器1201可能为单核或多核中央处理单元,或者为特定集成电路,或者为被配置成实施本发明实施例的一个或多个集成电路。
存储器1202可以为高速RAM存储器,也可以为非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。
存储器1202用于计算机执行指令1203。具体的,计算机执行指令1203中可以包括程序代码。
当计算机运行时,处理器1201运行计算机执行指令1203,可以执行图2、3、4或图6任意之一所述的方法流程。
本领域普通技术人员将会理解,本发明的各个方面、或各个方面的可能实现方式可以被具体实施为系统、方法或者计算机程序产品。因此,本发明的各方面、或各个方面的可能实现方式可以采用完全硬件实施例、完全软件实施例(包括固件、驻留软件等等),或者组合软件和硬件方面的实施例的形式,在这里都统称为“电路”、“模块”或者“系统”。此外,本发明的各方面、或各个方面的可能实现方式可以采用计算机程序产品的形式,计算机程序产品是指存储在计算机可读介质中的计算机可读程序代码。
计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质包含但不限于电子、磁性、光学、电磁、红外或半导体系统、设备或者装置,或者前述的任意适当组合,如随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或者快闪存储器)、光纤、便携式只读存储器(CD-ROM)。
计算机中的处理器读取存储在计算机可读介质中的计算机可读程序代码,使得处理器能够执行在流程图中每个步骤、或各步骤的组合中规定的功能动作;生成实施在框图的每一块、或各块的组合中规定的功能动作的装置。
计算机可读程序代码可以完全在用户的计算机上执行、部分在用户的计算机上执行、作为单独的软件包、部分在用户的计算机上并且部分在远程计算机上,或者完全在远程计算机或者服务器上执行。也应该注意,在某些替代实施方案中,在流程图中各步骤、或框图中各块所注明的功能可能不按图中注明的顺序发生。例如,依赖于所涉及的功能,接连示出的两个步骤、或两个块实际上可能被大致同时执行,或者这些块有时候可能被以相反顺序执行。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

Claims (22)

1.一种创建虚拟机的方法,其特征在于,包括:
接收虚拟机创建请求,所述虚拟机创建请求用于为分布式应用创建多台虚拟机;
将待创建的多台虚拟机划分为多个虚拟机组,其中,每个虚拟机组包含至少一台待创建的虚拟机;
根据所述每个虚拟机组的配置信息,为所述每个虚拟机组确定一个归属物理机架,其中,所述每个虚拟机组的配置信息包括所述每个虚拟机组包含的待创建的虚拟机的数量和各个待创建的虚拟机的规格;
在所述每个虚拟机组的归属物理机架下,创建所述每个虚拟机组中待创建的虚拟机。
2.如权利要求1所述的方法,其特征在于,在所述每个虚拟机组的归属物理机架下,创建所述每个虚拟机组中待创建的虚拟机,包括:
将所述每个虚拟机组中的不同的待创建的虚拟机创建在所述归属物理机架中的不同物理机上。
3.如权利要求1所述的方法,其特征在于,所述根据每个虚拟机组的配置信息,为所述每个虚拟机组确定一个归属物理机架,包括:
确定待分配归属物理机架的当前虚拟机组;
获取物理设备层上的空闲物理机架;
根据所述每个虚拟机组包含的待创建的虚拟机的数量和各个待创建的虚拟机的规格,从所述空闲物理机架中选择空闲资源满足所述当前虚拟机组所需资源的第一物理机架;
从所述第一物理机架中选择一个作为所述归属物理机架。
4.如权利要求3所述的方法,其特征在于,所述根据所述每个虚拟机组包含的待创建的虚拟机的数量和各个待创建的虚拟机的规格,从所述空闲物理机架中选择空闲资源满足所述当前虚拟机组所需资源的第一物理机架,包括:
确定每个所述空闲物理机架上的空闲物理机的数量;
根据所述当前虚拟机组包含的待创建的虚拟机的数量,从所述空闲物理机架中选择第二物理机架,其中,所述第二物理机架的空闲物理机的数量大于或等于所述当前虚拟机组包含的待创建的虚拟机的数量;
根据所述当前虚拟机组包含的各个待创建的虚拟机的规格,从所述第二物理机架中选择所述第一物理机架,其中,所述第一物理机架的空闲物理机的空闲物理资源满足所述当前虚拟机组中的每台待创建的虚拟机的资源需求。
5.如权利要求3或4所述的方法,其特征在于,所述从所述第一物理机架中选择一个作为所述归属物理机架,包括:
获取虚拟机组的约束信息;
获取归属物理机架的分配记录信息,所述分配记录信息包括已分配归属物理机架的虚拟机组与归属物理机架的对应关系;
根据所述分配记录信息和所述虚拟机组的约束信息,从所述第一物理机架中选择一个作为所述当前虚拟机组的归属物理机架。
6.如权利要求1或2所述的方法,其特征在于,所述为所述每个虚拟机组确定一个归属物理机架,包括:
获取虚拟机组的约束信息,所述虚拟机组的约束信息表示所述多个虚拟机组之间的关联关系或者互斥关系;
根据所述虚拟机组的约束信息,为所述每个虚拟机组确定一个所述归属物理机架。
7.如权利要求6所述的方法,其特征在于,所述虚拟机组的约束信息包括:不同虚拟机组对应不同的归属物理机架;
则,为所述每个虚拟机组确定一个不同的归属物理机架。
8.如权利要求1-4、7任一项所述的方法,其特征在于,还包括:
获取所述每个虚拟机组的标识;
将所述每个虚拟机组的标识提供给应用模块,以使得所述应用模块根据所述每个虚拟机组的标识处理业务。
9.如权利要求8所述的方法,其特征在于,所述将所述每个虚拟机组的标识提供给应用模块,包括:
向所述应用模块发送每台虚拟机所在的机架号,其中,所述每台虚拟机所在的机架号为所述每台虚拟机所在的虚拟机组的标识。
10.如权利要求1-4、7、9任一项所述的方法,其特征在于,所述接收虚拟机创建请求包括:
接收多个虚拟机组的创建请求,其中,每个虚拟机组的创建请求指明所述每个虚拟机组所包含的待创建的虚拟机的数量和各待创建的虚拟机的规格。
11.如权利要求1-4、7、9任一项所述的方法,其特征在于,所述接收虚拟机创建请求包括:
接收多台虚拟机的创建请求,其中,每台虚拟机的创建请求指明所述每台待创建的虚拟机的规格。
12.一种创建虚拟机的装置,其特征在于,包括:
接收单元,用于接收虚拟机创建请求,所述虚拟机创建请求用于为分布式应用创建多台虚拟机;
分组单元,用于将待创建的多台虚拟机划分为多个虚拟机组,其中,每个虚拟机组包含至少一台待创建的虚拟机;
配置单元,用于根据所述每个虚拟机组的配置信息,为所述每个虚拟机组确定一个归属物理机架,其中,所述每个虚拟机组的配置信息包括所述每个虚拟机组包含的待创建的虚拟机的数量和各个待创建的虚拟机的规格;
创建单元,用于在所述每个虚拟机组的归属物理机架下,创建所述每个虚拟机组中待创建的虚拟机。
13.如权利要求12所述的装置,其特征在于,所述创建单元具体用于:将所述每个虚拟机组中的不同的待创建的虚拟机创建在所述归属物理机架中的不同物理机上。
14.如权利要求12所述的装置,其特征在于,所述配置单元包括:
确定子单元,用于确定待分配归属物理机架的当前虚拟机组,获取物理设备层上的空闲物理机架,根据所述每个虚拟机组包含的待创建的虚拟机的数量和各个待创建的虚拟机的规格,从所述空闲物理机架中选择空闲资源满足所述当前虚拟机组所需资源的第一物理机架;
选择子单元,用于从所述第一物理机架中选择一个作为所述归属物理机架。
15.如权利要求14所述的装置,其特征在于,所述确定子单元具体用于:确定每个所述空闲物理机架上的空闲物理机的数量,根据所述当前虚拟机组包含的待创建的虚拟机的数量,从所述空闲物理机架中选择第二物理机架,其中,所述第二物理机架的空闲物理机的数量大于或等于所述当前虚拟机组包含的待创建的虚拟机的数量,根据所述当前虚拟机组包含的各个待创建的虚拟机的规格,从所述第二物理机架中选择所述第一物理机架,其中,所述第一物理机架的空闲物理机的空闲物理资源满足所述当前虚拟机组中的每台待创建的虚拟机的资源需求。
16.如权利要求14或15所述的装置,其特征在于,所述选择子单元具体用于:获取虚拟机组的约束信息,获取归属物理机架的分配记录信息,所述分配记录信息包括已分配归属物理机架的虚拟机组与归属物理机架的对应关系,根据所述分配记录信息和所述虚拟机组的约束信息,从所述第一物理机架中选择一个作为所述当前虚拟机组的归属物理机架。
17.如权利要求12或13所述的装置,其特征在于,所述配置单元具体用于:获取虚拟机组的约束信息,所述虚拟机组的约束信息表示所述多个虚拟机组之间的关联关系或者互斥关系,根据所述虚拟机组的约束信息,为所述每个虚拟机组确定一个所述归属物理机架。
18.如权利要求17所述的装置,其特征在于,所述虚拟机组的约束信息包括:不同虚拟机组对应不同的归属物理机架;
则,所述配置单元为所述每个虚拟机组确定一个不同的归属物理机架。
19.如权利要求12-15、18任一项所述的装置,其特征在于,还包括:
发送单元,用于获取所述每个虚拟机组的标识,将所述每个虚拟机组的标识提供给应用模块,以使得所述应用模块根据所述每个虚拟机组的标识处理业务。
20.如权利要求19所述的装置,其特征在于,所述发送单元,具体用于向所述应用模块发送每台虚拟机所在的机架号,其中,所述每台虚拟机所在的机架号为所述每台虚拟机所在的虚拟机组的标识。
21.一种创建虚拟机的系统,其特征在于,包括:
云虚拟化装置,用于接收虚拟机创建请求,所述虚拟机创建请求用于为分布式应用创建多台虚拟机,将待创建的多台虚拟机划分为多个虚拟机组,其中,每个虚拟机组包含至少一台待创建的虚拟机,为所述每个虚拟机组确定归属物理机架,其中,一个虚拟机组对应一个归属物理机架,在所述每个虚拟机组的归属物理机架下,创建所述每个虚拟机组中待创建的虚拟机,获取所述每个虚拟机组的标识,将所述每个虚拟机组的标识提供给应用装置;
所述应用装置,用于接收所述每个虚拟机组的标识,根据所述每个虚拟机组的标识处理业务。
22.一种计算机,其特征在于,包括:处理器、存储器、总线和通信接口;
所述存储器用于存储计算机执行指令,所述处理器与所述存储器通过所述总线连接,当所述计算机运行时,所述处理器执行所述存储器存储的所述计算机执行指令,以使所述计算机执行如权利要求1-11任一项所述的创建虚拟机的方法。
CN201610345019.9A 2013-10-23 2013-10-23 一种创建虚拟机的方法和装置 Active CN106055381B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610345019.9A CN106055381B (zh) 2013-10-23 2013-10-23 一种创建虚拟机的方法和装置

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
PCT/CN2013/085820 WO2015058377A1 (zh) 2013-10-23 2013-10-23 一种创建虚拟机的方法和装置
CN201610345019.9A CN106055381B (zh) 2013-10-23 2013-10-23 一种创建虚拟机的方法和装置
CN201380002627.4A CN103797462B (zh) 2013-10-23 2013-10-23 一种创建虚拟机的方法和装置

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201380002627.4A Division CN103797462B (zh) 2013-10-23 2013-10-23 一种创建虚拟机的方法和装置

Publications (2)

Publication Number Publication Date
CN106055381A CN106055381A (zh) 2016-10-26
CN106055381B true CN106055381B (zh) 2019-10-22

Family

ID=50671622

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201380002627.4A Active CN103797462B (zh) 2013-10-23 2013-10-23 一种创建虚拟机的方法和装置
CN201610345019.9A Active CN106055381B (zh) 2013-10-23 2013-10-23 一种创建虚拟机的方法和装置

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN201380002627.4A Active CN103797462B (zh) 2013-10-23 2013-10-23 一种创建虚拟机的方法和装置

Country Status (4)

Country Link
US (4) US10489176B2 (zh)
EP (3) EP3287898A1 (zh)
CN (2) CN103797462B (zh)
WO (1) WO2015058377A1 (zh)

Families Citing this family (59)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10581687B2 (en) * 2013-09-26 2020-03-03 Appformix Inc. Real-time cloud-infrastructure policy implementation and management
US10291472B2 (en) 2015-07-29 2019-05-14 AppFormix, Inc. Assessment of operational states of a computing environment
EP3287898A1 (en) * 2013-10-23 2018-02-28 Huawei Technologies Co., Ltd. Method, system and apparatus for creating virtual machine
US20150347170A1 (en) * 2014-05-27 2015-12-03 Vmware, Inc. Grouping virtual machines in a cloud application
US9875291B2 (en) * 2014-06-20 2018-01-23 Vmware, Inc. Method for visualizing degree of similarity and difference between a large group of objects and a reference object
US10044795B2 (en) * 2014-07-11 2018-08-07 Vmware Inc. Methods and apparatus for rack deployments for virtual computing environments
CN104461699A (zh) * 2014-12-29 2015-03-25 成都致云科技有限公司 虚拟主机创建方法及装置及分布式存储系统
US10097627B1 (en) * 2015-06-16 2018-10-09 Amazon Technologies, Inc. Computer resource allocation
US10740081B2 (en) 2015-06-30 2020-08-11 Vmware, Inc. Methods and apparatus for software lifecycle management of a virtual computing environment
CN105183588B (zh) * 2015-09-30 2018-10-30 华为技术有限公司 一种虚拟机的重建方法和装置
US10129201B2 (en) * 2015-12-09 2018-11-13 Bluedata Software, Inc. Management of domain name systems in a large-scale processing environment
US10284430B2 (en) * 2015-12-09 2019-05-07 Vmware, Inc. Storage provisioning and configuration of network protocol parameters
US9948566B2 (en) 2015-12-09 2018-04-17 Vmware, Inc. Selective network traffic throttling
WO2017100981A1 (zh) * 2015-12-14 2017-06-22 华为技术有限公司 一种处理业务的方法及系统
CN105630603A (zh) * 2015-12-17 2016-06-01 北京华胜天成科技股份有限公司 部署虚拟服务器的方法和装置
WO2017108119A1 (en) * 2015-12-23 2017-06-29 Huawei Technologies Co., Ltd. Rack awareness
CN107045452B (zh) * 2016-02-06 2019-12-31 北京京东尚科信息技术有限公司 虚拟机调度方法和装置
CN107665141B (zh) * 2016-07-27 2020-12-29 腾讯科技(深圳)有限公司 一种数据库配置方法及其设备
US10102024B2 (en) * 2016-08-09 2018-10-16 Vmware, Inc. System and methods to create virtual machines with affinity rules and services asymmetry
CN106354544A (zh) * 2016-08-24 2017-01-25 华为技术有限公司 虚拟机创建方法、系统以及主机
CN107800814B (zh) * 2016-09-05 2021-08-13 国网江苏省电力公司信息通信分公司 虚拟机部署方法及装置
CN109863517B (zh) 2016-10-05 2023-08-01 莫克斯网络有限责任公司 基于rfid的机架清单管理系统
CN108073423B (zh) * 2016-11-09 2020-01-17 华为技术有限公司 一种加速器加载方法、系统和加速器加载装置
CN108268301B (zh) * 2016-12-30 2021-09-03 中国移动通信集团上海有限公司 虚拟网络功能的虚拟机部署方法及装置
US10942760B2 (en) 2017-02-03 2021-03-09 Microsoft Technology Licensing, Llc Predictive rightsizing for virtual machines in cloud computing systems
US10296367B2 (en) 2017-02-03 2019-05-21 Microsoft Technology Licensing, Llc Resource management for virtual machines in cloud computing systems
US10423455B2 (en) * 2017-02-03 2019-09-24 Microsoft Technology Licensing, Llc Method for deploying virtual machines in cloud computing systems based on predicted lifetime
CN108415876B (zh) * 2017-02-28 2020-01-07 杭州龙席网络科技股份有限公司 一种动态计算装置
US10868742B2 (en) 2017-03-29 2020-12-15 Juniper Networks, Inc. Multi-cluster dashboard for distributed virtualization infrastructure element monitoring and policy control
US11068314B2 (en) 2017-03-29 2021-07-20 Juniper Networks, Inc. Micro-level monitoring, visibility and control of shared resources internal to a processor of a host machine for a virtual environment
CN108733449B (zh) * 2017-04-17 2022-01-25 伊姆西Ip控股有限责任公司 用于管理虚拟机的方法、设备和计算机可读存储介质
US11323327B1 (en) 2017-04-19 2022-05-03 Juniper Networks, Inc. Virtualization infrastructure element monitoring and policy control in a cloud environment using profiles
CN109508223A (zh) * 2017-09-14 2019-03-22 顺丰科技有限公司 一种虚拟机批量创建方法、系统及设备
CN109753226A (zh) * 2017-11-07 2019-05-14 阿里巴巴集团控股有限公司 数据处理系统、方法及电子设备
CN109787792B (zh) * 2017-11-10 2022-05-13 阿里巴巴集团控股有限公司 一种管理分布式业务集群的系统
US11036532B2 (en) * 2017-11-29 2021-06-15 Microsoft Technology Licensing, Llc Fast join and leave virtual network
US11595474B2 (en) * 2017-12-28 2023-02-28 Cisco Technology, Inc. Accelerating data replication using multicast and non-volatile memory enabled nodes
US10541928B2 (en) 2018-01-18 2020-01-21 Vmware, Inc. Policy aware framework for application input output management
US11296960B2 (en) * 2018-03-08 2022-04-05 Nicira, Inc. Monitoring distributed applications
CN108614727B (zh) * 2018-03-23 2021-04-20 华为技术有限公司 一种虚拟机创建方法及装置
US10901721B2 (en) 2018-09-20 2021-01-26 Vmware, Inc. Methods and apparatus for version aliasing mechanisms and cumulative upgrades for software lifecycle management
CN109558214B (zh) * 2018-12-05 2021-06-15 腾讯科技(深圳)有限公司 异构环境下宿主机资源管理方法、装置和存储介质
CN109885330B (zh) * 2019-02-28 2021-11-16 北京隆普智能科技有限公司 一种虚拟机生成的方法及其装置
CN109871262A (zh) * 2019-02-28 2019-06-11 北京隆普智能科技有限公司 一种虚拟机创建的方法及其创建装置
CN110286937B (zh) * 2019-07-04 2021-06-15 深圳市指尖互动娱乐有限公司 一种分布式软件运行的方法及其系统
US11140090B2 (en) 2019-07-23 2021-10-05 Vmware, Inc. Analyzing flow group attributes using configuration tags
US11188570B2 (en) 2019-07-23 2021-11-30 Vmware, Inc. Using keys to aggregate flow attributes at host
US11743135B2 (en) 2019-07-23 2023-08-29 Vmware, Inc. Presenting data regarding grouped flows
US11398987B2 (en) 2019-07-23 2022-07-26 Vmware, Inc. Host-based flow aggregation
US11349876B2 (en) 2019-07-23 2022-05-31 Vmware, Inc. Security policy recommendation generation
US11340931B2 (en) 2019-07-23 2022-05-24 Vmware, Inc. Recommendation generation based on selection of selectable elements of visual representation
US11176157B2 (en) 2019-07-23 2021-11-16 Vmware, Inc. Using keys to aggregate flows at appliance
US11436075B2 (en) 2019-07-23 2022-09-06 Vmware, Inc. Offloading anomaly detection from server to host
US11288256B2 (en) 2019-07-23 2022-03-29 Vmware, Inc. Dynamically providing keys to host for flow aggregation
US11321213B2 (en) 2020-01-16 2022-05-03 Vmware, Inc. Correlation key used to correlate flow and con text data
US11785032B2 (en) 2021-01-22 2023-10-10 Vmware, Inc. Security threat detection based on network flow analysis
US11831667B2 (en) 2021-07-09 2023-11-28 Vmware, Inc. Identification of time-ordered sets of connections to identify threats to a datacenter
CN113326103B (zh) * 2021-08-03 2021-12-10 中电长城网际安全技术研究院(北京)有限公司 虚拟机创建方法及装置
US11792151B2 (en) 2021-10-21 2023-10-17 Vmware, Inc. Detection of threats based on responses to name resolution requests

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101267334A (zh) * 2007-03-13 2008-09-17 联想(北京)有限公司 一种动态分配设备的方法及装置
CN101650667A (zh) * 2009-08-31 2010-02-17 曙光信息产业(北京)有限公司 一种虚拟机管理系统及方法
CN102426475A (zh) * 2011-11-04 2012-04-25 中国联合网络通信集团有限公司 桌面虚拟化环境下的节能方法、节能管理服务器及系统
CN103036949A (zh) * 2012-11-27 2013-04-10 华中科技大学 一种虚拟化环境下Cassandra系统的优化方法和系统
CN103067425A (zh) * 2011-10-20 2013-04-24 中国移动通信集团公司 虚拟机创建方法、虚拟机管理系统及相关设备

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6711607B1 (en) * 2000-02-04 2004-03-23 Ensim Corporation Dynamic scheduling of task streams in a multiple-resource system to ensure task stream quality of service
US6643672B1 (en) 2000-07-31 2003-11-04 Hewlett-Packard Development Company, Lp. Method and apparatus for asynchronous file writes in a distributed file system
US7801128B2 (en) 2006-03-31 2010-09-21 Amazon Technologies, Inc. Managing communications between computing nodes
WO2007136021A1 (ja) * 2006-05-24 2007-11-29 Nec Corporation 仮想マシン管理装置、仮想マシン管理方法およびプログラム
US8065676B1 (en) * 2007-04-24 2011-11-22 Hewlett-Packard Development Company, L.P. Automated provisioning of virtual machines for a virtual machine buffer pool and production pool
JP5238235B2 (ja) * 2007-12-07 2013-07-17 株式会社日立製作所 管理装置及び管理方法
US8972978B2 (en) * 2008-05-02 2015-03-03 Skytap Multitenant hosted virtual machine infrastructure
US8174984B2 (en) * 2009-05-29 2012-05-08 Oracle America, Inc. Managing traffic on virtualized lanes between a network switch and a virtual machine
US9740533B2 (en) * 2009-08-03 2017-08-22 Oracle International Corporation Altruistic dependable memory overcommit for virtual machines
US9075661B2 (en) * 2010-10-20 2015-07-07 Microsoft Technology Licensing, Llc Placing objects on hosts using hard and soft constraints
US8997078B2 (en) 2011-04-12 2015-03-31 Pivotal Software, Inc. Release lifecycle management system for a multi-node application
US8671176B1 (en) 2011-04-29 2014-03-11 Juniper Networks, Inc. Virtual network prototyping environment
US20120287931A1 (en) * 2011-05-13 2012-11-15 International Business Machines Corporation Techniques for securing a virtualized computing environment using a physical network switch
US9317336B2 (en) * 2011-07-27 2016-04-19 Alcatel Lucent Method and apparatus for assignment of virtual resources within a cloud environment
US8909785B2 (en) * 2011-08-08 2014-12-09 International Business Machines Corporation Smart cloud workload balancer
US9268590B2 (en) * 2012-02-29 2016-02-23 Vmware, Inc. Provisioning a cluster of distributed computing platform based on placement strategy
US9043786B1 (en) * 2012-06-29 2015-05-26 Emc Corporation Blueprint-driven environment template creation in a virtual infrastructure
US9582221B2 (en) * 2012-08-24 2017-02-28 Vmware, Inc. Virtualization-aware data locality in distributed data processing
US9832205B2 (en) * 2013-03-15 2017-11-28 International Business Machines Corporation Cross provider security management functionality within a cloud service brokerage platform
KR101694518B1 (ko) * 2013-08-05 2017-01-23 한국전자통신연구원 가상 노드 배치 관리 시스템 및 방법
EP3287898A1 (en) * 2013-10-23 2018-02-28 Huawei Technologies Co., Ltd. Method, system and apparatus for creating virtual machine
US10044795B2 (en) * 2014-07-11 2018-08-07 Vmware Inc. Methods and apparatus for rack deployments for virtual computing environments
US9852035B2 (en) * 2015-08-25 2017-12-26 International Business Machines Corporation High availability dynamic restart priority calculator
US10552221B2 (en) * 2016-12-16 2020-02-04 Turbonomic, Inc. Systems, apparatus and methods for managing resources in computer systems
US10476748B2 (en) * 2017-03-01 2019-11-12 At&T Intellectual Property I, L.P. Managing physical resources of an application
US10756967B2 (en) * 2017-07-20 2020-08-25 Vmware Inc. Methods and apparatus to configure switches of a virtual rack

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101267334A (zh) * 2007-03-13 2008-09-17 联想(北京)有限公司 一种动态分配设备的方法及装置
CN101650667A (zh) * 2009-08-31 2010-02-17 曙光信息产业(北京)有限公司 一种虚拟机管理系统及方法
CN103067425A (zh) * 2011-10-20 2013-04-24 中国移动通信集团公司 虚拟机创建方法、虚拟机管理系统及相关设备
CN102426475A (zh) * 2011-11-04 2012-04-25 中国联合网络通信集团有限公司 桌面虚拟化环境下的节能方法、节能管理服务器及系统
CN103036949A (zh) * 2012-11-27 2013-04-10 华中科技大学 一种虚拟化环境下Cassandra系统的优化方法和系统

Also Published As

Publication number Publication date
US20150234674A1 (en) 2015-08-20
EP2879049A4 (en) 2015-07-15
US20200081731A1 (en) 2020-03-12
US9389903B2 (en) 2016-07-12
CN103797462A (zh) 2014-05-14
CN106055381A (zh) 2016-10-26
WO2015058377A1 (zh) 2015-04-30
US10489176B2 (en) 2019-11-26
EP4071605A1 (en) 2022-10-12
US20150113529A1 (en) 2015-04-23
CN103797462B (zh) 2016-06-29
EP3287898A1 (en) 2018-02-28
EP2879049A1 (en) 2015-06-03
US11714671B2 (en) 2023-08-01
US11704144B2 (en) 2023-07-18
US20210224101A1 (en) 2021-07-22

Similar Documents

Publication Publication Date Title
CN106055381B (zh) 一种创建虚拟机的方法和装置
US11221884B2 (en) Hybrid virtual machine configuration management
EP3270289B1 (en) Container-based multi-tenant computing infrastructure
CN112153700B (zh) 一种网络切片资源管理方法及设备
CN109684065B (zh) 一种资源调度方法、装置及系统
Hermenier et al. Bin repacking scheduling in virtualized datacenters
CN106209402B (zh) 一种虚拟网络功能的伸缩方法和设备
CN106134141B (zh) 一种更新网络服务描述器nsd的方法及装置
JP6568238B2 (ja) ハードウェアアクセラレーション方法及び関連デバイス
KR20160087706A (ko) 가상화 플랫폼을 고려한 분산 데이터 처리 시스템의 자원 할당 장치 및 할당 방법
US20140325036A1 (en) Defining Disjoint Node Groups for Virtual Machines with Pre-Existing Placement Policies
CN110221918A (zh) 一种ns与vnf的关联方法、装置及系统
CN112181585A (zh) 虚拟机的资源分配方法及装置
US11093288B2 (en) Systems and methods for cluster resource balancing in a hyper-converged infrastructure
CN112162852A (zh) 一种多架构cpu节点的管理方法、装置及相关组件
CN109992373B (zh) 资源调度方法、信息管理方法和装置及任务部署系统
CN110351104A (zh) 一种vim选择方法及装置
CN108737144A (zh) 资源管理的方法和设备
CN115202856A (zh) 资源分配系统、方法、装置、计算机设备和存储介质
WO2020098352A1 (zh) 一种工作流调度方法、装置和系统
CN107529696B (zh) 一种存储资源访问控制方法及装置
WO2023104283A1 (en) Methods and apparatus for managing plural cloud virtualisation layers in a communication network
CN113918273A (zh) 一种容器组的创建方法和装置
Zhang A middleware for supporting spatial constraints in distributed systems
JP2016062462A (ja) 情報処理システム、情報処理システムの制御方法、管理装置、及び制御プログラム

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20220221

Address after: 550025 Huawei cloud data center, jiaoxinggong Road, Qianzhong Avenue, Gui'an New District, Guiyang City, Guizhou Province

Patentee after: Huawei Cloud Computing Technology Co.,Ltd.

Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen

Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd.

TR01 Transfer of patent right