CN107506233B - 一种虚拟资源调度方法、装置及服务器 - Google Patents

一种虚拟资源调度方法、装置及服务器 Download PDF

Info

Publication number
CN107506233B
CN107506233B CN201610420328.8A CN201610420328A CN107506233B CN 107506233 B CN107506233 B CN 107506233B CN 201610420328 A CN201610420328 A CN 201610420328A CN 107506233 B CN107506233 B CN 107506233B
Authority
CN
China
Prior art keywords
host
virtual machine
performance parameter
current performance
performance parameters
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
CN201610420328.8A
Other languages
English (en)
Other versions
CN107506233A (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.)
Sangfor Technologies Co Ltd
Original Assignee
Sangfor 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 Sangfor Technologies Co Ltd filed Critical Sangfor Technologies Co Ltd
Priority to CN201610420328.8A priority Critical patent/CN107506233B/zh
Publication of CN107506233A publication Critical patent/CN107506233A/zh
Application granted granted Critical
Publication of CN107506233B publication Critical patent/CN107506233B/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/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/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • G06F9/4856Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
    • 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/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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明实施例公开了一种虚拟机资源调度方法、装置及服务器,用于提高虚拟化平台的性能及稳定性。本发明实施例方法包括:获取第一主机、第二主机、以及第一主机上运行的虚拟机的当前性能参数和历史性能参数;根据上述当前性能参数确定满足当前性能参数比较条件的至少一个虚拟机;根据上述历史性能参数从满足当前性能参数比较条件的至少一个虚拟机中确定目标迁移虚拟机;将目标迁移虚拟机迁移至第二主机。本发明在虚拟机调度时,不仅根据当前性能参数判断需要迁移的主机上的虚拟机是否可迁移至第二主机,而且还根据历史性能参数预判迁移后是否会出现过载的情况,以防止迁移后,出现新的不均衡。因此能够提升虚拟化平台的性能及稳定性。

Description

