CN106020937A - 一种创建虚拟机的方法、装置及系统 - Google Patents

一种创建虚拟机的方法、装置及系统 Download PDF

Info

Publication number
CN106020937A
CN106020937A CN201610539385.8A CN201610539385A CN106020937A CN 106020937 A CN106020937 A CN 106020937A CN 201610539385 A CN201610539385 A CN 201610539385A CN 106020937 A CN106020937 A CN 106020937A
Authority
CN
China
Prior art keywords
host
virtual machine
candidate
demand information
control equipment
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.)
Pending
Application number
CN201610539385.8A
Other languages
English (en)
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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201610539385.8A priority Critical patent/CN106020937A/zh
Publication of CN106020937A publication Critical patent/CN106020937A/zh
Priority to PCT/CN2017/092197 priority patent/WO2018006864A1/zh
Priority to US15/962,678 priority patent/US10642641B2/en
Pending legal-status Critical Current

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/4401Bootstrapping
    • 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]
    • 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
    • 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/4557Distribution of virtual machine instances; Migration and load balancing
    • 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/45595Network integration; Enabling network access in virtual machine instances
    • 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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明公开了一种创建虚拟机的方法,应用于云计算系统,云计算系统包括控制设备和多台宿主机,该方法包括:控制设备接收虚拟机创建请求,虚拟机创建请求包括待创建的虚拟机的第一需求信息和第二需求信息,第一需求信息为资源需求信息;根据第一需求信息、第二需求信息,以及每台宿主机的属性信息,对多台宿主机进行过滤,以得到至少一台候选宿主机;从至少一台候选宿主机中确定一台目标宿主机,并在目标宿主机上创建虚拟机。本发明实施例提供的创建虚拟机的方法,从多个方面为待创建的虚拟机选择宿主机,从而提高了虚拟机创建的成功率。

Description

