CN107479950B - 一种虚拟机调度方法、设备及系统 - Google Patents

一种虚拟机调度方法、设备及系统 Download PDF

Info

Publication number
CN107479950B
CN107479950B CN201610405015.5A CN201610405015A CN107479950B CN 107479950 B CN107479950 B CN 107479950B CN 201610405015 A CN201610405015 A CN 201610405015A CN 107479950 B CN107479950 B CN 107479950B
Authority
CN
China
Prior art keywords
virtual machine
host
disk
space
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
CN201610405015.5A
Other languages
English (en)
Other versions
CN107479950A (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.)
Alibaba Cloud Computing Ltd
Original Assignee
Alibaba Group Holding 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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201610405015.5A priority Critical patent/CN107479950B/zh
Priority to PCT/US2017/036423 priority patent/WO2017214319A1/en
Priority to EP17810970.8A priority patent/EP3469481A4/en
Priority to US15/616,774 priority patent/US20170357537A1/en
Publication of CN107479950A publication Critical patent/CN107479950A/zh
Application granted granted Critical
Publication of CN107479950B publication Critical patent/CN107479950B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/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/5044Allocation 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 hardware capabilities
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0605Improving or facilitating administration, e.g. storage management by facilitating the interaction with a user or administrator
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0653Monitoring storage devices or systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0662Virtualisation aspects
    • G06F3/0665Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • 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
    • 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
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/501Performance criteria

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Stored Programmes (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

本申请公开了一种虚拟机调度方法、设备及系统。所述方法包括:在主机池中选择宿主机的性能参数满足预设的待调度的虚拟机的分配条件的一个或多个宿主机;判断宿主机的各个磁盘块的可用空间是否大于或等于待调度的虚拟机上挂载的虚拟机磁盘的空间,过滤出磁盘块的可用空间大于或等于虚拟机磁盘的空间的宿主机;从磁盘块的可用空间大于或等于虚拟机磁盘的空间的宿主机中选择一个宿主机作为可用宿主机,将待调度的虚拟机分配至可用宿主机并将待调度的虚拟机上挂载的虚拟机磁盘创建到可用宿主机对应的磁盘块上。本申请采用无RAID卡的多磁盘块结构,由调度系统分别调度宿主机及其磁盘块,从而提高创建的虚拟机磁盘的IOPS能力,同时也降低了成本。

Description

一种虚拟机调度方法、设备及系统
技术领域
本申请涉及网络技术领域,尤其涉及一种虚拟机调度方法、设备及系统。
背景技术
目前,业内计算机设备上的本地磁盘都使用磁盘阵列(Redundant Array OfIndependent Disks,RAID),如RAID卡结构。在宿主机(Node Control,NC)上创建虚拟机(Virtual Machine,VM)的过程中,虚拟机调度系统需要通过调度将虚拟机分配到宿主机(即本地计算机设备)上。在对虚拟机进行调度时,由于宿主机使用的是RAID卡结构,因此对于虚拟机调度系统来说,一台宿主机上只有一个磁盘块,调度选择宿主机的时候只需要考虑宿主机整体的性能,例如CPU、内存(Memory)和磁盘的可用资源是否充足。
目前,业内通用的虚拟机调度方法如下:基于预设的过滤条件,对主机池内的宿主机进行过滤,主要的过滤条件包括CPU、内存和磁盘的资源是否足够用来分配虚拟机及挂载到虚拟机上的磁盘,选出一个或多个符合条件的宿主机;然后,根据权重算法计算出符合条件的宿主机的权重值,按照权重值由高到低的顺序对这些宿主机进行排序,权重值越高说明其对应的宿主机越优;选择一个权重值排在前(例如权重值最高的)宿主机用来创建虚拟机及其挂载的虚拟机磁盘。
由于RAID卡结构对于虚拟机调度系统来说是一个整体的磁盘块,总的每秒进行读写(I/O)操作的次数(Input/Output Operations Per Second,IOPS)受限于RAID卡,并且RAID卡比较贵,从而成本比较高。
发明内容
为了解决上述技术问题,本申请提供了一种虚拟机调度方法及系统,能够提高本地计算机设备的IOPS能力,且降低了设备成本。
本申请提供了一种虚拟机调度方法,包括:
在主机池中选择宿主机的性能参数满足预设的待调度的虚拟机的分配条件的一个或多个宿主机;
判断所述宿主机的各个磁盘块的可用空间是否大于或等于所述待调度的虚拟机上挂载的虚拟机磁盘的空间,过滤出所述磁盘块的可用空间大于或等于所述虚拟机磁盘的空间的宿主机;
从所述磁盘块的可用空间大于或等于所述虚拟机磁盘的空间的宿主机中选择一个宿主机作为可用宿主机,将所述待调度的虚拟机分配至所述可用宿主机并将所述待调度的虚拟机上挂载的虚拟机磁盘创建到所述可用宿主机对应的磁盘块上。
其中,所述宿主机的性能参数包括CPU处理能力和内存空间大小;
所述预设的待调度的虚拟机的分配条件包括运行所述待调度的虚拟机所需的宿主机的CPU处理能力和内存空间大小。
其中,所述待调度的虚拟机仅挂载一个虚拟机磁盘,则,所述判断所述宿主机的各个磁盘块的可用空间是否大于或等于所述待调度的虚拟机上挂载的虚拟机磁盘的空间,过滤出所述磁盘块的可用空间大于或等于所述虚拟机磁盘的空间的宿主机,包括:判断所述宿主机的多个磁盘块中是否包括可用空间大于或等于所述待调度的虚拟机所挂载的一个虚拟机磁盘的空间的磁盘块,如果包括,则过滤出该宿主机。
其中,所述待调度的虚拟机挂载两个或两个以上虚拟机磁盘,则,所述判断所述宿主机的各个磁盘块的可用空间是否大于或等于所述待调度的虚拟机上挂载的虚拟机磁盘的空间,过滤出所述磁盘块的可用空间大于或等于所述虚拟机磁盘的空间的宿主机,包括:
比较所述虚拟机磁盘的个数和所述宿主机中的磁盘块的个数,除去所述磁盘块的个数小于所述虚拟机磁盘的个数的宿主机;
将所述虚拟机磁盘的空间和比较后剩余的所述宿主机的磁盘块的可用空间分别按照从大到小的顺序排序;
判断排序后对应位置处的所述磁盘块的可用空间是否大于或等于所述虚拟机磁盘的空间;
过滤出对应位置处的所述磁盘块的可用空间均大于或等于所述虚拟机磁盘的空间的宿主机。
其中,所述从所述磁盘块的可用空间大于或等于所述虚拟机磁盘的空间的宿主机中选择一个宿主机作为可用宿主机,包括:
通过权重算法计算所述磁盘块的可用空间大于或等于所述虚拟机磁盘的空间的所述宿主机中的各个磁盘块的可用空间的第一权重值;
通过所述权重算法计算所述宿主机的性能参数的第二权重值;
选择所述第一权重值和所述第二权重值相加结果最大的宿主机作为可用宿主机。
本申请还提供了一种虚拟机调度设备,包括:
第一过滤单元,用于在主机池中选择宿主机的性能参数满足预设的待调度的虚拟机的分配条件的一个或多个宿主机;
判断单元,用于判断所述宿主机的各个磁盘块的可用空间是否大于或等于所述待调度的虚拟机上挂载的虚拟机磁盘的空间;
第二过滤单元,用于根据所述判断单元的判断结果,过滤出所述磁盘块的可用空间大于或等于所述虚拟机磁盘的空间的宿主机;以及
选择单元,用于从所述磁盘块的可用空间大于或等于所述虚拟机磁盘的空间的宿主机中选择一个宿主机作为可用宿主机,将所述待调度的虚拟机分配至所述可用宿主机并将所述待调度的虚拟机上挂载的虚拟机磁盘创建到所述可用宿主机对应的磁盘块上。
其中,所述宿主机的性能参数包括CPU处理能力和内存空间大小;
所述预设的待调度的虚拟机的分配条件包括运行所述待调度的虚拟机所需的宿主机的CPU处理能力和内存空间大小。
其中,所述待调度的虚拟机仅挂载一个虚拟机磁盘,则,所述判断单元还用于:判断所述可用宿主机的多个磁盘块中是否包括可用空间大于或等于所述待调度的虚拟机所挂载的一个虚拟机磁盘的空间的磁盘块。
其中,所述待调度的虚拟机挂载两个或两个以上虚拟机磁盘,则,所述判断单元包括:
比较模块,用于比较所述虚拟机磁盘的个数和所述宿主机中的磁盘块的个数,除去所述磁盘块的个数小于所述虚拟机磁盘的个数的宿主机,
排序模块,用于将所述虚拟机磁盘的空间和比较后剩余的所述宿主机的磁盘块的可用空间分别按照从大到小的顺序排序,以及
判断模块,用于判断排序后对应位置处的所述磁盘块的可用空间是否大于或等于所述虚拟机磁盘的空间;
所述第二过滤单元还用于,过滤出对应位置处的所述磁盘块的可用空间均大于或等于所述虚拟机磁盘的空间的宿主机。
其中,所述选择单元包括:
第一权重计算模块,用于通过权重算法计算所述磁盘块的可用空间大于或等于所述虚拟机磁盘的空间的所述宿主机中的各个磁盘块的可用空间的第一权重值;
第二权重计算模块,用于通过所述权重算法计算所述宿主机的性能参数的第二权重值;以及
权重选择模块,用于选择所述第一权重值和所述第二权重值相加结果最大的宿主机作为可用宿主机。
本申请还提供了一种虚拟机调度系统,包括如上所述的虚拟机调度系统、多个宿主机以及多个虚拟机,其中,一个宿主机包括多个磁盘块,一个虚拟机挂载一个或多个虚拟机磁盘。
本申请提供的虚拟机调度方法及系统,采用无RAID卡的多磁盘块结构,由调度系统分别调度宿主机及其中的多个磁盘块,从而提高创建的虚拟机磁盘的IOPS能力,同时也降低了成本。
本申请提供的虚拟机调度方法及系统,还通过权重算法,使得虚拟机及虚拟机磁盘均衡地分配到宿主机上。
本申请的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请而了解。本申请的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
附图说明
附图用来提供对本申请技术方案的进一步理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本申请的技术方案,并不构成对本申请技术方案的限制。
图1为本申请的虚拟机调度方法的实施例的流程图;
图2为本申请的虚拟机调度系统的结构示意图;
图3为本申请的虚拟机调度设备的实施例一的结构示意图;
图4为本申请的虚拟机调度设备的实施例二的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚明白,下文中将结合附图对本申请的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本申请的主要思想包括:提供一种虚拟机调度方法及系统,通过先调度选择性能参数满足条件的宿主机,再对每个宿主机中包括的多个磁盘块进行调度选择,最后再结合两层调度选择的结果确定可用于创建虚拟机及虚拟机磁盘的宿主机。
在本申请的实施方式中,虚拟机调度系统在创建虚拟机(VM)时,需要调度分配虚拟机到具体的宿主机(NC)上。本地磁盘块(DEVICE)可以是宿主机上的本地磁盘介质(如SSD磁盘),存储着运行在其上的VM的所有数据。虚拟机磁盘(DISK)可以是虚拟机上挂载的磁盘。
图1为本申请的虚拟机调度方法的实施例的流程图。如图1所示,包括如下步骤:
步骤101、在主机池中选择宿主机的性能参数满足预设的待调度的虚拟机的分配条件的一个或多个宿主机;
步骤102、判断所述宿主机的各个磁盘块的可用空间是否大于或等于所述待调度的虚拟机上挂载的虚拟机磁盘的空间,过滤出所述磁盘块的可用空间大于或等于所述虚拟机磁盘的空间的宿主机;
步骤103、从所述磁盘块的可用空间大于或等于所述虚拟机磁盘的空间的宿主机中选择一个宿主机作为可用宿主机,将所述待调度的虚拟机分配至所述可用宿主机并将所述待调度的虚拟机上挂载的虚拟机磁盘创建到所述可用宿主机对应的磁盘块上。
在本实施例中,由于一台宿主机中包括多个磁盘块,因此,需要先根据宿主机的性能选择满足虚拟机分配条件的一些宿主机,例如目前宿主机的CPU处理能力和内存的可用空间是否足以分配待调度的虚拟机;然后,再根据每台宿主机中的各个磁盘块的可用空间大小判断在宿主机的一个或多个磁盘块上是否能够创建虚拟机挂载的虚拟机磁盘,过滤出可以创建虚拟机磁盘的宿主机,再根据一定的规则确定一台宿主机用来分配虚拟机和创建虚拟机磁盘。
本申请提供的虚拟机调度方法及系统,采用无RAID卡的多磁盘块结构,由调度系统调度宿主机及其中的多个磁盘块,从而能够在一台宿主机的多个磁盘块上创建虚拟机磁盘,多个创建有虚拟机磁盘的磁盘块能够同时进行读写操作,提高了虚拟机磁盘的IOPS能力,同时因为无需RAID卡,也降低了成本。
下面通过一实施方式对本申请的虚拟机调度方法进行详细说明。
图2为虚拟机调度系统的结构示意图。如图2所示,虚拟机调度设备(MASTER)100调度3个虚拟机(VM)300到两个或更多个宿主机(NC)200上,其中,一个NC 200上可以有多个磁盘块(DEVICE)210,一个VM 300可以挂载多个磁盘(DISK)310。
(1)MASTER调度挂载DISK1的VM1,假设此时NC1和NC2上均还未分配虚拟机。
MASTER从主机池中选择CPU处理能力和内存空间大小能够满足VM1运行的宿主机,例如选择出NC1和NC2;
该VM1上仅挂载一个DISK1,MASTER根据该DISK1的空间大小判断NC1和NC2中的DEVICE的可用空间是否能够用于创建DISK1,即NC1和NC2中的各个DEVICE的可用空间是否大于或等于DISK1的空间大小,经过判断后,确定NC1的DEVICE1、DEVICE2以及NC2的DEVICE3的可用空间均大于DISK1的空间,可以用来创建DISK1,则过滤出NC1的DEVICE1、DEVICE2以及NC2的DEVICE3;
可以按照宿主机过滤的先后顺序,例如直接选择NC1用于分配VM1,且在NC1的DEVICE1上创建DISK1;或者,还可以基于权重算法计算得到权重值最大的NC用于分配VM,例如,先分别计算DEVICE1、DEVICE2以及DEVICE3的可用空间的第一权重值,然后再根据CPU的利用率和内存可用空间大小计算第二权重值,再将第一权重值和第二权重值结合起来,分配VM1到相加后权重最大的NC1,再比较NC1中DEVICE1和DEVICE2的第一权重值,选择权重最大的DEVICE1创建VM1挂载的DISK1。
(2)MASTER调度挂载DISK4和DISK5的VM3。
MASTER从主机池中选择CPU处理能力和内存空间大小能够满足VM1运行的宿主机,例如选择出NC1、NC2及NC3(未示出);
比较VM3的DISK个数和NC1、NC2及NC3分别包括的DEVICE个数,发现NC3中仅包括1个DEVICE,排除NC3。需要指出的是,这里举例的VM3挂载了两个DISK,如果某一VM上挂载3个DISK,就要选择出DEVICE个数大于或等于3的VM;
将NC1和NC2中DEVICE、VM3中的DISK按照空间大小排序,例如NC1中的DEVICE的可用空间排序后为{DEVICE1,DEVICE2}={260,100},NC2中的DEVICE的可用空间排序后为{DEVICE3,DEVICE4}={320,80},VM3中的DISK排序后为{DISK4,DISK5}={310,60};
判断排序后对应位置处的DEVICE的可用空间是否大于或等于VM3中的DISK的空间;如上举例的空间大小,比较后可知,NC2中的DEVICE3可用于创建VM3挂载的DISK4,并且NC2中的DEVICE4可用于创建VM3挂载的DISK5;
最后,选择NC2分配VM3,并在DEVICE3上创建DISK4、在DEVICE4上创建DISK5;当然,如果上述过滤出多个NC可以用来分配VM3,也可以采用权重算法或其他算法计算出最优的NC来分配VM3,从而使得虚拟机及虚拟机磁盘均衡地分配到宿主机上。
在上述实施方式中,虚拟机调度系统可以将多台虚拟机调度到一台宿主机上,即一台宿主机可以运行多台虚拟机;一个虚拟机磁盘只能创建在一个磁盘块上,不能跨磁盘块创建;并且,虚拟机和虚拟机磁盘块需要创建在同一台宿主机上。
图3为本申请的虚拟机调度设备的实施例一的结构示意图。如图3所示,该设备包括:第一过滤单元301,用于在主机池中选择宿主机的性能参数满足预设的待调度的虚拟机的分配条件的一个或多个宿主机;判断单元302,用于判断由第一过滤单元301选出的所述宿主机的各个磁盘块的可用空间是否大于或等于所述待调度的虚拟机上挂载的虚拟机磁盘的空间;第二过滤单元303,用于根据所述判断单元302的判断结果,过滤出所述磁盘块的可用空间大于或等于所述虚拟机磁盘的空间的宿主机;以及选择单元304,用于从所述磁盘块的可用空间大于或等于所述虚拟机磁盘的空间的宿主机中选择一个宿主机作为可用宿主机,将所述待调度的虚拟机分配至所述可用宿主机并将所述待调度的虚拟机上挂载的虚拟机磁盘创建到所述可用宿主机对应的磁盘块上。
图4为本申请的虚拟机调度设备的实施例二的结构示意图。如图4所示,该虚拟机调度设备包括图3中的第一过滤单元301、判断单元302、第二过滤单元303以及选择单元304。其中所述宿主机的性能参数包括CPU处理能力和内存空间大小;所述预设的待调度的虚拟机的分配条件包括运行所述待调度的虚拟机所需的宿主机的CPU处理能力和内存空间大小。
当所述待调度的虚拟机仅挂载一个虚拟机磁盘,则,所述判断单元302还可以用于:判断所述可用宿主机的多个磁盘块中是否包括可用空间大于或等于所述待调度的虚拟机所挂载的一个虚拟机磁盘的空间的磁盘块。
或者,所述待调度的虚拟机挂载两个或两个以上虚拟机磁盘,则,所述判断单元302可以包括:比较模块401,用于比较所述虚拟机磁盘的个数和所述宿主机中的磁盘块的个数,除去所述磁盘块的个数小于所述虚拟机磁盘的个数的宿主机,排序模块402,用于将所述虚拟机磁盘的空间和比较后剩余的所述宿主机的磁盘块的可用空间分别按照从大到小的顺序排序,以及判断模块403,用于判断排序后对应位置处的所述磁盘块的可用空间是否大于或等于所述虚拟机磁盘的空间。
所述第二过滤单元303还可以用于,过滤出对应位置处的所述磁盘块的可用空间均大于或等于所述虚拟机磁盘的空间的宿主机。
所述选择单元304可以包括:第一权重计算模块404,用于通过权重算法计算所述磁盘块的可用空间大于或等于所述虚拟机磁盘的空间的宿主机中的各个磁盘块的可用空间的第一权重值;第二权重计算模块405,用于通过所述权重算法计算所述宿主机的性能参数的第二权重值;以及权重选择模块406,用于选择所述第一权重值和所述第二权重值相加结果最大的宿主机作为可用宿主机。
本申请提供的虚拟机调度方法及系统,采用无RAID卡的多磁盘块结构,由调度系统分别调度宿主机及其中的多个磁盘块,从而提高创建的虚拟机磁盘的IOPS能力,同时也降低了成本;还可以通过权重算法,使得虚拟机及虚拟机磁盘均衡地分配到宿主机上。
当然,实施本申请的任一产品并不一定需要同时达到以上所述的所有优点。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
虽然本申请所揭露的实施方式如上,但所述的内容仅为便于理解本申请而采用的实施方式,并非用以限定本申请。任何本申请所属领域内的技术人员,在不脱离本申请所揭露的精神和范围的前提下,可以在实施的形式及细节上进行任何的修改与变化,但本申请的专利保护范围,仍须以所附的权利要求书所界定的范围为准。

Claims (11)

1.一种虚拟机调度方法,其特征在于,包括:
在主机池中选择宿主机的性能参数满足预设的待调度的虚拟机的分配条件的一个或多个宿主机;
判断所述宿主机的各个磁盘块的可用空间是否大于或等于所述待调度的虚拟机上挂载的虚拟机磁盘的空间,过滤出所述磁盘块的可用空间大于或等于所述虚拟机磁盘的空间的宿主机;
从所述磁盘块的可用空间大于或等于所述虚拟机磁盘的空间的宿主机中选择一个宿主机作为可用宿主机,将所述待调度的虚拟机分配至所述可用宿主机并将所述待调度的虚拟机上挂载的虚拟机磁盘创建到所述可用宿主机对应的磁盘块上;
其中,所述宿主机采用无RAID卡的多磁盘块结构。
2.根据权利要求1所述的方法,其特征在于,所述宿主机的性能参数包括CPU处理能力和内存空间大小;
所述预设的待调度的虚拟机的分配条件包括运行所述待调度的虚拟机所需的宿主机的CPU处理能力和内存空间大小。
3.根据权利要求1或2所述的方法,其特征在于,所述待调度的虚拟机仅挂载一个虚拟机磁盘,
则,所述判断所述宿主机的各个磁盘块的可用空间是否大于或等于所述待调度的虚拟机上挂载的虚拟机磁盘的空间,过滤出所述磁盘块的可用空间大于或等于所述虚拟机磁盘的空间的宿主机,包括:
判断所述宿主机的多个磁盘块中是否包括可用空间大于或等于所述待调度的虚拟机所挂载的一个虚拟机磁盘的空间的磁盘块,如果包括,则过滤出该宿主机。
4.根据权利要求1或2所述的方法,其特征在于,所述待调度的虚拟机挂载两个或两个以上虚拟机磁盘,
则,所述判断所述宿主机的各个磁盘块的可用空间是否大于或等于所述待调度的虚拟机上挂载的虚拟机磁盘的空间,过滤出所述磁盘块的可用空间大于或等于所述虚拟机磁盘的空间的宿主机,包括:
比较所述虚拟机磁盘的个数和所述宿主机中的磁盘块的个数,除去所述磁盘块的个数小于所述虚拟机磁盘的个数的宿主机;
将所述虚拟机磁盘的空间和比较后剩余的所述宿主机的磁盘块的可用空间分别按照从大到小的顺序排序;
判断排序后对应位置处的所述磁盘块的可用空间是否大于或等于所述虚拟机磁盘的空间;
过滤出对应位置处的所述磁盘块的可用空间均大于或等于所述虚拟机磁盘的空间的宿主机。
5.根据权利要求1或2所述的方法,其特征在于,所述从所述磁盘块的可用空间大于或等于所述虚拟机磁盘的空间的宿主机中选择一个宿主机作为可用宿主机,包括:
通过权重算法计算所述磁盘块的可用空间大于或等于所述虚拟机磁盘的空间的所述宿主机中的各个磁盘块的可用空间的第一权重值;
通过所述权重算法计算所述宿主机的性能参数的第二权重值;
选择所述第一权重值和所述第二权重值相加结果最大的宿主机作为可用宿主机。
6.一种虚拟机调度设备,其特征在于,包括:
第一过滤单元,用于在主机池中选择宿主机的性能参数满足预设的待调度的虚拟机的分配条件的一个或多个宿主机;
判断单元,用于判断所述宿主机的各个磁盘块的可用空间是否大于或等于所述待调度的虚拟机上挂载的虚拟机磁盘的空间;
第二过滤单元,用于根据所述判断单元的判断结果,过滤出所述磁盘块的可用空间大于或等于所述虚拟机磁盘的空间的宿主机;以及
选择单元,用于从所述磁盘块的可用空间大于或等于所述虚拟机磁盘的空间的宿主机中选择一个宿主机作为可用宿主机,将所述待调度的虚拟机分配至所述可用宿主机并将所述待调度的虚拟机上挂载的虚拟机磁盘创建到所述可用宿主机对应的磁盘块上;
其中,所述宿主机采用无RAID卡的多磁盘块结构。
7.根据权利要求6所述的设备,其特征在于,所述宿主机的性能参数包括CPU处理能力和内存空间大小;
所述预设的待调度的虚拟机的分配条件包括运行所述待调度的虚拟机所需的宿主机的CPU处理能力和内存空间大小。
8.根据权利要求6或7所述的设备,其特征在于,所述待调度的虚拟机仅挂载一个虚拟机磁盘,则,所述判断单元还用于:
判断所述可用宿主机的多个磁盘块中是否包括可用空间大于或等于所述待调度的虚拟机所挂载的一个虚拟机磁盘的空间的磁盘块。
9.根据权利要求6或7所述的设备,其特征在于,所述待调度的虚拟机挂载两个或两个以上虚拟机磁盘,则,所述判断单元包括:
比较模块,用于比较所述虚拟机磁盘的个数和所述宿主机中的磁盘块的个数,除去所述磁盘块的个数小于所述虚拟机磁盘的个数的宿主机,
排序模块,用于将所述虚拟机磁盘的空间和比较后剩余的所述宿主机的磁盘块的可用空间分别按照从大到小的顺序排序,以及
判断模块,用于判断排序后对应位置处的所述磁盘块的可用空间是否大于或等于所述虚拟机磁盘的空间;
所述第二过滤单元还用于,过滤出对应位置处的所述磁盘块的可用空间均大于或等于所述虚拟机磁盘的空间的宿主机。
10.根据权利要求6或7所述的设备,其特征在于,所述选择单元包括:
第一权重计算模块,用于通过权重算法计算所述磁盘块的可用空间大于或等于所述虚拟机磁盘的空间的所述宿主机中的各个磁盘块的可用空间的第一权重值;
第二权重计算模块,用于通过所述权重算法计算所述宿主机的性能参数的第二权重值;以及
权重选择模块,用于选择所述第一权重值和所述第二权重值相加结果最大的宿主机作为可用宿主机。
11.一种虚拟机调度系统,其特征在于,包括如权利要求6-10任一项所述的虚拟机调度系统、多个宿主机以及多个虚拟机,其中,一个宿主机包括多个磁盘块,一个虚拟机挂载一个或多个虚拟机磁盘。
CN201610405015.5A 2016-06-08 2016-06-08 一种虚拟机调度方法、设备及系统 Active CN107479950B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201610405015.5A CN107479950B (zh) 2016-06-08 2016-06-08 一种虚拟机调度方法、设备及系统
PCT/US2017/036423 WO2017214319A1 (en) 2016-06-08 2017-06-07 Virtual machine dispatching method, apparatus, and system
EP17810970.8A EP3469481A4 (en) 2016-06-08 2017-06-07 METHOD, APPARATUS AND SYSTEM FOR DISTRIBUTING VIRTUAL MACHINE
US15/616,774 US20170357537A1 (en) 2016-06-08 2017-06-07 Virtual machine dispatching method, apparatus, and system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610405015.5A CN107479950B (zh) 2016-06-08 2016-06-08 一种虚拟机调度方法、设备及系统

Publications (2)

Publication Number Publication Date
CN107479950A CN107479950A (zh) 2017-12-15
CN107479950B true CN107479950B (zh) 2021-03-05

Family

ID=60573854

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610405015.5A Active CN107479950B (zh) 2016-06-08 2016-06-08 一种虚拟机调度方法、设备及系统

Country Status (4)

Country Link
US (1) US20170357537A1 (zh)
EP (1) EP3469481A4 (zh)
CN (1) CN107479950B (zh)
WO (1) WO2017214319A1 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109582433B (zh) * 2017-09-29 2022-02-01 腾讯科技(深圳)有限公司 一种资源调度方法、装置、云计算系统及存储介质
CN109144663B (zh) * 2018-07-13 2020-11-10 新华三云计算技术有限公司 主机优选方法及装置
CN110795203B (zh) * 2018-08-03 2023-05-02 阿里巴巴集团控股有限公司 资源调度方法、装置、系统和计算设备
CN109558214B (zh) * 2018-12-05 2021-06-15 腾讯科技(深圳)有限公司 异构环境下宿主机资源管理方法、装置和存储介质
CN113010269B (zh) * 2021-03-29 2024-02-23 深信服科技股份有限公司 一种虚拟机调度方法、装置、电子设备及可读存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090119529A1 (en) * 2007-11-02 2009-05-07 Hitachi Ltd. Configuration optimization method for a storage system
CN102929701A (zh) * 2012-10-17 2013-02-13 北京搜狐新媒体信息技术有限公司 一种批量虚拟机的调度方法及装置
US20130060919A1 (en) * 2002-04-05 2013-03-07 Vmware, Inc. Provisioning of computer systems using virtual machines
US20130111468A1 (en) * 2011-10-27 2013-05-02 Verizon Patent And Licensing Inc. Virtual machine allocation in a computing on-demand system
CN103999031A (zh) * 2011-11-05 2014-08-20 泽达拉存储公司 云服务器的虚拟私有存储阵列服务
US20140380303A1 (en) * 2013-06-21 2014-12-25 International Business Machines Corporation Storage management for a cluster of integrated computing systems
US20150242231A1 (en) * 2014-02-27 2015-08-27 International Business Machines Corporation Data swap in virtual machine environment

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070271560A1 (en) * 2006-05-18 2007-11-22 Microsoft Corporation Deploying virtual machine to host based on workload characterizations
US20170220365A1 (en) * 2016-01-29 2017-08-03 International Business Machines Corporation Virtual machine allocation to hosts for data centers

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130060919A1 (en) * 2002-04-05 2013-03-07 Vmware, Inc. Provisioning of computer systems using virtual machines
US20090119529A1 (en) * 2007-11-02 2009-05-07 Hitachi Ltd. Configuration optimization method for a storage system
US20130111468A1 (en) * 2011-10-27 2013-05-02 Verizon Patent And Licensing Inc. Virtual machine allocation in a computing on-demand system
CN103999031A (zh) * 2011-11-05 2014-08-20 泽达拉存储公司 云服务器的虚拟私有存储阵列服务
CN102929701A (zh) * 2012-10-17 2013-02-13 北京搜狐新媒体信息技术有限公司 一种批量虚拟机的调度方法及装置
US20140380303A1 (en) * 2013-06-21 2014-12-25 International Business Machines Corporation Storage management for a cluster of integrated computing systems
US20150242231A1 (en) * 2014-02-27 2015-08-27 International Business Machines Corporation Data swap in virtual machine environment

Also Published As

Publication number Publication date
EP3469481A4 (en) 2019-12-04
WO2017214319A1 (en) 2017-12-14
CN107479950A (zh) 2017-12-15
US20170357537A1 (en) 2017-12-14
EP3469481A1 (en) 2019-04-17

Similar Documents

Publication Publication Date Title
CN107479950B (zh) 一种虚拟机调度方法、设备及系统
US20200167184A1 (en) System and Method for Optimizing Placements of Virtual Machines on Hypervisor Hosts
US9678668B2 (en) System and method for unbalanced RAID management
US8156502B1 (en) Computer resource allocation as a function of demand type
CN107783734B (zh) 一种基于超融合存储系统的资源分配方法、装置及终端
CN105988872B (zh) 一种cpu资源分配的方法、装置及电子设备
CN105843683B (zh) 用于动态优化平台资源分配的方法、系统和设备
KR102290540B1 (ko) 네임스페이스/스트림 관리
CN108063784B (zh) 一种云环境下应用集群资源分配的方法、装置和系统
CN110018781B (zh) 磁盘流控方法、装置以及电子设备
CN104461735A (zh) 一种虚拟化场景下分配cpu资源的方法和装置
US9600187B2 (en) Virtual grouping of memory
CN106598724B (zh) 用于在计算系统中管理内存的方法
US10148505B2 (en) Provisioning resources for datacenters
US9983908B1 (en) Adjusting allocation of selected resources for capped and uncapped virtual machines
CN114386560A (zh) 数据处理方法和设备
US9313263B2 (en) Assignment of applications in a virtual machine environment based on data access pattern
US9317306B2 (en) Computer device and memory management method thereof
WO2016065198A1 (en) High performance hadoop with new generation instances
US10209749B2 (en) Workload allocation based on downstream thermal impacts
US10592297B2 (en) Use minimal variance to distribute disk slices to avoid over-commitment
CN104050189A (zh) 页面共享处理方法及装置
US20130205101A1 (en) Dynamic real storage usage control
CN113254186A (zh) 一种进程调度方法、调度器及存储介质
CN110727392B (zh) 一种云存储数据单元调度方法和装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1248010

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20230609

Address after: Room 1-2-A06, Yungu Park, No. 1008 Dengcai Street, Sandun Town, Xihu District, Hangzhou City, Zhejiang Province

Patentee after: Aliyun Computing Co.,Ltd.

Address before: Box 847, four, Grand Cayman capital, Cayman Islands, UK

Patentee before: ALIBABA GROUP HOLDING Ltd.