一种虚拟资源调度方法、装置及服务器
技术领域
本发明涉及计算机领域,尤其涉及一种虚拟机资源调度方法、装置及服务器。
背景技术
虚拟化是指通过虚拟化技术将一台计算机虚拟为多台逻辑计算机。在一台计算机上同时运行多个逻辑计算机,每个逻辑计算机可运行不同的操作系统,并且应用程序都可以在相互独立的空间内运行而互不影响,从而显著提高计算机的工作效率。
在现有的公有云和私有云平台中,虚拟化平台中运行了大量的虚拟机(VirtualMachine,VM),传统的靠人工的方式来调度虚拟机的位置运行位置工作已经无法胜任。由于虚拟化平台中虚拟机的长时间运行,可能导致不同主机之间的负荷不均匀。这个时候需要能有一些方法,能实现自动的虚拟机负荷调度。
目前常见的虚拟机的调度方法,是根据主机以及虚拟机当前的负荷情况,比如基于中央处理器(central processing unit,CPU)、内存、输入输出(Input/Output,I/O)等资源的占用情况,判断虚拟机是否需要调度到其他主机。这种方法主要的问题是:1)、无法准确预判执行调度操作之后的效果,有可能出现调度过去后又出现新的不均衡,从而产生来回的震荡;2)、而且由于调度本身会对主机产生开销,可能导致虚拟化平台的性能更差。
发明内容
本发明实施例提供了一种资源调度方法、装置及服务器,能够提高虚拟化平台的性能及稳定性。
第一方面,本发明实施例提供了一种虚拟资源调度方法,包括:
获取第一主机的当前性能参数、以及第一主机上运行的虚拟机的当前性能参数和历史性能参数,以及第二主机的当前性能参数和历史性能参数;其中,第二主机可以是除第一主机之外的其他主机。根据第一主机的当前性能参数、第一主机上运行的虚拟机的当前性能参数、以及第二主机的当前性能参数,和当前性能参数比较条件确定满足当前性能参数比较条件的至少一个虚拟机;根据第一主机上运行的虚拟机的历史性能参数、第二主机的历史性能参数,以及历史性能参数比较条件,从满足当前性能参数比较条件的至少一个虚拟机中确定目标迁移虚拟机;将目标迁移虚拟机迁移至第二主机。
结合第一方面,在第一方面的第一种可能的实现方式中,该方法还包括:
判断是否需要延迟迁移目标迁移虚拟机;若需要延迟迁移,则在延迟预设延迟时间后,将目标迁移虚拟机迁移至第二主机。
结合第一方面,在第一方面的第二种可能的实现方式中,该方法还包括:
检测第一主机的当前性能参数;当第一主机的当前性能参数超过主机阈值时,获取第一主机的当前性能参数、以及第一主机上运行的虚拟机的当前性能参数和历史性能参数,以及第二主机的当前性能参数和历史性能参数。
结合第一方面,第一方面的第一种可能的实现方式或第一方面的第二种可能的实现方式,在第一方面的第三种可能的实现方式中,当前性能参数包括至少一种,当前性能参数比较条件为:针对其中每一种当前性能参数,满足:第一主机的当前性能参数与第一主机上运行的虚拟机的当前性能参数的差值小于主机阈值;且,第二主机的当前性能参数与第一主机上运行的虚拟机的当前性能参数的和值小于主机阈值。
结合第一方面,第一方面的第一种可能的实现方式或第一方面的第二种可能的实现方式,在第一方面的第四种可能的实现方式中,历史性能参数包括至少一种,历史性能参数比较条件为:对于其中每一种历史性能参数,满足:第二主机的历史性能参数与第一主机上运行的虚拟机的历史性能参数的和值小于主机阈值。
结合第一方面,第一方面的第一种可能的实现方式或第一方面的第二种可能的实现方式,在第一方面的第五种可能的实现方式中,该方法还包括:当检测到第一虚拟机上的当前性能参数超过虚拟机阈值时,向第一虚拟机增加物理资源,第一虚拟机为运行在各主机上的虚拟机中的其中一个虚拟机。
结合第一方面的第五种可能的实现方式,在第一方面的第六种可能的实现方式中,向第一虚拟机添加的物理资源包括存储器和处理器CPU中的至少一个。
结合第一方面,第一方面的第一种可能的实现方式或第一方面的第二种可能的实现方式,在第一方面的第七种可能的实现方式中,根据第一主机上运行的虚拟机的历史性能参数、第二主机的历史性能参数,以及历史性能参数比较条件,从满足当前性能参数比较条件的至少一个虚拟机中确定目标迁移虚拟机包括:根据第一主机上运行的虚拟机的历史性能参数、第二主机的历史性能参数,以及历史性能参数比较条件,从满足当前性能参数比较条件的至少一个虚拟机中确定满足历史性能参数比较条件的至少一个虚拟机;从满足历史性能参数比较条件的至少一个虚拟机中任意选择一个虚拟机作为目标迁移虚拟机。
第二方面,本发明实施例还提供了一种虚拟机调度装置,该虚拟机调度装置包括:获取单元,用于获取第一主机的当前性能参数、以及第一主机上运行的虚拟机的当前性能参数和历史性能参数,以及第二主机的当前性能参数和历史性能参数;候选迁移虚拟机确定单元,用于根据第一主机的当前性能参数、第一主机上运行的虚拟机的当前性能参数、以及第二主机的当前性能参数,和当前性能参数比较条件确定满足当前性能参数比较条件的至少一个虚拟机;目标迁移虚拟机确定单元,根据第一主机上运行的虚拟机的历史性能参数、第二主机的历史性能参数,以及历史性能参数比较条件,从满足当前性能参数比较条件的至少一个虚拟机中确定目标迁移虚拟机;迁移单元,将目标迁移虚拟机迁移至第二主机。
结合第二方面,在第二方面的第一种可能的实现方式中,该虚拟机调度装置还包括:延迟迁移判断单元,用于判断是否需要延迟迁移目标迁移虚拟机;迁移单元,具体用于在延迟迁移判断单元确定需要延迟迁移时,在延迟预设延迟时间后,将目标迁移虚拟机迁移至第二主机。
结合第二方面,在第二方面的第二种可能的实现方式中,虚拟机调度装置还包括:检测单元,用于检测第一主机的当前性能参数;获取单元,用于当检测单元检测到第一主机的当前性能参数超过主机阈值时,获取第一主机的当前性能参数、以及第一主机上运行的虚拟机的当前性能参数和历史性能参数,以及第二主机的当前性能参数和历史性能参数。
结合第二方面,第二方面的第一种可能的实现方式或第二方面的第二种可能的实现方式,在第二方面的第三种可能的实现方式中,候选迁移虚拟机确定单元,具体用于根据第一主机的当前性能参数、第一主机上运行的虚拟机的当前性能参数、以及第二主机的当前性能参数,和当前性能参数比较条件确定满足当前性能参数比较条件的至少一个虚拟机;其中,当前性能参数包括至少一种,当前性能参数比较条件为:针对其中每一种当前性能参数,满足:第一主机的当前性能参数与第一主机上运行的虚拟机的当前性能参数的差值小于主机阈值;且,第二主机的当前性能参数与第一主机上运行的虚拟机的当前性能参数的和值小于主机阈值。
结合第二方面,第二方面的第一种可能的实现方式或第二方面的第二种可能的实现方式,在第二方面的第四种可能的实现方式中,目标迁移虚拟机确定单元,根据第一主机上运行的虚拟机的历史性能参数、第二主机的历史性能参数,以及历史性能参数比较条件,从满足当前性能参数比较条件的至少一个虚拟机中确定目标迁移虚拟机;其中,历史性能参数包括至少一种,历史性能参数比较条件为:对于其中每一种历史性能参数,满足:第二主机的历史性能参数与第一主机上运行的虚拟机的历史性能参数的和值小于主机阈值。
结合第二方面,第二方面的第一种可能的实现方式或第二方面的第二种可能的实现方式,在第二方面的第五种可能的实现方式中,检测单元,还用于检测运行在各主机上的虚拟机的当前性能参数是否超过虚拟机阈值;虚拟机调度装置还包括:物理资源添加单元,用于当检测到第一虚拟机上的当前性能参数超过虚拟机阈值时,向第一虚拟机增加物理资源,第一虚拟机为运行在各主机上的虚拟机中的其中一个虚拟机。
结合第二方面的第五种可能的实现方式,在第二方面的第六种可能的实现方式中,所述物理资源包括存储器和处理器CPU中的至少一个。
结合第二方面,第二方面的第一种可能的实现方式或第二方面的第二种可能的实现方式,在第二方面的第七种可能的实现方式中,目标迁移虚拟机确定单元,具体用于根据第一主机上运行的虚拟机的历史性能参数、第二主机的历史性能参数,以及历史性能参数比较条件,从满足当前性能参数比较条件的至少一个虚拟机中确定满足历史性能参数比较条件的至少一个虚拟机;从满足历史性能参数比较条件的至少一个虚拟机中任意选择一个虚拟机作为目标迁移虚拟机。
第三方面,本发明实施例提供了一种服务器,该服务器包括:
存储器,处理器,存储器上存储有虚拟机调度程序,并存储有多个主机及多个虚拟机的性能参数,其中,多个虚拟机运行在多个主机上;处理器,用于执行虚拟机调度程序,获取第一主机的当前性能参数、以及第一主机上运行的虚拟机的当前性能参数和历史性能参数,以及第二主机的当前性能参数和历史性能参数;根据第一主机的当前性能参数、第一主机上运行的虚拟机的当前性能参数、以及第二主机的当前性能参数,和当前性能参数比较条件确定满足当前性能参数比较条件的至少一个虚拟机;根据第一主机上运行的虚拟机的历史性能参数、第二主机的历史性能参数,以及历史性能参数比较条件,从满足当前性能参数比较条件的至少一个虚拟机中确定目标迁移虚拟机;将目标迁移虚拟机迁移至第二主机。
从以上技术方案可以看出,本发明实施例具有以下优点:
本发明实施例是获取需要迁移的主机(第一主机)及需要迁移的主机上的各虚拟机的当前性能参数和历史性能参数,并获取可迁移至的主机(第二主机)的当前性能参数和历史性能参数,根据这些参数确定第一主机上需要迁移的目标虚拟机。具体确定过程为:根据第一主机的当前性能参数、第一主机上运行的虚拟机的当前性能参数、以及第二主机的当前性能参数,和当前性能参数比较条件确定满足当前性能参数比较条件的至少一个虚拟机;根据第一主机上运行的虚拟机的历史性能参数、第二主机的历史性能参数,以及历史性能参数比较条件,从满足当前性能参数比较条件的至少一个虚拟机中确定目标迁移虚拟机。之后,将目标迁移虚拟机迁移至第二主机。本发明在虚拟机调度时,不仅根据当前性能参数判断需要迁移的主机上的虚拟机是否可迁移至第二主机,而且还根据历史性能参数预判迁移后是否会出现过载的情况,以防止迁移后,出现新的不准衡。因此能够提升虚拟化平台的性能及稳定性。
附图说明
图1是本发明实施例中虚拟化平台虚拟化管理示意图;
图2是本发明实施例虚拟资源调度方法流程图;
图3是本发明实施例基线数据采样示意图;
图4是本发明实施例为虚拟机自动添加硬件资源流程图;
图5是本发明实施例虚拟资源调度装置的功能模块结构示意图;
图6是本发明实施例中服务器的硬件结构示意图。
具体实施方式
本发明实施例提供了一种资源调度方法、装置及服务器,用于提高虚拟化平台的性能及稳定性。下面进行详细介绍。
虚拟化:是指通过虚拟化技术将一台计算机虚拟为多台逻辑计算机。在一台计算机上同时运行多个逻辑计算机,每个逻辑计算机可运行不同的操作系统,并且应用程序都可以在相互独立的空间内运行而互不影响,从而显著提高计算机的工作效率。
本发明实施中的虚拟资源调度方法可以被应用到公有云和私有云平台,以及所有虚拟化的产品中。
私有云(Private Clouds):私有云是为一个客户单独使用而构建的,因而提供对数据、安全性和服务质量的最有效控制。该公司拥有基础设施,并可以控制在此基础设施上部署应用程序的方式。私有云可部署在企业数据中心的防火墙内,也可以将它们部署在一个安全的主机托管场所,私有云的核心属性是专有资源。
公有云(Public Clouds):公有云通常指第三方提供商为用户提供的能够使用的云,公有云一般可通过网络(Internet)使用,可能是免费或成本低廉的,公有云的核心属性是共享资源服务。这种云有许多实例,可在当今整个开放的公有网络中提供服务。
对于私有云,还是公有云,或其他虚拟化产品,会使用到底层的虚拟化技术以及云计算管理平台技术,该技术可以通过开源的基于内核的虚拟机(Kernel-based VirtualMachine,KVM)、开源的云计算管理平台Openstack等方式实现。
虚拟化平台的架构,及虚拟化管理功能模块示意图如图1所示,主要包括以下几个功能模块:
一、虚拟机调度模块:
执行具体虚拟机迁移、关机、开机、热添加资源(如:中央处理器(centralprocessing unit,CPU)、内存)等调度命令。该模块通过获取基线管理模块的数据以及来自用户的配置命令,实现虚拟机的自动调度。
二、调度数据基线管理模块:
从虚拟化管理软件中获取主机、虚拟机的状态信息,并将这些信息以一定的规则保存到基线数据库,并定期对数据中的数据进行处理、更新,当虚拟机调度模块需要基线信息的时候可以将信息返回给虚拟机调度管理模块。与本发明相关的状态信息主要是指主机、虚拟机的性能参数,比如:主机的CPU占有率、内存利用率、磁盘I/O繁忙度、磁盘空间占用率等;虚拟机的CPU占有率、内存利用率、磁盘I/O繁忙度、磁盘空间占用率等。
三、基线数据库:
调度数据基线管理模块通过采样得到主机、虚拟机的状态信息后,将这些状态信息进行处理,以一定规则保存在基线数据库中,具体是存储在虚拟化平台的存储介质中。根据调度数据基线管理模块的规则,可以实现数据的更新、与读取,并为调度数据基线管理模块的数据处理提供数据支持。
四、虚拟化管理软件:
向下与物理硬件接口,通过虚拟化技术,在物理服务器上虚拟出计算资源池、存储资源池、网络资源池和安全资源池,实现基础的虚拟化功能。
其中,物理服务器也即本申请文件所指的主机,在各物理服务器上运行有虚拟机,通过虚拟化管理软件的的管理,以实现基础的虚拟化功能。
五、云管理平台:
实现与用户的接口,常见云管理平台的功能如:多租户、生命周期、权限等功能,在本方案中虚拟机调度部分与用户的接口也通过云管理平台模块来实现。
具体的,以上各功能模块可以运行在单独的服务器上,也可以运行在装在有虚拟机的主机(物理服务器)上。
本发明提供了一种虚拟资源调度方法,通过将影响主机和虚拟机运行的性能参数以一定规则保存在基线数据库中(即:建立基线),在虚拟机调度时将当前性能参数与保存在基线数据库中的性能参数(相对于当前性能参数来说,基线数据库中的性能参数为历史性能参数)作为一种考虑因素,以解决现有资源调度方法的缺陷,从而使虚拟化平台运行的业务更稳定。
本发明提供了一种虚拟资源调度方法的流程图请参阅图2,该方法的执行主体为图2所述的实施例中的虚拟化平台中的虚拟机调度模块。如上所述,虚拟机调度模块可以运行在单独的服务器上,也可以运行在装在有虚拟机的主机(物理服务器)上。
下面做详细介绍:
201、获取第一主机的当前性能参数、以及第一主机上运行的虚拟机的当前性能参数和历史性能参数,以及第二主机的当前性能参数和历史性能参数;
当确定某主机需要进行虚拟机调度时,虚拟机调度模块获取主机的当前性能参数、该主机上运行的各虚拟机的当前性能参数,并从基线数据库中获取该主机上运行的各虚拟机的历史性能参数。该主机为第一主机。同时,获取第二主机的当前性能参数和历史性能参数,第二主机为第一主机上的虚拟机将迁移至的目标主机,第二主机可以理解为虚拟机调度模块控制的各主机中除第一主机以外的其他主机,第一主机上的每个虚拟机迁移至的主机可能都不一样,因此,第二主机是泛指虚拟机对应的可以迁移至的主机。
其中,主机的性能参数包括主机的CPU占有率、内存利用率、磁盘I/O的繁忙度、磁盘空间占用率等参数,虚拟机的性能参数包括虚拟机的CPU占有率、内存利用率、磁盘I/O的繁忙度、磁盘空间占用率等参数。
当前性能参数的“当前”是指确定第一主机需要进行虚拟机调度的时刻。
历史性能参数为对性能参数进行采样,建立基线,将影响主机和虚拟机运行的性能参数保存在基线数据库中。建立基线有很多具体的方法,其核心是对数据进行采样,并采用某种规则将其进行加工存储。下面以对主机的CPU占有率给出其中一种示例进行说明,如图3所示,对于主机的CPU占有率采样,可以采用每1分钟一次的采样频率,每10分钟计算一次主机CPU占有率的平均值以及峰值,得到n个主机CPU的占有率值的平均值以及n个主机CPU的占有率值的峰值。如图3所示,T1对应的主机CPU占有率的平均值为10%,峰值为30%;T2对应的主机CPU占有率的平均值为20%,峰值为35%;……Tn对应的主机CPU占有率的平均值为15%,峰值为20%。这n个平均值和n个峰值即为保存在基线数据库中的主机的历史性能参数。同样,基线数据库中存储的虚拟机的CPU的占有率,也是每10分钟计算一次得到的CPU的占有率平均值和峰值。
确定第一主机是否需要进行虚拟机调度的条件有多种,可以是当检测到第一主机的当前性能参数超过预设阈值;也可以是第一主机上虚拟机的性能参数超过预设阈值;还可以是第一主机上有硬件资源(例如:内存、CPU)不能正常工作等。
下面以常见的检测到第一主机的当前性能参数超过预设阈值为例进行详细说明。
虚拟机调度管理模块每隔一段时间(如1分钟,事件可以预配置)检测各个主机的当前的运行状态,检测各主机当前的每一个性能参数(例如:CPU占有率、内存利用率、I/O繁忙度、磁盘空间占用率等,下同)是否高于预设阈值,该预设阈值为相应的性能参数的主机阈值,例如:CPU占有率的主机阈值为80%,内存利用率的主机阈值为90%,I/O繁忙度的主机阈值为70%。如果某一主机的某一性能参数高于该性能参数对应的主机阈值,则确定该主机过载,需要进行虚拟机调度,该主机为所述第一主机。
可选的,在此基础上,如果发现有主机的当前性能参数超过了阈值,不立即确定该主机需要进行虚拟机的调度,而可以再继续观察一段,结合一段时间的统计结果确定是否需要进行虚拟机的调度。例如:统计参数超过阈值的主机,在接下来的一段时间内该性能参数超过主机阈值出现的次数,如果超过的次数达到预设的主机次数阈值,则确定该主机需要进行虚拟机的调度。
202、根据第一主机的当前性能参数、第一主机上运行的虚拟机的当前性能参数、以及第二主机的当前性能参数,和当前性能参数比较条件确定满足当前性能参数比较条件的至少一个虚拟机;
在获取到需要进行虚拟机调度的主机(第一主机)的当前性能参数、第一主机上运行的虚拟机的当前性能参数和历史性能参数,以及第二主机的当前性能参数和历史性能参数之后,根据当前性能参数(包括:第一主机的当前性能参数、第一主机上运行的虚拟机的当前性能参数、以及第二主机的当前性能参数)确定满足当前性能参数比较条件的虚拟机,即确定可选的迁移方案。
具体的,当前性能参数比较条件为:
针对每一种性能参数,例如上述举例的CPU占有率、内存利用率、I/O繁忙度、磁盘空间占用率等,需要同时满足以下条件:
第一主机的当前性能参数与第一主机上运行的虚拟机的当前性能参数的差值小于该性能参数对应的主机阈值;且,第二主机的当前性能参数与第一主机上运行的虚拟机的当前性能参数的和值小于该性能参数对应的主机阈值。
下面举例进行说明:
1、有三台主机分别为H1、H2、H3;H1上有虚拟机VM1、VM2、VM3;H2上有虚拟机VM4、VM5;H3上有虚拟机VM6、VM7。
2、主机的性能参数当前状态(即:当前性能参数)分别为HPA,HPB,HPC....(分别表示不同的当前性能参数)。不同主机的当前性能参数分别为H1PA,H2PA,...HnPA;H1PB,H2PB,...HnPB;H1PC,H2PC,...HnPC;....
3、虚拟机的性能参数当前状态(即:当前性能参数)分别为VPA,VPB,VPC....,分别表示不同的当前性能参数。不同虚拟机的当前性能参数分别为V1PA,V2PA,...VnPA;V1PB,V2PB,...VnPB;V1PC,V2PC,...VnPC;....
4、主机的历史性能参数分别为HTA,HTB,HTC...;不同主机的历史性能参数分别为H1TA,H2TA...HnTA;H1TB,H2TB...HnTB;H1TC,H2TC...HnTC;....
5、虚拟机的历史性能参数分别为VTA,VTB,VTC...;不同虚拟机的历史性能参数分别为V1TA,V2TA...VnTA;V1TB,V2TB...VnTB;V1TC,V2TC...VnTC;....
6、假设各性能参数对应的主机阈值分别为HLA、HLB、HLC…,各性能参数对应的虚拟机阈值分别为VLA、VLB、VLC…。
详细的计算过程:
1、模拟计算将VM1从H1迁移到H2,此时,H1为第一主机,H2为第二主机,详细过程如下:
对于H1主机,判断H1的当前性能参数与VM1的当前性能参数的差值是否小于相应的性能参数的主机阈值,即H1PA-V1PA<HLA,且H1PB-V1PB<HLB,且H1PC-V1PC<HLC...是否成立。
对于H2主机,判断H2的当前性能参数与VM1的当前性能参数的和值是否小于相应的性能参数的主机阈值,即:H2PA+V1PA<HLA,且H2PB+V1PB<HLB,且H2PC+V1PC<HLC...是否成立。
如果上面两个判断都成立,说明将VM1从H1迁移到H2是一个可选的方案,此时,H1为第一主机,H2为第二主机。
2、重复上面的过程,模拟将VM1从H1迁移到H3,此时,H1为第一主机,H3为第二主机。如果也满足,则记录下也是一种可选的方案。
3、将H1上面的VM2和VM3重复步骤1和步骤2,也模拟将其迁移到H2和H3,从中挑选出可选的迁移方案。
203、根据第一主机上运行的虚拟机的历史性能参数、第二主机的历史性能参数,以及历史性能参数比较条件,从满足当前性能参数比较条件的至少一个虚拟机中确定目标迁移虚拟机;
从前面的步骤中挑选出的可选方案中,结合历史性能参数(包括第一主机上运行的,满足上述当前性能参数比较条件的虚拟机的历史性能参数、第二主机的历史性能参数)挑选出最优方案。
具体的,历史性能参数比较条件为:
针对每一种性能参数,例如上述举例的CPU占有率、内存利用率、I/O繁忙度、磁盘空间占用率等,需要同时满足以下条件:
第二主机的历史性能参数与满足上述当前性能参数比较条件的虚拟机的历史性能参数相加得到的和值小于该性能参数对应的主机阈值。
具体的,对于每一种性能参数,存储在基线数据库中第二主机历史性能参数和第一主机上运行的虚拟机的历史性能参数分别是一段历史时间内的多个参数值,计算和值时是取相同时间段内的第二主机的N个历史性能参数,和满足步骤202中的当前性能参数比较条件的虚拟机中其中一个虚拟机的N个历史性能参数,相同的时间的两个参数值相加分别计算得到N个和值。
以CPU占有率性能参数举例来说,如图3所示,若图示中的主机为第二主机,图示中的虚拟机为满足步骤202中的当前性能参数比较条件的虚拟机中其中一个虚拟机。可以以CPU占有率平均值作为CPU占有率性能参数,也可以以CPU占有率峰值作为CPU占有率性能参数。如果以CPU占有率平均值作为CPU占有率性能参数,则取第二主机中T1对应的CPU的占有率的平均值,取虚拟机中T1对应的CPU的占有率的平均值,计算这两个平均值相加得到的和值,再分别计算T2、T3…Tn对应的两个平均值相加得到的和值,然后分别判断每个和值是否小于CPU占有率对应的主机阈值,若小于,则CPU占有率性能参数满足比较条件。
在比较第二主机与该虚拟机的其他历史性能参数时,也采用与上述CPU占用率性能参数同样的方法进行比较。
当所有的历史性能参数都满足条件时,则确定该虚拟机可以是目标迁移虚拟机。
可选的,如果确定出了多个可迁移的方案,即满足所述历史性能参数比较条件的有多个虚拟机,则可以从这些方案中任意选择一种方案作为最终的迁移方案,该方案中的虚拟机为目标迁移虚拟机。
可选的,在步骤202中确定的虚拟机中没有一个虚拟机满足上述历史性能参数比较条件时,则从这些迁移方案中选择一个最优的迁移方案。
可选的,基于上述方法,还可以结合以下条件选择合适的迁移方案:
如果虚拟机运行的存储采用虚拟分布式存储方案,虚拟机的磁盘文件的多个副本分别保存在不同的主机上面。迁移虚拟机的时候,可以优先选择迁移至有副本的主机。可以是当第一主机上的某个虚拟机对应有多种可选的迁移方案,可以迁移至多个不同的主机时,可以结合该选择条件迁移至有副本的主机上。
假设根据前面的步骤,将VM1从H1迁移到H2,将VM2从H1迁移到H3是两个可选的方案。那么确定最终的方案过程如下:
1、如果将VM1迁移到H2之后,根据历史经验判断,一段时间后是否会出现性能参数超过主机阈值的情况:H2TA+V1TA<HLA且H2TB+V1TB<HLB且H2TC+V1TC<HLC是否同时成立。如果这个计算同时成立,则表示根据历史经验确定一段时间后,不会出现性能参数超过对应的主机阈值的情况,说明这个方案是可行的。如果这个计算不同时成立,则表示该可选方案是不可行的,则计算下一种方案。
2、同理,如果将VM2迁移到H3之后,根据历史经验判断,一段时间后是否会出现性能参数超过主机阈值的情况:H3TA+V2TA<HLA且H3TB+V2TB<HLB且H3TC+V2TC<HLC是否同时成立,同样,如果不同时成立,则表示这个可选的迁移方案不可行,如果同时成立,表示这个方案也是可行的。
如果同时出现多种可行的方案,即满足所述历史性能参数比较条件的有多个虚拟机,则可以从这些方案中任意选择一种方案作为最终的迁移方案,该方案中的虚拟机为目标迁移虚拟机。
204、将目标迁移虚拟机迁移至第二主机。
在确定了目标迁移虚拟机后,按照最终的迁移方案,将目标迁移虚拟机迁移至该迁移方案中对应的主机。
可选的,在执行步骤204之前,判断是否需要延迟迁移所述目标迁移VM,若需要延迟迁移,则在延迟预设延迟时间后,再进行迁移。其中,判断是否需要延迟迁移的依据可以是满足系统预设延迟迁移条件时,则延迟。例如:系统预设的条件为:业务高峰期(早上8点至晚上20点)不迁移,则在此段时间内需要迁移的虚拟机,需要相应的延迟至晚上20点至早上8点之间进行迁移。
本发明实施例是获取需要迁移的主机(第一主机)及需要迁移的主机上的各虚拟机的当前性能参数和历史性能参数,并获取可迁移至的主机(第二主机)的当前性能参数和历史性能参数,根据这些参数确定第一主机上需要迁移的目标虚拟机,之后,将目标迁移虚拟机迁移至第二主机。本发明在虚拟机调度时,不仅根据当前性能参数判断需要迁移的主机上的虚拟机是否可迁移至第二主机,而且还根据历史性能参数预判迁移后是否会出现过载的情况,以防止迁移过去后,出现新的不准衡,因此能够提升虚拟化平台的性能及稳定性。并且,本发明可以根据实际情况延迟调度虚拟机,避免在不合适的时机迁移虚拟机,从而可以提升集群内虚拟机的可用性。
另外,对于部分虚拟机如果无法通过在主机之间迁移达到好的效果,可以通过自动增加物理资源(例如:CPU、内存等)的方式,使业务运行更加流畅。
为虚拟机自动增加物理资源的过程如下:
当虚拟机调度模块检测到第一虚拟机(该第一虚拟机为运行在各主机上的虚拟机中的其中一个虚拟机)上的当前性能参数超过预设阈值时,向所述第一虚拟机增加物理资源,该预设阈值为相应的性能参数的虚拟机阈值,例如:CPU占有率的虚拟机阈值为70%,内存利用率的虚拟机阈值为80%,I/O繁忙度的虚拟机阈值为60%。
其中,物理资源包括但不限于CPU、内存。
可选的,在检测到第一虚拟机上的当前性能参数超过虚拟机阈值时后,并不立即向该虚拟机增加物理资源,而是再继续观察一段,结合一段时间的统计结果确定是否需要对该虚拟机增加物理资源。例如:统计当前性能参数超过虚拟机阈值的虚拟机,在接下来的一段时间内该性能参数超过虚拟机阈值出现的次数,如果超过的次数达到预设的虚拟机次数阈值,则确定需要对该虚拟机增加物理资源。
下面,结合图4对为虚拟机自动增加物理资源的整个流程进行详细说明。
401、虚拟机调度模块获取虚拟机的当前性能参数;
如CPU占用率、内存利用率、IO繁忙度、磁盘空间占用率等参数。
402、判断当前性能参数是否达到该性能参数对应的虚拟机阈值,如果参数都正常直接结束。如果有超过虚拟机阈值,则进入步骤403。
403、在接下来的一段时间,每隔一个时间间隔检测一下该虚拟机的该性能参数,并记录达到虚拟机阈值的次数。
404、判断这段时间达到虚拟机阈值的次数,是否达到预设的虚拟机次数阈值,如果没有达则直接结束。否则进入步骤405。
405、检测该虚拟机是否支持热添加资源?如果支持,则进入步骤406,否则直接结束。
406、执行真正的物理资源添加操作。
407、整个过程结束,并检查下一个虚拟机的状态。
需要说明的是,添加物理资源后,需要评估对该虚拟机添加物理资源(如:内存、CPU等,下同)操作对主机的整体负荷的影响,即判断添加资源是否会超出主机的负载,判断的具体方式如图2所示的虚拟资源调度方法,如果会超出主机的负载,则执行图2所示的实施例中的方法进行虚拟机的迁移。
图4所示的实施例与图2所示的实施例中的两种方法可以同时进行实施,在实施例完图2所示的物理资源添加后,需要进行主机的负载的检测;在实施例完图2所示的实施例中的虚拟机的迁移后,也需要进行虚拟机的负载的检测,若过载,则执行图4所示的实施例中的物理资源添加操作。
因此,通过本发明实施例,可以在虚拟化场景下通过自动添加资源,防止虚拟机的过载,从而提升虚拟机的可用性。
以上是对本发明实施例中的方法进行的介绍,下面从功能模块角度对本发明实施例中的虚拟资源调度装置进行介绍。
该虚拟机调度装置具体可以是图2所示的虚拟化平台中的虚拟机调度模块所在的硬件装置,用于执行虚拟机调度模块所执行的步骤。如图5所示,该虚拟机调度装置包括:
获取单元501,用于获取第一主机的当前性能参数、以及第一主机上运行的虚拟机的当前性能参数和历史性能参数,以及第二主机的当前性能参数和历史性能参数;
候选迁移虚拟机确定单元502,用于根据第一主机的当前性能参数、第一主机上运行的虚拟机的当前性能参数、以及第二主机的当前性能参数,和当前性能参数比较条件确定满足当前性能参数比较条件的至少一个虚拟机;
目标迁移虚拟机确定单元503,根据第一主机上运行的虚拟机的历史性能参数、第二主机的历史性能参数,以及历史性能参数比较条件,从满足当前性能参数比较条件的至少一个虚拟机中确定目标迁移虚拟机;
迁移单元504,将目标迁移虚拟机迁移至第二主机。
可选的,在一些具体的实施中,该虚拟机调度装置还包括:延迟迁移判断单元505,用于判断是否需要延迟迁移目标迁移虚拟机;迁移单元504,具体用于在延迟迁移判断单元确定需要延迟迁移时,在延迟预设延迟时间后,将目标迁移虚拟机迁移至第二主机。
可选的,在一些具体的实施中,虚拟机调度装置还包括:检测单元506,用于检测第一主机的当前性能参数;获取单元501,用于当检测单元检测到第一主机的当前性能参数超过主机阈值时,获取第一主机的当前性能参数、以及第一主机上运行的虚拟机的当前性能参数和历史性能参数,以及第二主机的当前性能参数和历史性能参数。
可选的,在一些具体的实施中,候选迁移虚拟机确定单元502,具体用于根据第一主机的当前性能参数、第一主机上运行的虚拟机的当前性能参数、以及第二主机的当前性能参数,和当前性能参数比较条件确定满足当前性能参数比较条件的至少一个虚拟机;其中,当前性能参数包括至少一种,当前性能参数比较条件为:针对其中每一种当前性能参数,满足:
第一主机的当前性能参数与第一主机上运行的虚拟机的当前性能参数的差值小于主机阈值;且,第二主机的当前性能参数与第一主机上运行的虚拟机的当前性能参数的和值小于主机阈值。
可选的,在一些具体的实施中,目标迁移虚拟机确定单元503,根据第一主机上运行的虚拟机的历史性能参数、第二主机的历史性能参数,以及历史性能参数比较条件,从满足当前性能参数比较条件的至少一个虚拟机中确定目标迁移虚拟机;其中,历史性能参数包括至少一种,历史性能参数比较条件为:对于其中每一种历史性能参数,满足:第二主机的历史性能参数与第一主机上运行的虚拟机的历史性能参数的和值小于历史性能参数的主机阈值。
可选的,在一些具体的实施中,目标迁移虚拟机确定单元503,具体用于根据第一主机上运行的虚拟机的历史性能参数、第二主机的历史性能参数,以及历史性能参数比较条件,从满足当前性能参数比较条件的至少一个虚拟机中确定满足历史性能参数比较条件的至少一个虚拟机;从满足历史性能参数比较条件的至少一个虚拟机中任意选择一个虚拟机作为目标迁移虚拟机。
以上各功能模块之间的具体信息交互、各功能模块具体执行的步骤的具体过程请参与图2的虚拟资源调度方法的方法实施例,具体此处不做赘述。
可选的,在一些具体的实施中,检测单元506,还用于检测运行在各主机上的虚拟机的当前性能参数是否超过虚拟机阈值;虚拟机调度装置还包括:物理资源添加单元507,用于当检测到第一虚拟机上的当前性能参数超过虚拟机阈值时,向第一虚拟机增加物理资源,第一虚拟机为运行在各主机上的虚拟机中的其中一个虚拟机。其中,该物理资源包括但不限于存储器和处理器CPU。具体的,检测单元506与物理资源添加单元507所执行的具体步骤请参阅图4所示的实施例,此处不再赘述。
另外,本发明实施例还保护了一种服务器,如图6所示,该服务器包括一个或一个以上存储器630,一个或一个以上处理器622,存储器和处理器之间通过总线连接。所述存储器包括第一存储介质641和第二存储介质642,第一存储介质641上存储有操作系统及运行的应用程序,应用程序包括虚拟机调度程序,第二存储介质642上存储有数据,数据包括多个主机及多个虚拟机的性能参数,其中,所述多个虚拟机运行在所述多个主机上。所述处理器602,用于运行所述虚拟机调度程序,执行上述方法实施例(图2和图4所示的实施例)中的虚拟机调度模块执行的步骤。
服务器还可以包括一个或一个以上电源626,一个或一个以上有线或无线网络接口650,一个或一个以上输入输出接口658,和/或,一个或一个以上操作系统,例如WindowsServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
需要说明的是,该服务器可以是独立于该服务器所管理的物理服务器,也可以与该服务器所管理的物理服务器中的物理服务器为一体。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (13)