一种创建虚拟机的方法、装置及系统
技术领域
本发明涉及云技术领域,具体涉及一种创建虚拟机的方法、装置及系统。
背景技术
云计算系统通常包括控制设备和大量的宿主机,控制设备可以通过虚拟机软件在一台宿主机上模拟创建出一台或者多台虚拟机,而这些虚拟机就像真正的计算机那样进行工作。
因为云计算系统中有大量的宿主机,在创建虚拟机时要选择在哪台宿主机上创建虚拟机,现有技术中通常是根据待创建虚拟机的硬件资源需求,例如:需要几个中央处理器(Central Processing Unit,CPU)、需要多大内存等宿主机所能提供的资源的需求量。
现有技术中这种只考虑虚拟机的资源需求所选择出的宿主机,只考虑到了当前宿主机的硬件资源情况,没有考虑其他正在该宿主机上创建的虚拟机,其他占用该宿主机硬件资源的虚拟机可能会导致该虚拟机创建失败。
发明内容
为了解决现有技术中虚拟机创建成功率低的问题,本发明实施例提供一种创建虚拟机的方法,从多个方面为待创建的虚拟机选择宿主机,从而提高了虚拟机创建的成功率。本发明实施例还提供了相应的装置和系统。
本发明第一方面提供一种创建虚拟机的方法,所述方法应用于云计算系统,所述云计算系统包括控制设备和多台宿主机,所述方法包括:
所述控制设备接收虚拟机创建请求,所述虚拟机创建请求包括待创建的虚拟机的第一需求信息和第二需求信息,所述第一需求信息为资源需求信息;
所述控制设备根据所述第一需求信息、所述第二需求信息,以及每台宿主机的属性信息,对所述多台宿主机进行过滤,以得到至少一台候选宿主机;
所述控制设备从所述至少一台候选宿主机中确定一台目标宿主机,并在所述目标宿主机上创建所述虚拟机。
本发明第二方面提供一种创建虚拟机的装置,所述装置应用于云计算系统的控制设备,所述云计算系统还包括多台宿主机,所述装置包括:
接收单元,用于接收虚拟机创建请求,所述虚拟机创建请求包括待创建的虚拟机的第一需求信息和第二需求信息,所述第一需求信息为资源需求信息;
过滤单元,用于根据所述接收单元接收的所述第一需求信息、所述第二需求信息,以及每台宿主机的属性信息,对所述多台宿主机进行过滤,以得到至少一台候选宿主机;
第一确定单元,用于从所述过滤单元过滤的至少一台候选宿主机中确定一台目标宿主机;
虚拟机创建单元,用于在所述第一确定单元确定的所述目标宿主机上创建所述虚拟机。
本发明第三方面提供一种控制设备,所述控制设备包括多个如第二方面所述的创建虚拟机的装置;
当所述虚拟机创建请求有多个时,所述多个创建虚拟机的装置,并行执行多个所述虚拟机创建请求,为每个虚拟机创建请求创建对应的虚拟机。
本发明第四方面提供一种云计算系统,包括第三方面所述控制设备和多台宿主机。
与现有技术中只考虑宿主机所能提供的硬件资源,不再考虑宿主机的其他方面的信息相比,本发明实施例提供的创建虚拟机的方法,不仅考虑了宿主机能为待创建的虚拟机所能提供的硬件资源,还考虑了待创建的虚拟机其他方面的需求信息,从多个方面为待创建的虚拟机选择宿主机,从而提高了虚拟机创建的成功率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例中宿主机的一结构示意图;
图2是本发明实施例中云计算系统的一实施例示意图;
图3是本发明实施例中控制设备的一结构示意图;
图4是本发明实施例中创建虚拟机的方法的一实施例示意图;
图5是本发明实施例中过滤过程的一示例示意图;
图6是本发明实施例中确定目标宿主机的过程的一示意图;
图7是本发明实施例中创建虚拟机的装置的一实施例示意图;
图8是本发明实施例中创建虚拟机的装置的另一实施例示意图;
图9是本发明实施例中控制设备的一实施例示意图。
具体实施方式
本发明实施例提供一种创建虚拟机的方法,从多个方面为待创建的虚拟机选择宿主机,从而提高了虚拟机创建的成功率。本发明实施例还提供了相应的装置和系统。以下分别进行详细说明。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明实施例中宿主机的一结构示意图。
如图1所示的宿主机包括虚拟机(Virtual Machine,VM)和硬件层,硬件层可以为每个虚拟机提供硬件资源。
虚拟机:
通过虚拟机软件可以在一台宿主机上模拟出一台或者多台虚拟的计算机,而这些虚拟机就像真正的计算机那样进行工作,虚拟机上可以安装操作系统和应用程序,虚拟机还可访问网络资源。对于在虚拟机中运行的应用程序而言,虚拟机就像是在真正的计算机中进行工作。
硬件层:
虚拟化环境运行的硬件平台。其中,硬件层可包括多种硬件,例如某计算节点的硬件层可包括处理器(如CPU)和内存,还可以包括网卡、存储器等高速或低速输入/输出(I/O,Input/Output)设备,及具有特定处理功能的其它设备,如输入输出内存管理单元(IOMMU,Input/Output Memory ManagementUnit),其中IOMMU可用于虚拟机物理地址和Host物理地址的转换。
随着云计算的不断发展,宿主机和虚拟机都出现了明显的异构化趋势。异构网络环境(Heterogeneous Network Environments)是指由不同制造商生产的计算机和系统组成的网络环境。由于云计算系统往往具有维护周期长、集群规模大等特征,需要逐批采购大量宿主机,导致宿主机在软硬件方面存在诸多不同,例如:是否支持私有网络(Virtual Private Cloud)、是否支持云盘、是否支持固态硬盘(Solid State Drives,SSD)、具有不同的中央处理器(Central ProcessingUnit,CPU)类型、具有不同的虚拟化方式(例如:KVM或者Xen)及管理程序(Hypervisor)等。同时,虚拟机中运行着多种多样的应用程序,由于应用程序自身功能和特性不同,虚拟机对于宿主机的网络、存储、CPU、虚拟化方式的需求也有诸多不同。这样就出现了一个问题,不是所有的宿主机都可以支待创建的虚拟机,如果只考虑待创建虚拟机的硬件资源需求,则会导致虚拟机创建的成功率很低。因此,本发明实施例提供的虚拟机创建的方法,不仅考虑了待创建虚拟机的硬件资源需求,还考虑了待创建虚拟机的其他方面的需求,从而可以提高虚拟机创建的成功率。
图2为本发明实施例中云计算系统的一实施例示意图。
如图2所示,云计算系统包括控制设备10、网络20和多台宿主机30,控制设备10和多台宿主机30通过网络20通信连接,控制设备10上可以存储每台宿主机的属性信息,也可以是云计算系统中还包括数据库40,由数据库40存储每台宿主机的属性信息。
宿主机在进入云计算系统时,需要经过宿主机导入流程,进行必要的初始化,宿主机会向控制设备10上报其属性信息,控制设备10可以将宿主机的属性信息存储在自身,也可以存储在外挂的数据库40中。
宿主机的属性信息例如包括但不限于表1所示的内容。
表1.宿主机主要属性表
以上表1所示出的只是宿主机的一些主要的属性信息,其他未列出的归属于宿主机的信息,都可以认为是宿主机的属性信息。
云系统中的控制设备还可以参阅图3进行理解,如图3所示,控制设备包括应用接口(API)、消息队列、调度器和其他组件,其中调度器和其他组件都可以有多个。图3所示的控制设备中还包括存储设备,该存储设备用于存储全局资源数据,全局资源数据可以包括表1所示的宿主机的属性信息以及宿主上各项资源的剩余量等。
其中,API:控制设备的接入模块,所有前台设备通过API组件与控制设备交互。API组件负责对虚拟机创建请求的请求包进行参数校验,并对请求进行路由,分发给系统中其他组件。对于异步任务,API组件会将请求包分发给消息队列组件。
消息队列:对于异步任务,消息会在消息队列中进行流转,各个组件具有生产者或者消费者的身份,生产者向消息队列中发送消息,消费者从消息队列中接收消息。
调度器:调度器负责为虚拟机选择合适的宿主机。从具体流程来看,调度器主要完成以下几件工作:
调度器作为消费者从消息队列中接收读取虚拟机的消息;
根据虚拟机自身需求和宿主机的属性信息为虚拟机选择合适的宿主机;
选择宿主机后,尝试修改全局资源数据,修改失败则选择其他候选宿主机重新修改资源数据,直至修改成功或者全部失败;
将所选的宿主机信息汇总到已有消息中,并将消息发送到消息队列中,消息向后续步骤流转。
因调度器组件具有多个实例,即多个调度器并发进行调度,因此可以为不同的虚拟机选择宿主机,这样可以提升云计算系统的吞吐量和并发能力,避免调度器成为整个系统的性能瓶颈。
其他组件:分别负责虚拟机的网络管理、云盘存储管理、镜像管理和虚拟机生产等功能。
在宿主机上创建虚拟机是由控制设备来控制实现的,下面结合图4,介绍本发明实施例中创建虚拟机的方法的一实施例。
如图4所示,本发明实施例提供的创建虚拟机的方法的一实施例包括:
101、控制设备接收前台设备发送的虚拟机创建请求。
前台设备可以是负责创建虚拟机的工作人员所使用的终端设备。
所述虚拟机创建请求包括待创建的虚拟机的第一需求信息和第二需求信息,所述第一需求信息为资源需求信息。
所述第一需求信息可以包括待创建的所述虚拟机所需的处理器的信息、内存的信息和磁盘的信息,第一需求信息主要指的是宿主机自身所能提供的硬件资源信息。
所述第二需求信息包括待创建的所述虚拟机对固态硬盘、云盘、私有网络、网卡、路由器、网络结构、数据中心、机架、宿主机的机型、宿主机所属资源池,以及虚拟化类型中的至少一个的需求信息。
102、控制设备根据所述第一需求信息、所述第二需求信息,以及每台宿主机的属性信息,对所述多台宿主机进行过滤,以得到至少一台候选宿主机。
每台宿主机的属性信息可以参阅表1部分的描述进行理解,按照宿主机的属性信息可以构建出一个串式过滤模型,该串式过滤模型包括串接的多个过滤器,每个过滤器负责一项过滤功能,每个过滤器会根据第一需求信息和第二需求信息做出相应的判断,然后执行相应的过滤,例如:串接的第一个过滤器负责过滤掉虚拟机所需的CPU、内存和磁盘资源不满足该待创建的虚拟机需求的宿主机,仅保留满足其资源需求的宿主机,串接的第二个过滤器负责过滤掉支持或者不支持SSD的宿主机。具体过滤模型中各过滤器的功能可以依据第一需求信息和第二需求信息进行设置。如果第二需求信息中要求宿主机支持SSD,则过滤器根据该第二需求信息就过滤掉不支持SSD的宿主机,保留支持SSD的宿主机。其他过滤器的功能都可以参阅该过滤器的进行理解,只是其他过滤器负责其他过滤功能。
下面以图5为例,介绍本发明实施例中,对所述多台宿主机进行过滤,以得到至少一台候选宿主机的过程。
如图5所示,若云计算系统中有8台宿主机,当然,云计算系统中不可能只有8台宿主机,本处只是为了便于描述所举得例子,不应理解为是对宿主机数量的限定,但不管有多少台宿主机,过滤的过程都是相同的,都可以按照该示例进行理解。
第一需求信息是虚拟机所需的CPU、内存以及磁盘资源等宿主机所能提供的硬件资源需求信息。
第二需求信息包括:需要支持SSD、需要支持云盘、需要支持私有网络、指定网卡的类型以及指定路由器等。
如图5所示,8台宿主机按照宿主机的属性信息和待创建的虚拟机的第一需求信息和所述第二需求信息进行过滤,经过过滤器A时,若过滤器A负责过滤掉不满足虚拟机所需的CPU、内存以及磁盘资源等宿主机所能提供的硬件资源需求的宿主机,保留符合资源需求的宿主机,该轮过滤,过滤掉2台宿主机。剩余的6台宿主机再进入过滤器B,若过滤器B根据第二需求信息负责过滤掉不支持SSD的宿主机,则经过过滤器B过滤后,又过滤掉一台宿主机,还剩余5台宿主机。然后再依次经过其他过滤器,其他过滤器可以负责过滤掉不支持云盘的宿主机、负责过滤掉不支持私有网络的宿主机等,若最后到达过滤器X,过滤器X负责过滤掉不符合虚拟化类型中的一个,例如:如果需要宿主机的虚拟化类型是KVM,则会过滤掉虚拟化类型是Xen的宿主机。过滤结束后得到三个候选宿主机。
以上图5的示例中所描述的宿主机,实际上是宿主机的标识和属性信息,过滤的过程是按照宿主机的属性信息进行过滤的。若待创建的虚拟机没有明确给出是否需要支持SSD,则过滤器B不做任何过滤,直接放行所有宿主机。
以上图5中没有画出每个过滤器,但过滤过程更详细的可以例如是:
S1、判断宿主机是否具备虚拟机所需的CPU、内存以及磁盘资源等宿主机所能提供的硬件资源需求的宿主机,保留符合资源需求的宿主机。
S2、判断虚拟机是否需要支持SSD,如果需要,则仅保留支持SSD的宿主机;否则仅保留不支持SSD的宿主机。
S3、判断虚拟机是否需要挂在云盘,如果需要,则仅保留支持云盘的宿主机;否则不做操作。
S4、判断虚拟机是否需要私有网络,如果需要,则仅保留支持私有网络的宿主机;如果不需要,则仅保留不支持私有网络的宿主机;如果未指定,则不做操作。
S5、判断虚拟机是否指定网卡,如果指定,则仅保留具有指定网卡类型的宿主机;否则不做操作。
S6、判断虚拟机是否指定路由器,如果指定路由器,则仅保留指定路由器下的宿主机;否则不做操作。
S7、判断虚拟机是否需要绑定bonding网络结构,如果需要,则仅保留支持bonding网络结构的宿主机;否则不做操作。
S8、判断是否指定数据中心/机房,如果指定,则仅保留指定数据中心/机房的宿主机;否则不做操作。
S9、判断虚拟机是否指定机架,如果指定机架,则仅保留指定机架上的宿主机;否则不做操作。
S10、判断虚拟机是否为大内存类型,如果是大内存类型虚拟机,则仅保留大内存型(M10)宿主机;否则仅保留非大内存型宿主机。
S11、判断虚拟机是否指定宿主机机型,如果指定,则仅保留具有指定机型的宿主机;否则不做操作。
S12、判断虚拟机是否指定售卖池,如果指定,则仅保留指定售卖池内的宿主机;否则仅保留默认售卖池内的宿主机。
S13、判断虚拟机是否指定虚拟化类型,如果指定,则仅保留指定虚拟化类型的宿主机;否则不做操作;经过上述步骤,得到的宿主机列表即为候选宿主机列表。
103、控制设备从所述至少一台候选宿主机中确定一台目标宿主机。
控制设备在选择目标宿主机时,可以是随机选择的,当然,为了选择一台符合度最好的目标宿主机可以是在对所述多台宿主机进行过滤,以得到至少一个候选宿主机之后,确定每台候选宿主机各维度的优先级值。
各维度的优先级可以包括:私有网络优先级(vpcPrio)、并发任务优先级(taskPrio)、历史错误优先级(errorPrio)、反亲和性优先级(affinityPrio)、空闲优先级(freePrio)、镜像缓存优先级(imgPrio)、碎片率优先级(fragmentPrio)。等。
可以分别计算上述各维度的优先级值,例如,可以通过如下方案计算各维度的优先级值。
私有网络优先级值:vpcPrio,数值越小优先级越高。可以遍历候选宿主机列表,为每台宿主机确定私有网络优先级值,可以是支持私有网络的宿主机的vpcPrio赋值为0,其余宿主机的vpcPrio赋值为1。
私有网络的IP地址不依赖物理网络拓扑,未来更易于迁移。私有网络优先级的作用在于,优先把虚拟机放置到支持私有网络的宿主机上,未来迁移更加便利灵活。
并发任务优先级:taskPrio,数值越小优先级越高。可以遍历候选宿主机列表,为每台宿主机确定并发任务优先级,判断宿主机上当前任务数量,如果小于阈值,则赋值为0,否则赋值为当前任务数量。例如:并发阈值默认为3,当然该阈值可以进行配置。
宿主机上的并发任务会同时进行,并发过高,可能导致虚拟机创建缓慢甚至失败。并发任务优先级的作用在于,优先把虚拟机放置到并发任务数量更低的宿主机上,确保虚拟机创建的成功率和实时性。
历史错误优先级:errorPrio,数值越小优先级越高遍。可以历候选宿主机列表,为每台宿主机计算历史错误优先级,判断宿主机最近一段时间(例如默认24小时)的历史错误数量,如果小于阈值,则赋值为0,否则赋值为历史错误数量。例如:错误阈值默认可以为5,错误阈值可以进行配置。
短时间内出现多次错误的宿主机可能已经出现了某种故障,在对其进行处理之前,如果持续将虚拟机放置其上,可能导致虚拟机创建任务失败,降低成功率。历史错误优先级的作用在于,优先把虚拟机放置到没有出现过多错误的宿主机上,提高虚拟机创建的成功率。
反亲和性优先级:affinityPrio,数值越小优先级越高。可以遍历候选宿主机列表,为每台宿主机计算反亲和性优先级,判断虚拟机用户在该宿主机上已经存在虚拟机数量,如果小于亲和性阈值,则赋值为0,否则赋值为已有虚拟机数量。例如:亲和性阈值为3,当然,亲和性阈值可以进行配置。
在大规模分布式系统中,完全规避错误是几乎不可能的。如果某位用户的虚拟机集中在一台或者几台宿主机上,当这些宿主机发生故障,其上虚拟机将全部受到影响,严重影响了该用户应用整体的可用性。反亲和性优先级的作用在于,使得同一用户的虚拟机广泛的分布在不同的宿主机上,进行分布式容灾,即使单台宿主机故障对应用整体可用性的影响也比较有限,进而提高用户应用的稳定性和可用性。
空闲优先级:freePrio,数值越小优先级越高。可以遍历候选宿主机列表,判断每台宿主机是否完全空闲,如果完全空闲,则赋值为0,否则赋值为1。
空闲优先级的作用在于,保护空闲宿主机,优先把虚拟机放置到非空闲宿主机上,充分利用非空闲宿主机上的资源,提升资源利用率。
镜像缓存优先级:imgPrio,数值越小优先级越高。可以遍历候选宿主机列表,判断每台宿主机是否具有虚拟机所需的镜像文件,如果具有则赋值为0,否则赋值为1。
镜像缓存优先级的作用在于,优先将虚拟机放置到已经存储虚拟机镜像的宿主机上,这样在真正生产虚拟机的时候可以免去下载镜像环节,节省生产时间,提升虚拟机生产流程的实时性。
碎片率优先级:fragmentPrio,数值越小优先级越高。可以遍历候选宿主机列表,为每台宿主机计算碎片率优先级,根据CPU和内存两个维度的资源计算优先级。默认情况下,碎片率优先级等于CPU碎片率乘以内存碎片率,公式如下:
FragmentPrio=(cpuUsed/cpuTotal)*(memUsed/memTotal)
其中,cpuUsed表示已用CPU资源量(包含待放置的虚拟机),cpuTotal表示CPU资源总量,memUsed表示已用内存资源量(包含待放置的虚拟机),memTotal表示内存资源总量。
在默认情况之外,有两种情况特殊处理。如果cpuUsed与cpuTotal相等,且memUsed和memTotal相等,表示将虚拟机放置到该宿主机后,宿主机的CPU、内存资源同时得到完全利用,充分利用了宿主机的资源,这种情况是最为理想的情况,则赋值为最高优先级0。如果CPU、内存某一种资源已经完全被利用,而另一种资源还有较多剩余,则剩余资源无法再卖出,我们称之为“不可售卖资源”。不可售卖资源会直接造成资源浪费,是最不理想的情况,我们赋值为最低优先级(LOW_PRIO)。
碎片率优先级的作用在于,充分利用宿主机的资源,降低资源碎片率,进而提升资源利用率,降低运营成本。
确定每台候选宿主机各维度的优先级值后,可以根据所述各维度的优先级值,从所述至少一台候选宿主机中确定一台符合度最高的候选宿主机作为所述目标宿主机。
具体的确定过程可以是:
控制设备按照所述各维度的优先级从高到低的顺序,对同一维度的宿主机按照优先级值从大到小的顺序进行排序,针对同一维度的优先级值相同的宿主机,再按照下一维度的优先级值进行排序,以得到按照优先级从高到低排序的候选宿主机;
控制设备按照排序后的候选宿主机的降序,从排序在第一位的候选宿主机开始,逐一扣减待创建的所述虚拟机所需的资源,当在一个候选宿主机上扣减成功时,则将扣减成功的候选宿主机作为所述目标宿主机。
排序顺序可以是预先设定的,例如:默认排序标准及优先级从高到低的顺序可以是:私有网络优先级(vpcPrio)、并发任务优先级(taskPrio)、历史错误优先级(errorPrio)、反亲和性优先级(affinityPrio)、空闲优先级(freePrio)、镜像缓存优先级(imgPrio)和碎片率优先级(fragmentPrio)。排序标准也可以在默认标准范围内进行选择,顺序可以调整配置。
举例来说明多维排序标准。例如:宿主机A和宿主机B在排序时,首先比较私有网络优先级(vpcPrio),vpcPrio更小的宿主机排在前面。如果二者的vpcPrio相等,则比较并发任务优先级(taskPrio),如果仍然相等,则再比较历史错误优先级(errorPrio),并以此类推。
其中,所述从排序在第一位的候选宿主机开始,逐一扣减待创建的所述虚拟机所需的资源,当在一个候选宿主机上扣减成功时,则将扣减成功的候选宿主机作为所述目标宿主机,可以包括:
所述控制设备根据待创建的所述虚拟机所需的资源数据,确定扣减后所述候选宿主机所剩余的资源数据;
所述控制设备将所述候选宿主机所剩余的资源数据写入用于维护每台宿主机的剩余资源数据的数据库;
当写入成功时,则所述控制设备将写入成功的候选宿主机作为所述目标宿主机。
本发明实施例中,排序后的候选宿主机肯定排序在第一位的是最优的,但是也可能该最优的候选宿主机有其他创建任务,不一定能保定创建成功,所以需要通过资源数据扣减的方式来确定最后的目标宿主机。
扣减的过程可以参阅图6进行理解。
如图6所示,确定目标宿主机的过程可以是:
201、从候选宿主机列表中按照排序后的顺序选出一台宿主机。
202、根据虚拟机的资源需求,计算扣减后该宿主机的剩余资源。
203、将扣减后的数据资源,附带条件写入全局资源数据库。
全局资源数据库中维护有每一台宿主机的属性信息,以及各项资源的剩余量。
附带条件写入是考虑到同时可能会有其他虚拟机创建请求也在针对该宿主机执行扣减,所以一旦在扣减时,剩余资源的数值发生变化,则扣减失败,不再变化的基础上执行扣减。
204、写入数据库是否成功,若成功,执行步骤205,若不成功,执行步骤206。
205、写入成功时,则当前宿主机即为所选宿主机,流程结束。
写入成功,则表示对剩余资源的值修改成功,例如:原来的剩余资源为120,创建虚拟机需要扣减20,则扣减后的剩余资源为100,如果成功写入100,则表示写入成功。
206、写入失败时,则判断是否超过并发写入次数阈值,若未超过,执行步骤207,若超过执行步骤208。
并发写入次可以参阅前述的并发任务优先级部分的描述进行理解。
若并发次数阈值为3,若未超过3次,则可以执行步骤207,若超过3,则执行步骤208。
写入数据库失败通常是由于多个调度器进程并发尝试写入数据库造成的,此时只有一个进程可以写入成功,其余进程本次写入失败。
207、如果没有超过,则重新读取宿主机的资源数据,并跳转到步骤202。
208、如果已经超过并发次数阈值,则判断候选宿主机列表中是否还有未选用的宿主机,若还有未选用的宿主机,则跳转到步骤201,若无未被选用的宿主机,则通过步骤209结束流程。
209,无未被选用的宿主机,则结束流程。
以上所描述的创建虚拟机的过程的有益效果可以包括:
通过多方面的属性过滤,保证在异构环境中所选宿主机可以满足虚拟机的个性化需求;根据并发任务优先级、历史错误优先级进行智能排序,提高生产虚拟机流程的成功率和实时性;根据反亲和性优先级进行智能排序,将同一用户的虚拟机放置于不同的宿主机之上,进行分布式容错,提高用户应用系统的整体可用性和稳定性;根据空闲优先级、资源碎片率优先级进行智能排序,充分使用宿主机资源,提升数据中心的资源利用率,降低运营成本;根据镜像缓存优先级进行智能排序,尽可能避免镜像下载环节,缩短虚拟机创建时间,提升流程实时性;采用并发调度机制,多个调度器进程同时为虚拟机选择合适宿主机,提升装箱算法和调度器的吞吐率。
参阅图7,本发明实施例提供的创建虚拟机的装置30应用于云计算系统的控制设备,所述云计算系统还包括多台宿主机,所述装置30的一实施例包括:
接收单元301,用于接收虚拟机创建请求,所述虚拟机创建请求包括待创建的虚拟机的第一需求信息和第二需求信息,所述第一需求信息为资源需求信息;
过滤单元302,用于根据所述接收单元301接收的所述第一需求信息、所述第二需求信息,以及每台宿主机的属性信息,对所述多台宿主机进行过滤,以得到至少一台候选宿主机;
第一确定单元303,用于从所述过滤单元302过滤的至少一台候选宿主机中确定一台目标宿主机;
虚拟机创建单元304,用于在所述第一确定单元303确定的所述目标宿主机上创建所述虚拟机。
与现有技术中只考虑宿主机所能提供的硬件资源,不再考虑宿主机的其他方面的信息相比,本发明实施例提供的创建虚拟机的装置,不仅考虑了宿主机能为待创建的虚拟机所能提供的硬件资源,还考虑了待创建的虚拟机其他方面的需求信息,从多个方面为待创建的虚拟机选择宿主机,从而提高了虚拟机创建的成功率。
可选地,参阅图8,本发明实施例提供的创建虚拟机的装置30的另一实施例中,所述装置30还包括第二确定单元305,
所述第二确定单元305,用于在所述过滤单元302过滤得到至少一个候选宿主机之后,确定每台候选宿主机各维度的优先级值;
所述第一确定单元303,用于根据所述第二确定单元305确定的各维度的优先级值,从所述至少一台候选宿主机中确定一台符合度最高的候选宿主机作为所述目标宿主机。
可选地,所述第一确定单元303用于:
按照所述各维度的优先级从高到低的顺序,对同一维度的宿主机按照优先级值从大到小的顺序进行排序,针对同一维度的优先级值相同的宿主机,再按照下一维度的优先级值进行排序,以得到按照优先级从高到低排序的候选宿主机;
按照排序后的候选宿主机的降序,从排序在第一位的候选宿主机开始,逐一扣减待创建的所述虚拟机所需的资源,当在一个候选宿主机上扣减成功时,则将扣减成功的候选宿主机作为所述目标宿主机。
可选地,所述第一确定单元303用于:
根据待创建的所述虚拟机所需的资源数据,确定扣减后所述候选宿主机所剩余的资源数据;
将所述候选宿主机所剩余的资源数据写入用于维护每台宿主机的剩余资源数据的数据库;
当写入成功时,将写入成功的候选宿主机作为所述目标宿主机。
可选地,所述过滤单元302用于:
根据所述第一需求信息和所述第二需求信息,按照依据宿主机的所有属性信息所构建的串式过滤器,控制每个过滤器对所述多台宿主机进行相应的过滤,以得到至少一台满足所述第一需求信息和所述第二需求信息的候选宿主机。
可选地,所述第一需求信息包括待创建的所述虚拟机所需的处理器的信息、内存的信息和磁盘的信息;
所述第二需求信息包括待创建的所述虚拟机对固态硬盘、云盘、私有网络、网卡、路由器、网络结构、数据中心、机架、宿主机的机型、宿主机所属资源池,以及虚拟化类型中的至少一个的需求信息。
另外,当所述虚拟机创建请求有多个时,所述多个创建虚拟机的装置,并行执行多个所述虚拟机创建请求,为每个虚拟机创建请求创建对应的虚拟机。
以上所提供的创建虚拟机的装置可以参阅图1至图6部分的描述进行理解,本处不再重复赘述。
图9是本发明实施例提供的控制设备60的结构示意图。所述控制设备60包括处理器610、存储器650和收发器630,存储器650可以包括只读存储器和随机存取存储器,并向处理器610提供操作指令和数据。存储器650的一部分还可以包括非易失性随机存取存储器(NVRAM)。
在一些实施方式中,存储器650存储了如下的元素,可执行模块或者数据结构,或者他们的子集,或者他们的扩展集:
在本发明实施例中,通过调用存储器650存储的操作指令(该操作指令可存储在操作系统中),
通过收发器630接收虚拟机创建请求,所述虚拟机创建请求包括待创建的虚拟机的第一需求信息和第二需求信息,所述第一需求信息为资源需求信息;
根据所述第一需求信息、所述第二需求信息,以及每台宿主机的属性信息,对所述多台宿主机进行过滤,以得到至少一台候选宿主机;
从所述至少一台候选宿主机中确定一台目标宿主机,并在所述目标宿主机上创建所述虚拟机。
与现有技术中只考虑宿主机所能提供的硬件资源,不再考虑宿主机的其他方面的信息相比,本发明实施例提供的控制设备,不仅考虑了宿主机能为待创建的虚拟机所能提供的硬件资源,还考虑了待创建的虚拟机其他方面的需求信息,从多个方面为待创建的虚拟机选择宿主机,从而提高了虚拟机创建的成功率。
处理器610控制控制设备60的操作,处理器610还可以称为CPU(CentralProcessing Unit,中央处理单元)。存储器650可以包括只读存储器和随机存取存储器,并向处理器610提供指令和数据。存储器650的一部分还可以包括非易失性随机存取存储器(NVRAM)。具体的应用中控制设备60的各个组件通过总线系统620耦合在一起,其中总线系统620除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都标为总线系统620。
上述本发明实施例揭示的方法可以应用于处理器610中,或者由处理器610实现。处理器610可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器610中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器610可以是通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器650,处理器610读取存储器650中的信息,结合其硬件完成上述方法的步骤。
可选地,处理器610还用于:
确定每台候选宿主机各维度的优先级值;
根据所述各维度的优先级值,从所述至少一台候选宿主机中确定一台符合度最高的候选宿主机作为所述目标宿主机。
可选地,处理器610用于:
按照所述各维度的优先级从高到低的顺序,对同一维度的宿主机按照优先级值从大到小的顺序进行排序,针对同一维度的优先级值相同的宿主机,再按照下一维度的优先级值进行排序,以得到按照优先级从高到低排序的候选宿主机;
按照排序后的候选宿主机的降序,从排序在第一位的候选宿主机开始,逐一扣减待创建的所述虚拟机所需的资源,当在一个候选宿主机上扣减成功时,则将扣减成功的候选宿主机作为所述目标宿主机。
可选地,处理器610用于:
根据待创建的所述虚拟机所需的资源数据,确定扣减后所述候选宿主机所剩余的资源数据;
将所述候选宿主机所剩余的资源数据写入用于维护每台宿主机的剩余资源数据的数据库;
当写入成功时,将写入成功的候选宿主机作为所述目标宿主机。
可选地,处理器610用于:
根据所述第一需求信息和所述第二需求信息,按照依据宿主机的所有属性信息所构建的串式过滤器,控制每个过滤器对所述多台宿主机进行相应的过滤,以得到至少一台满足所述第一需求信息和所述第二需求信息的候选宿主机。
可选地,所述第一需求信息包括待创建的所述虚拟机所需的处理器的信息、内存的信息和磁盘的信息;
所述第二需求信息包括待创建的所述虚拟机对固态硬盘、云盘、私有网络、网卡、路由器、网络结构、数据中心、机架、宿主机的机型、宿主机所属资源池,以及虚拟化类型中的至少一个的需求信息。
可选地,处理器610用于:当所述虚拟机创建请求有多个时,并行执行多个所述虚拟机创建请求,为每个虚拟机创建请求创建对应的虚拟机。
以上的控制设备60可以参阅图1至图6部分的描述进行理解,本处不做过多赘述。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:ROM、RAM、磁盘或光盘等。
以上对本发明实施例所提供的创建虚拟机的方法、装置以及系统进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (15)