1.一种虚拟资源调度方法,其特征在于,包括:
获取第一主机的当前性能参数、以及所述第一主机上运行的虚拟机的当前性能参数和历史性能参数,以及第二主机的当前性能参数和历史性能参数;
根据所述第一主机的当前性能参数、所述第一主机上运行的虚拟机的当前性能参数、以及所述第二主机的当前性能参数,和当前性能参数比较条件确定满足所述当前性能参数比较条件的至少一个虚拟机;
根据所述第一主机上运行的虚拟机的历史性能参数、所述第二主机的历史性能参数,以及历史性能参数比较条件,从所述满足当前性能参数比较条件的至少一个虚拟机中确定目标迁移虚拟机;
将所述目标迁移虚拟机迁移至所述第二主机;
所述当前性能参数包括CPU占有率、内存利用率、I/O繁忙度、磁盘空间占用率中的至少一种,所述当前性能参数比较条件为:
针对其中每一种当前性能参数,满足:
所述第一主机的当前性能参数与所述第一主机上运行的虚拟机的当前性能参数的差值小于主机阈值;
且,所述第二主机的当前性能参数与所述第一主机上运行的虚拟机的当前性能参数的和值小于所述主机阈值;
所述历史性能参数包括CPU占有率、内存利用率、I/O繁忙度、磁盘空间占用率中的至少一种,所述历史性能参数比较条件为:
对于其中每一种历史性能参数,满足:
所述第二主机的历史性能参数与所述第一主机上运行的虚拟机的历史性能参数的和值小于所述主机阈值。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
判断是否需要延迟迁移所述目标迁移虚拟机;
若需要延迟迁移,则在延迟预设延迟时间后,将所述目标迁移虚拟机迁移至所述第二主机。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
检测所述第一主机的当前性能参数;
当所述第一主机的当前性能参数超过主机阈值时,获取第一主机的当前性能参数、以及所述第一主机上运行的虚拟机的当前性能参数和历史性能参数,以及第二主机的当前性能参数和历史性能参数。
4.根据权利要求1至3中任一项所述的方法,其特征在于,所述方法还包括:
当检测到第一虚拟机上的当前性能参数超过虚拟机阈值时,向所述第一虚拟机增加物理资源,所述第一虚拟机为运行在各主机上的虚拟机中的其中一个虚拟机。
5.根据权利要求4所述的方法,其特征在于:
所述物理资源包括存储器和处理器CPU中的至少一个。
6.根据权利要求1至3中任一项所述的方法,其特征在于,根据所述第一主机上运行的虚拟机的历史性能参数、所述第二主机的历史性能参数,以及历史性能参数比较条件,从所述满足当前性能参数比较条件的至少一个虚拟机中确定目标迁移虚拟机包括:
根据所述第一主机上运行的虚拟机的历史性能参数、所述第二主机的历史性能参数,以及历史性能参数比较条件,从所述满足当前性能参数比较条件的至少一个虚拟机中确定满足所述历史性能参数比较条件的至少一个虚拟机;
从所述满足所述历史性能参数比较条件的至少一个虚拟机中任意选择一个虚拟机作为目标迁移虚拟机。
7.一种虚拟机调度装置,其特征在于,所述虚拟机调度装置包括:
获取单元,用于获取第一主机的当前性能参数、以及所述第一主机上运行的虚拟机的当前性能参数和历史性能参数,以及第二主机的当前性能参数和历史性能参数;
候选迁移虚拟机确定单元,用于根据所述第一主机的当前性能参数、所述第一主机上运行的虚拟机的当前性能参数、以及所述第二主机的当前性能参数,和当前性能参数比较条件确定满足所述当前性能参数比较条件的至少一个虚拟机;
目标迁移虚拟机确定单元,根据所述第一主机上运行的虚拟机的历史性能参数、所述第二主机的历史性能参数,以及历史性能参数比较条件,从所述满足当前性能参数比较条件的至少一个虚拟机中确定目标迁移虚拟机;
迁移单元,将所述目标迁移虚拟机迁移至所述第二主机;
所述候选迁移虚拟机确定单元,具体用于根据所述第一主机的当前性能参数、所述第一主机上运行的虚拟机的当前性能参数、以及所述第二主机的当前性能参数,和当前性能参数比较条件确定满足所述当前性能参数比较条件的至少一个虚拟机;
其中,所述当前性能参数包括CPU占有率、内存利用率、I/O繁忙度、磁盘空间占用率中的至少一种,所述当前性能参数比较条件为:
针对其中每一种当前性能参数,满足:
所述第一主机的当前性能参数与所述第一主机上运行的虚拟机的当前性能参数的差值小于主机阈值;
且,所述第二主机的当前性能参数与所述第一主机上运行的虚拟机的当前性能参数的和值小于所述主机阈值;
目标迁移虚拟机确定单元,根据所述第一主机上运行的虚拟机的历史性能参数、所述第二主机的历史性能参数,以及历史性能参数比较条件,从所述满足当前性能参数比较条件的至少一个虚拟机中确定目标迁移虚拟机;
其中,所述历史性能参数包括CPU占有率、内存利用率、I/O繁忙度、磁盘空间占用率中的至少一种,所述历史性能参数比较条件为:
对于其中每一种历史性能参数,满足:
所述第二主机的历史性能参数与所述第一主机上运行的虚拟机的历史性能参数的和值小于所述主机阈值。
8.根据权利要求7所述的虚拟机调度装置,其特征在于,所述虚拟机调度装置还包括:
延迟迁移判断单元,用于判断是否需要延迟迁移所述目标迁移虚拟机;
所述迁移单元,具体用于在所述延迟迁移判断单元确定需要延迟迁移时,在延迟预设延迟时间后,将所述目标迁移虚拟机迁移至所述第二主机。
9.根据权利要求7所述的虚拟机调度装置,其特征在于,所述虚拟机调度装置还包括:
检测单元,用于检测所述第一主机的当前性能参数;
所述获取单元,用于当所述检测单元检测到所述第一主机的当前性能参数超过主机阈值时,获取第一主机的当前性能参数、以及所述第一主机上运行的虚拟机的当前性能参数和历史性能参数,以及第二主机的当前性能参数和历史性能参数。
10.根据权利要求9所述的虚拟机调度装置,其特征在于,
所述检测单元,还用于检测运行在各主机上的虚拟机的当前性能参数是否超过虚拟机阈值;
所述虚拟机调度装置还包括:
物理资源添加单元,用于当检测到第一虚拟机上的当前性能参数超过虚拟机阈值时,向所述第一虚拟机增加物理资源,所述第一虚拟机为运行在各主机上的虚拟机中的其中一个虚拟机。
11.根据权利要求10所述的虚拟机调度装置,其特征在于:
所述物理资源包括存储器和处理器CPU中的至少一个。
12.根据权利要求7至9中任一项所述的虚拟机调度装置,其特征在于,
所述目标迁移虚拟机确定单元,具体用于根据所述第一主机上运行的虚拟机的历史性能参数、所述第二主机的历史性能参数,以及历史性能参数比较条件,从所述满足当前性能参数比较条件的至少一个虚拟机中确定满足所述历史性能参数比较条件的至少一个虚拟机;从所述满足所述历史性能参数比较条件的至少一个虚拟机中任意选择一个虚拟机作为目标迁移虚拟机。
13.一种服务器,其特征在于,所述服务器包括:
存储器,处理器,所述存储器上存储有虚拟机调度程序,并存储有多个主机及多个虚拟机的性能参数,其中,所述多个虚拟机运行在所述多个主机上;
所述处理器,用于执行所述虚拟机调度程序,获取第一主机的当前性能参数、以及所述第一主机上运行的虚拟机的当前性能参数和历史性能参数,以及第二主机的当前性能参数和历史性能参数;根据所述第一主机的当前性能参数、所述第一主机上运行的虚拟机的当前性能参数、以及所述第二主机的当前性能参数,和当前性能参数比较条件确定满足所述当前性能参数比较条件的至少一个虚拟机;根据所述第一主机上运行的虚拟机的历史性能参数、所述第二主机的历史性能参数,以及历史性能参数比较条件,从所述满足当前性能参数比较条件的至少一个虚拟机中确定目标迁移虚拟机;将所述目标迁移虚拟机迁移至所述第二主机;
所述当前性能参数包括CPU占有率、内存利用率、I/O繁忙度、磁盘空间占用率中的至少一种,所述当前性能参数比较条件为:
针对其中每一种当前性能参数,满足:
所述第一主机的当前性能参数与所述第一主机上运行的虚拟机的当前性能参数的差值小于主机阈值;
且,所述第二主机的当前性能参数与所述第一主机上运行的虚拟机的当前性能参数的和值小于所述主机阈值;
所述历史性能参数包括CPU占有率、内存利用率、I/O繁忙度、磁盘空间占用率中的至少一种,所述历史性能参数比较条件为:
对于其中每一种历史性能参数,满足:
所述第二主机的历史性能参数与所述第一主机上运行的虚拟机的历史性能参数的和值小于所述主机阈值。
CN201610420328.8A 2016-06-14 2016-06-14 一种虚拟资源调度方法、装置及服务器 Active CN107506233B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610420328.8A CN107506233B (zh) 2016-06-14 2016-06-14 一种虚拟资源调度方法、装置及服务器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610420328.8A CN107506233B (zh) 2016-06-14 2016-06-14 一种虚拟资源调度方法、装置及服务器

Publications (2)

Publication Number Publication Date
CN107506233A CN107506233A (zh) 2017-12-22
CN107506233B true CN107506233B (zh) 2020-12-01

Family

ID=60679254

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610420328.8A Active CN107506233B (zh) 2016-06-14 2016-06-14 一种虚拟资源调度方法、装置及服务器

Country Status (1)

Country Link
CN (1) CN107506233B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108153580A (zh) * 2018-01-05 2018-06-12 北京中实信息技术有限公司 一种超融合架构下的虚拟机内存热扩展的方法
CN109144663B (zh) * 2018-07-13 2020-11-10 新华三云计算技术有限公司 主机优选方法及装置
CN109002348B (zh) * 2018-07-26 2021-03-19 郑州云海信息技术有限公司 一种虚拟化系统中的负载均衡方法及装置
US11042314B2 (en) * 2018-07-31 2021-06-22 The Silk Technologies Ilc Ltd Generation, validation and implementation of storage-orchestration strategies using virtual private array (VPA) in a dynamic manner
CN111858031B (zh) * 2020-06-19 2022-06-07 浪潮电子信息产业股份有限公司 一种集群分布式资源调度方法、装置、设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102117226A (zh) * 2011-03-18 2011-07-06 浪潮(北京)电子信息产业有限公司 一种资源调度系统及资源调度方法
CN103617076A (zh) * 2013-10-31 2014-03-05 中兴通讯股份有限公司 一种虚拟化资源的调度方法和系统及服务端
CN103856512A (zh) * 2012-11-30 2014-06-11 华为技术有限公司 云计算的管理服务器、工作和闲置主机以及资源调度方法
CN104102523A (zh) * 2013-04-03 2014-10-15 华为技术有限公司 迁移虚拟机的方法和资源调度平台

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9588821B2 (en) * 2007-06-22 2017-03-07 Red Hat, Inc. Automatic determination of required resource allocation of virtual machines
US20140019415A1 (en) * 2012-07-11 2014-01-16 Nec Laboratories America, Inc. Method and System for Database Cloud Bursting

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102117226A (zh) * 2011-03-18 2011-07-06 浪潮(北京)电子信息产业有限公司 一种资源调度系统及资源调度方法
CN103856512A (zh) * 2012-11-30 2014-06-11 华为技术有限公司 云计算的管理服务器、工作和闲置主机以及资源调度方法
CN104102523A (zh) * 2013-04-03 2014-10-15 华为技术有限公司 迁移虚拟机的方法和资源调度平台
CN103617076A (zh) * 2013-10-31 2014-03-05 中兴通讯股份有限公司 一种虚拟化资源的调度方法和系统及服务端