1.一种创建虚拟机的方法,其特征在于,所述方法应用于云计算系统,所述云计算系统包括控制设备和多台宿主机,所述方法包括:
所述控制设备接收虚拟机创建请求,所述虚拟机创建请求包括待创建的虚拟机的第一需求信息和第二需求信息,所述第一需求信息为资源需求信息;
所述控制设备根据所述第一需求信息、所述第二需求信息,以及每台宿主机的属性信息,对所述多台宿主机进行过滤,以得到至少一台候选宿主机;
所述控制设备从所述至少一台候选宿主机中确定一台目标宿主机,并在所述目标宿主机上创建所述虚拟机。
2.根据权利要求1所述的方法,其特征在于,所述对所述多台宿主机进行过滤,以得到至少一个候选宿主机之后,所述方法还包括:
所述控制设备确定每台候选宿主机各维度的优先级值;
所述控制设备从所述至少一台候选宿主机中确定一台目标宿主机,包括:
所述控制设备根据所述各维度的优先级值,从所述至少一台候选宿主机中确定一台符合度最高的候选宿主机作为所述目标宿主机。
3.根据权利要求2所述的方法,其特征在于,所述控制设备根据所述各维度的优先级值,从所述至少一台候选宿主机中确定一台符合度最高的候选宿主机作为所述目标宿主机,包括:
所述控制设备按照所述各维度的优先级从高到低的顺序,对同一维度的宿主机按照优先级值从大到小的顺序进行排序,针对同一维度的优先级值相同的宿主机,再按照下一维度的优先级值进行排序,以得到按照优先级从高到低排序的候选宿主机;
所述控制设备按照排序后的候选宿主机的降序,从排序在第一位的候选宿主机开始,逐一扣减待创建的所述虚拟机所需的资源,当在一个候选宿主机上扣减成功时,则将扣减成功的候选宿主机作为所述目标宿主机。
4.根据权利要求3所述的方法,其特征在于,所述从排序在第一位的候选宿主机开始,逐一扣减待创建的所述虚拟机所需的资源,当在一个候选宿主机上扣减成功时,则将扣减成功的候选宿主机作为所述目标宿主机,包括:
所述控制设备根据待创建的所述虚拟机所需的资源数据,确定扣减后所述候选宿主机所剩余的资源数据;
所述控制设备将所述候选宿主机所剩余的资源数据写入用于维护每台宿主机的剩余资源数据的数据库;
当写入成功时,则所述控制设备将写入成功的候选宿主机作为所述目标宿主机。
5.根据权利要求1-4任一所述的方法,其特征在于,所述控制设备根据所述第一需求信息、所述第二需求信息和每台宿主机的属性信息,对所述多台宿主机进行过滤,以得到至少一台候选宿主机,包括:
所述控制设备根据所述第一需求信息和所述第二需求信息,按照依据宿主机的所有属性信息所构建的串式过滤器,控制每个过滤器对所述多台宿主机进行相应的过滤,以得到至少一台满足所述第一需求信息和所述第二需求信息的候选宿主机。
6.根据权利要求5所述的方法,其特征在于,
所述第一需求信息包括待创建的所述虚拟机所需的处理器的信息、内存的信息和磁盘的信息;
所述第二需求信息包括待创建的所述虚拟机对固态硬盘、云盘、私有网络、网卡、路由器、网络结构、数据中心、机架、宿主机的机型、宿主机所属资源池,以及虚拟化类型中的至少一个的需求信息。
7.根据权利要求1-4任一所述的方法,其特征在于,当所述虚拟机创建请求有多个时,所述控制设备并行执行多个所述虚拟机创建请求,为每个虚拟机创建请求创建对应的虚拟机。
8.一种创建虚拟机的装置,其特征在于,所述装置应用于云计算系统的控制设备,所述云计算系统还包括多台宿主机,所述装置包括:
接收单元,用于接收虚拟机创建请求,所述虚拟机创建请求包括待创建的虚拟机的第一需求信息和第二需求信息,所述第一需求信息为资源需求信息;
过滤单元,用于根据所述接收单元接收的所述第一需求信息、所述第二需求信息,以及每台宿主机的属性信息,对所述多台宿主机进行过滤,以得到至少一台候选宿主机;
第一确定单元,用于从所述过滤单元过滤的至少一台候选宿主机中确定一台目标宿主机;
虚拟机创建单元,用于在所述第一确定单元确定的所述目标宿主机上创建所述虚拟机。
9.根据权利要求8所述的装置,其特征在于,所述装置还包括第二确定单元,
所述第二确定单元,用于在所述过滤单元过滤得到至少一个候选宿主机之后,确定每台候选宿主机各维度的优先级值;
所述第一确定单元,用于根据所述第二确定单元确定的各维度的优先级值,从所述至少一台候选宿主机中确定一台符合度最高的候选宿主机作为所述目标宿主机。
10.根据权利要求9所述的装置,其特征在于,
所述第一确定单元用于:
按照所述各维度的优先级从高到低的顺序,对同一维度的宿主机按照优先级值从大到小的顺序进行排序,针对同一维度的优先级值相同的宿主机,再按照下一维度的优先级值进行排序,以得到按照优先级从高到低排序的候选宿主机;
按照排序后的候选宿主机的降序,从排序在第一位的候选宿主机开始,逐一扣减待创建的所述虚拟机所需的资源,当在一个候选宿主机上扣减成功时,则将扣减成功的候选宿主机作为所述目标宿主机。
11.根据权利要求10所述的装置,其特征在于,
所述第一确定单元用于:
根据待创建的所述虚拟机所需的资源数据,确定扣减后所述候选宿主机所剩余的资源数据;
将所述候选宿主机所剩余的资源数据写入用于维护每台宿主机的剩余资源数据的数据库;
当写入成功时,将写入成功的候选宿主机作为所述目标宿主机。
12.根据权利要求8-11任一所述的装置,其特征在于,
所述过滤单元用于:
根据所述第一需求信息和所述第二需求信息,按照依据宿主机的所有属性信息所构建的串式过滤器,控制每个过滤器对所述多台宿主机进行相应的过滤,以得到至少一台满足所述第一需求信息和所述第二需求信息的候选宿主机。
13.根据权利要求12所述的装置,其特征在于,
所述第一需求信息包括待创建的所述虚拟机所需的处理器的信息、内存的信息和磁盘的信息;
所述第二需求信息包括待创建的所述虚拟机对固态硬盘、云盘、私有网络、网卡、路由器、网络结构、数据中心、机架、宿主机的机型、宿主机所属资源池,以及虚拟化类型中的至少一个的需求信息。
14.一种控制设备,其特征在于,所述控制设备包括多个如权利要求8-13任一所述的创建虚拟机的装置;
当所述虚拟机创建请求有多个时,所述多个创建虚拟机的装置,并行执行多个所述虚拟机创建请求,为每个虚拟机创建请求创建对应的虚拟机。
15.一种云计算系统,其特征在于,包括控制设备和多台宿主机,
所述控制设备为权利要求14所述的控制设备。
CN201610539385.8A 2016-07-07 2016-07-07 一种创建虚拟机的方法、装置及系统 Pending CN106020937A (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201610539385.8A CN106020937A (zh) 2016-07-07 2016-07-07 一种创建虚拟机的方法、装置及系统
PCT/CN2017/092197 WO2018006864A1 (zh) 2016-07-07 2017-07-07 创建虚拟机的方法、装置及系统、控制设备和存储介质
US15/962,678 US10642641B2 (en) 2016-07-07 2018-04-25 Method, apparatus, and system for creating virtual machine, control device, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610539385.8A CN106020937A (zh) 2016-07-07 2016-07-07 一种创建虚拟机的方法、装置及系统

Publications (1)

Publication Number Publication Date
CN106020937A true CN106020937A (zh) 2016-10-12

Family

ID=57109912

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610539385.8A Pending CN106020937A (zh) 2016-07-07 2016-07-07 一种创建虚拟机的方法、装置及系统

Country Status (3)

Country Link
US (1) US10642641B2 (zh)
CN (1) CN106020937A (zh)
WO (1) WO2018006864A1 (zh)

Cited By (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107018175A (zh) * 2017-01-11 2017-08-04 杨立群 移动云计算平台的调度方法和装置
CN107203411A (zh) * 2017-04-18 2017-09-26 中国科学院计算技术研究所 一种基于远程ssd的虚拟机内存扩展方法及系统
CN107273468A (zh) * 2017-06-06 2017-10-20 腾讯科技(深圳)有限公司 一种数据库数据处理方法、装置及终端
CN107368355A (zh) * 2017-08-17 2017-11-21 北京云纵信息技术有限公司 虚拟机的动态调度方法和装置
WO2018006864A1 (zh) * 2016-07-07 2018-01-11 腾讯科技(深圳)有限公司 创建虚拟机的方法、装置及系统、控制设备和存储介质
CN107643939A (zh) * 2017-09-14 2018-01-30 郑州云海信息技术有限公司 一种分配虚拟机的方法及系统
WO2018090606A1 (zh) * 2016-11-21 2018-05-24 华为技术有限公司 数据存储方法及装置
CN108170508A (zh) * 2017-12-12 2018-06-15 顺丰科技有限公司 批量创建虚拟机的方法、装置、设备及其存储介质
CN108337109A (zh) * 2017-12-28 2018-07-27 中兴通讯股份有限公司 一种资源分配方法及装置和资源分配系统
CN108614727A (zh) * 2018-03-23 2018-10-02 华为技术有限公司 一种虚拟机创建方法及装置
CN108833592A (zh) * 2018-07-13 2018-11-16 无锡华云数据技术服务有限公司 云主机调度器优化方法、装置、设备及存储介质
CN109388478A (zh) * 2018-11-01 2019-02-26 郑州云海信息技术有限公司 用于OpenStack环境中迁移虚拟机的方法和装置
CN109460287A (zh) * 2018-11-14 2019-03-12 携程旅游信息技术(上海)有限公司 资源混合调度的控制方法及系统
CN109558214A (zh) * 2018-12-05 2019-04-02 腾讯科技(深圳)有限公司 异构环境下宿主机资源管理方法、装置和存储介质
WO2019062699A1 (zh) * 2017-09-29 2019-04-04 腾讯科技(深圳)有限公司 资源调度方法、调度服务器、云计算系统及存储介质
CN110750330A (zh) * 2019-10-18 2020-02-04 北京浪潮数据技术有限公司 一种虚拟机创建方法、系统、电子设备及存储介质
WO2020034646A1 (zh) * 2018-08-17 2020-02-20 华为技术有限公司 一种资源调度方法及装置
CN111198749A (zh) * 2020-01-06 2020-05-26 紫光云技术有限公司 一种提高创建虚拟机物理节点调度效率的方法
CN111324415A (zh) * 2019-10-28 2020-06-23 烽火通信科技股份有限公司 一种虚拟机镜像缓存创建方法、系统及计算机可读介质
CN111813459A (zh) * 2016-11-09 2020-10-23 华为技术有限公司 一种加速器加载方法、系统和加速器加载装置
CN111949384A (zh) * 2019-05-14 2020-11-17 龙芯中科技术有限公司 任务调度方法、装置、设备及计算机可读存储介质
CN112579258A (zh) * 2020-12-14 2021-03-30 科东(广州)软件科技有限公司 一种虚拟机的管理方法、装置、设备及存储介质
CN112732401A (zh) * 2020-12-29 2021-04-30 深圳前海微众银行股份有限公司 虚拟机资源分配方法、系统、设备及介质
CN112882820A (zh) * 2019-11-29 2021-06-01 北京百度网讯科技有限公司 用于配置资源的方法及装置
CN113076171A (zh) * 2020-01-03 2021-07-06 阿里巴巴集团控股有限公司 虚拟机装机方法及装置
CN113608833A (zh) * 2021-07-19 2021-11-05 曙光信息产业(北京)有限公司 虚拟机创建方法、装置、计算机设备和存储介质
CN115454576A (zh) * 2022-09-29 2022-12-09 安超云软件有限公司 一种虚拟机进程管理方法、系统及电子设备

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108399101B (zh) * 2017-02-06 2021-03-16 腾讯科技(深圳)有限公司 资源调度的方法、装置和系统
CN108984266B (zh) * 2018-06-15 2021-09-03 华为技术有限公司 一种虚拟机的管理方法、装置及系统
CN110730205B (zh) * 2019-09-06 2023-06-20 深圳平安通信科技有限公司 集群系统部署的方法、装置、计算机设备和存储介质
CN110750331B (zh) * 2019-10-21 2023-06-09 北京华育兴业科技有限公司 一种针对教育桌面云应用的容器集群调度方法及平台
CN111078354A (zh) * 2019-11-22 2020-04-28 紫光云技术有限公司 一种云计算领域快速调度方法
CN111190691A (zh) * 2019-12-25 2020-05-22 中国建设银行股份有限公司 适用于虚拟机的自动迁移方法、系统、装置及存储介质
US10970127B1 (en) * 2020-02-11 2021-04-06 Verizon Patent And Licensing Inc. Systems and methods for virtual machine resource optimization using machine learning techniques
US11948010B2 (en) * 2020-10-12 2024-04-02 International Business Machines Corporation Tag-driven scheduling of computing resources for function execution
CN113992511B (zh) * 2021-10-19 2024-06-18 京东科技信息技术有限公司 云主机创建方法、装置、电子设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103164283A (zh) * 2012-05-10 2013-06-19 上海兆民云计算科技有限公司 一种虚拟桌面系统中虚拟化资源动态调度管理方法及系统
CN103885831A (zh) * 2012-12-19 2014-06-25 中国电信股份有限公司 虚拟机宿主机的选择方法与装置
CN104793982A (zh) * 2014-01-20 2015-07-22 联想(北京)有限公司 一种创建虚拟机的方法和设备

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080089338A1 (en) * 2006-10-13 2008-04-17 Robert Campbell Methods for remotely creating and managing virtual machines
CN103176847A (zh) * 2011-12-26 2013-06-26 英业达集团(天津)电子技术有限公司 虚拟机的分配方法
CN102929701B (zh) * 2012-10-17 2015-04-29 北京搜狐新媒体信息技术有限公司 一种批量虚拟机的调度方法及装置
CN102946413B (zh) * 2012-10-17 2015-07-08 北京搜狐新媒体信息技术有限公司 虚拟机调度和执行部署过程中的资源预处理方法及系统
US8923320B2 (en) * 2012-12-10 2014-12-30 Dell Products L.P. Systems and methods for automating virtual network interface controller configuration during workload provisioning
US10613887B2 (en) * 2015-10-21 2020-04-07 International Business Machines Corporation Ordering optimization of host machines in a computing environment based on policies
US10146439B2 (en) * 2016-04-13 2018-12-04 Samsung Electronics Co., Ltd. System and method for high performance lockless scalable target
CN106020937A (zh) * 2016-07-07 2016-10-12 腾讯科技(深圳)有限公司 一种创建虚拟机的方法、装置及系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103164283A (zh) * 2012-05-10 2013-06-19 上海兆民云计算科技有限公司 一种虚拟桌面系统中虚拟化资源动态调度管理方法及系统
CN103885831A (zh) * 2012-12-19 2014-06-25 中国电信股份有限公司 虚拟机宿主机的选择方法与装置
CN104793982A (zh) * 2014-01-20 2015-07-22 联想(北京)有限公司 一种创建虚拟机的方法和设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
王雪菲: ""基于维度偏好的Skyline查询结果精简算法"", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *

Cited By (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018006864A1 (zh) * 2016-07-07 2018-01-11 腾讯科技(深圳)有限公司 创建虚拟机的方法、装置及系统、控制设备和存储介质
US10642641B2 (en) 2016-07-07 2020-05-05 Tencent Technology (Shenzhen) Company Limited Method, apparatus, and system for creating virtual machine, control device, and storage medium
CN111813459A (zh) * 2016-11-09 2020-10-23 华为技术有限公司 一种加速器加载方法、系统和加速器加载装置
US11036535B2 (en) 2016-11-21 2021-06-15 Huawei Technologies Co., Ltd. Data storage method and apparatus
WO2018090606A1 (zh) * 2016-11-21 2018-05-24 华为技术有限公司 数据存储方法及装置
WO2018130163A1 (zh) * 2017-01-11 2018-07-19 杨立群 移动云计算平台的调度方法和装置
CN107018175A (zh) * 2017-01-11 2017-08-04 杨立群 移动云计算平台的调度方法和装置
CN107203411A (zh) * 2017-04-18 2017-09-26 中国科学院计算技术研究所 一种基于远程ssd的虚拟机内存扩展方法及系统
CN107203411B (zh) * 2017-04-18 2020-02-28 中国科学院计算技术研究所 一种基于远程ssd的虚拟机内存扩展方法及系统
CN107273468A (zh) * 2017-06-06 2017-10-20 腾讯科技(深圳)有限公司 一种数据库数据处理方法、装置及终端
CN107368355A (zh) * 2017-08-17 2017-11-21 北京云纵信息技术有限公司 虚拟机的动态调度方法和装置
CN107368355B (zh) * 2017-08-17 2020-05-15 北京云纵信息技术有限公司 虚拟机的动态调度方法和装置
CN107643939A (zh) * 2017-09-14 2018-01-30 郑州云海信息技术有限公司 一种分配虚拟机的方法及系统
KR102281739B1 (ko) 2017-09-29 2021-07-27 텐센트 테크놀로지(센젠) 컴퍼니 리미티드 리소스 스케줄링 방법, 스케줄링 서버, 클라우드 컴퓨팅 시스템, 및 저장 매체
CN109582433B (zh) * 2017-09-29 2022-02-01 腾讯科技(深圳)有限公司 一种资源调度方法、装置、云计算系统及存储介质
WO2019062699A1 (zh) * 2017-09-29 2019-04-04 腾讯科技(深圳)有限公司 资源调度方法、调度服务器、云计算系统及存储介质
CN109582433A (zh) * 2017-09-29 2019-04-05 腾讯科技(深圳)有限公司 一种资源调度方法、装置、云计算系统及存储介质
EP3690648A4 (en) * 2017-09-29 2020-12-09 Tencent Technology (Shenzhen) Company Limited RESOURCE PLANNING PROCESS, PLANNING SERVER, CLOUD COMPUTER SYSTEM AND STORAGE MEDIUM
US11372688B2 (en) 2017-09-29 2022-06-28 Tencent Technology (Shenzhen) Company Limited Resource scheduling method, scheduling server, cloud computing system, and storage medium
KR20200061393A (ko) * 2017-09-29 2020-06-02 텐센트 테크놀로지(센젠) 컴퍼니 리미티드 리소스 스케줄링 방법, 스케줄링 서버, 클라우드 컴퓨팅 시스템, 및 저장 매체
CN108170508A (zh) * 2017-12-12 2018-06-15 顺丰科技有限公司 批量创建虚拟机的方法、装置、设备及其存储介质
CN108337109A (zh) * 2017-12-28 2018-07-27 中兴通讯股份有限公司 一种资源分配方法及装置和资源分配系统
CN108614727A (zh) * 2018-03-23 2018-10-02 华为技术有限公司 一种虚拟机创建方法及装置
CN108614727B (zh) * 2018-03-23 2021-04-20 华为技术有限公司 一种虚拟机创建方法及装置
CN108833592A (zh) * 2018-07-13 2018-11-16 无锡华云数据技术服务有限公司 云主机调度器优化方法、装置、设备及存储介质
WO2020034646A1 (zh) * 2018-08-17 2020-02-20 华为技术有限公司 一种资源调度方法及装置
CN109388478A (zh) * 2018-11-01 2019-02-26 郑州云海信息技术有限公司 用于OpenStack环境中迁移虚拟机的方法和装置
CN109460287A (zh) * 2018-11-14 2019-03-12 携程旅游信息技术(上海)有限公司 资源混合调度的控制方法及系统
CN109558214A (zh) * 2018-12-05 2019-04-02 腾讯科技(深圳)有限公司 异构环境下宿主机资源管理方法、装置和存储介质
CN111949384A (zh) * 2019-05-14 2020-11-17 龙芯中科技术有限公司 任务调度方法、装置、设备及计算机可读存储介质
CN111949384B (zh) * 2019-05-14 2023-05-02 龙芯中科技术股份有限公司 任务调度方法、装置、设备及计算机可读存储介质
CN110750330A (zh) * 2019-10-18 2020-02-04 北京浪潮数据技术有限公司 一种虚拟机创建方法、系统、电子设备及存储介质
CN111324415A (zh) * 2019-10-28 2020-06-23 烽火通信科技股份有限公司 一种虚拟机镜像缓存创建方法、系统及计算机可读介质
CN112882820A (zh) * 2019-11-29 2021-06-01 北京百度网讯科技有限公司 用于配置资源的方法及装置
CN113076171A (zh) * 2020-01-03 2021-07-06 阿里巴巴集团控股有限公司 虚拟机装机方法及装置
CN113076171B (zh) * 2020-01-03 2023-12-19 阿里巴巴集团控股有限公司 虚拟机装机方法及装置
CN111198749A (zh) * 2020-01-06 2020-05-26 紫光云技术有限公司 一种提高创建虚拟机物理节点调度效率的方法
CN112579258A (zh) * 2020-12-14 2021-03-30 科东(广州)软件科技有限公司 一种虚拟机的管理方法、装置、设备及存储介质
CN112732401A (zh) * 2020-12-29 2021-04-30 深圳前海微众银行股份有限公司 虚拟机资源分配方法、系统、设备及介质
CN113608833A (zh) * 2021-07-19 2021-11-05 曙光信息产业(北京)有限公司 虚拟机创建方法、装置、计算机设备和存储介质
CN115454576A (zh) * 2022-09-29 2022-12-09 安超云软件有限公司 一种虚拟机进程管理方法、系统及电子设备
CN115454576B (zh) * 2022-09-29 2024-02-02 安超云软件有限公司 一种虚拟机进程管理方法、系统及电子设备

Also Published As

Publication number Publication date
US20180239633A1 (en) 2018-08-23
US10642641B2 (en) 2020-05-05
WO2018006864A1 (zh) 2018-01-11

Similar Documents

Publication Publication Date Title
CN106020937A (zh) 一种创建虚拟机的方法、装置及系统
US10467048B2 (en) Techniques for virtual machine migration
US20180246751A1 (en) Techniques to select virtual machines for migration
CN109144710A (zh) 资源调度方法、装置及计算机可读存储介质
CN108334396A (zh) 一种数据处理方法和装置、资源组的创建方法和装置
WO2024120205A1 (zh) 一种应用性能优化方法、装置、电子设备及存储介质
CN114138405A (zh) 一种虚拟机创建方法、装置及电子设备和存储介质
CN102937912A (zh) 虚拟机调度方法和设备
CN114168271A (zh) 一种任务调度方法、电子设备及存储介质
CN111953503B (zh) Nfv资源部署编排方法和网络功能虚拟化编排器
CN113391914A (zh) 任务调度方法和装置
CN117311990B (zh) 资源调整方法、装置、电子设备、存储介质及训练平台
CN113535087B (zh) 数据迁移过程中的数据处理方法、服务器及存储系统
CN109582461A (zh) 一种针对Linux容器的资源部署方法及系统
WO2024001755A1 (zh) 服务链分配方法和系统、计算机设备和存储介质
CN109976870A (zh) 虚拟机的创建方法、装置、设备及介质
CN111338803A (zh) 一种线程处理方法和装置
CN114911538A (zh) 一种运行系统的启动方法及计算设备
US9672067B2 (en) Data processing method and system with application-level information awareness
CN113986458A (zh) 容器集合调度方法、装置、设备及存储介质
CN112416517A (zh) 一种虚拟化计算组织控制管理系统及方法
CN116233255B (zh) 调度策略链生成及调度方法及相关设备
CN110297650A (zh) 一种应用程序升级的方法、装置、终端设备及存储介质
CN112363811B (zh) 一种人工智能计算资源调度方法及计算机可读存储介质
CN118057314A (zh) 一种资源处理方法、装置、设备、存储介质及程序产品

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20161012

RJ01 Rejection of invention patent application after publication