Also Published As

Publication number Publication date
CN107506233A (zh) 2017-12-22

Similar Documents

Publication Publication Date Title
EP3606008B1 (en) Method and device for realizing resource scheduling
CN107506233B (zh) 一种虚拟资源调度方法、装置及服务器
US10891168B2 (en) Automatically scaling up physical resources in a computing infrastructure
US8489744B2 (en) Selecting a host from a host cluster for live migration of a virtual machine
US8694638B2 (en) Selecting a host from a host cluster to run a virtual machine
EP3507692B1 (en) Resource oversubscription based on utilization patterns in computing systems
US10474488B2 (en) Configuration of a cluster of hosts in virtualized computing environments
US8185894B1 (en) Training a virtual machine placement controller
US10956230B2 (en) Workload placement with forecast
CN106133693B (zh) 虚拟机的迁移方法、装置及设备
Dargie Estimation of the cost of VM migration
Calatrava et al. Self-managed cost-efficient virtual elastic clusters on hybrid Cloud infrastructures
US11755385B2 (en) Cross-cluster load balancer
CN106686039B (zh) 一种云计算系统中的资源调度方法及装置
US10374967B2 (en) Profile-based placement of clients
US20220138001A1 (en) Measuring host utilization in a datacenter
US9686207B2 (en) Application service level objective aware demand estimation
WO2017181936A1 (zh) 网络资源部署的方法、装置、控制器及核心网设备
Hu et al. Hope: enabling efficient service orchestration in software-defined data centers
KR101608859B1 (ko) 클라우드 기반의 지능형 전력제어 시스템
CN111104203A (zh) 虚拟机分散调度方法、装置以及电子设备、存储介质
CN107562510B (zh) 一种应用实例的管理方法及管理设备
Singhi et al. A load balancing approach for increasing the resource utilization by minimizing the number of active servers
Nguyen et al. An improvement of resource allocation for migration process in cloud environment
Malhotra LD_ASG: Load Balancing Algorithm in Cloud Computing

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
CB02 Change of applicant information

Address after: Nanshan District Xueyuan Road in Shenzhen city of Guangdong province 518000 No. 1001 Nanshan Chi Park building A1 layer

Applicant after: SANGFOR TECHNOLOGIES Inc.

Address before: Nanshan District Xueyuan Road in Shenzhen city of Guangdong province 518055 No. 1001 Nanshan Chi Park building A1 layer

Applicant before: Sangfor Technologies Co.,Ltd.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant