虚拟机调度方法和装置制造方法及图纸

技术编号:15999317 阅读:24 留言:0更新日期:2017-08-15 14:08
本申请公开了虚拟机调度方法和装置。所述方法的一具体实施方式包括:获取所有服务器列表和所有机架列表;获取业务对应的创建N个虚拟机的请求;根据所述业务获取所述业务已使用的服务器列表;根据所述业务已使用的服务器列表获取所述业务已使用的机架列表;根据所述所有机架列表和所述业务已使用的机架列表获取所述业务未使用的机架列表;根据所述业务未使用的机架列表,进行N次调度以将N个虚拟机创建在相应的服务器中。该实施方式实现了在机架足够的情况下,保证虚拟机被调度到不同机架上;在机架不足的情况下,会优先保证现有的机架都会被使用,剩余的虚拟机则随机调度到可用的机架上,从而避免某个机架出现问题时引起业务不可用的情况发生。

Virtual machine scheduling method and device

The invention discloses a scheduling method and a device for a virtual machine. Including a specific embodiment of the method: get a list of all servers and all the frame list; the request to create the N virtual machine to obtain the corresponding service according to the service list server; acquiring the business has been used; according to the frame list server business has been used to acquire the business has been used; according to a list of all the frame list and the business has been used to obtain the frame list business unused; according to the service list frame without the use of N to schedule will create the N virtual machine in the corresponding server. The embodiment realizes a sufficient, ensure that the virtual machine is dispatched to a different frame; the frame is insufficient, will give priority to ensuring the existing frame will be used, the virtual machine rest random scheduling to the available frame, so as to avoid the occurrence of business is not available due to problems a machine frame.

【技术实现步骤摘要】
虚拟机调度方法和装置
本申请涉及计算机
,具体涉及互联网
,尤其涉及虚拟机调度方法和和装置。
技术介绍
随着计算机硬件以及互联网技术的不断发展,服务器越来越倾向于承载多种相互独立的业务,而虚拟机技术正好适应了这种需求。虚拟机是指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。虚拟机调度是指虚拟化服务提供商为用户提供满足资源需求(如用户对CPU、内存、硬盘、网络带宽等的需求)的虚拟机,并将该虚拟机建立在宿主机服务器上,由该宿主机服务器运行该虚拟机,为此服务提供商需要对宿主机服务器进行有效的调度管理,从而保证虚拟机的服务质量。然而,现有的虚拟机调度策略只能根据CPU、内存、硬盘、网络带宽等进行一些基本的调度。当用户需要创建一批虚拟机用于部署某个业务时,这些虚拟机有可能会被创建在同一机架上的服务器上,一旦该机架出现故障,就会导致上面的虚拟机均不可用,从而影响到业务的稳定性,严重危害到用户的利益。
技术实现思路
本申请的目的在于提出一种改进的虚拟机调度方法和装置,来解决以上
技术介绍
部分提到的技术问题。第一方面,本申请提供了一种虚拟机调度方法,所述方法包括:获取所有服务器列表和所有机架列表;获取业务对应的创建N个虚拟机的请求;根据所述业务获取所述业务已使用的服务器列表;根据所述业务已使用的服务器列表获取所述业务已使用的机架列表;根据所述所有机架列表和所述业务已使用的机架列表获取所述业务未使用的机架列表;根据所述业务未使用的机架列表,进行N次调度以将N个虚拟机创建在相应的服务器中。在一些实施例中,所述根据所述业务未使用的机架列表,进行N次调度以将N个虚拟机创建在相应的服务器中,其中每一次调度包括:获取虚拟机;判断所述业务未使用的机架列表是否为空,如果是,则:将所述所有服务器列表中所有服务器添加至候选服务器列表中;如果否,则:对所述所有服务器列表中所有服务器,判断服务器所在机架是否在所述业务已使用的机架列表中,如果否,则将服务器添加至侯选服务器列表中;如果是,则继续判断下一服务器;根据所述候选服务器列表中候选服务器的状态信息为各个候选服务器设置权重并排序,其中,所述候选服务器的状态信息包括以下至少一项:CPU使用率、内存使用率、硬盘使用率;将所述候选服务器列表中权重最高的候选服务器作为最优服务器;在所述最优服务器中创建所述虚拟机;将所述最优服务器添加至所述业务已使用的服务器列表中;将所述最优服务器所在的机架从所述业务未使用的机架列表中删除。在一些实施例中,所述获取所有服务器列表和所有机架列表,包括:获取所有可用的服务器列表作为所有服务器列表,其中,所述可用的服务器为可访问的服务器;获取所述所有可用的服务器列表中各个服务器所在的机架的列表作为所有机架列表。在一些实施例中,所述根据所述业务已使用的服务器列表获取所述业务已使用的机架列表,包括:获取所述业务已使用的服务器列表中各个服务器所在的机架的列表作为所述业务已使用的机架列表。在一些实施例中,根据所述所有机架列表和所述业务已使用的机架列表获取所述业务未使用的机架列表,包括:获取将所述业务已使用的机架列表从所述所有机架列表中删除后的机架列表,作为所述业务未使用的机架列表。第二方面,本申请提供了一种虚拟机调度装置,所述装置包括:所有服务器和机架获取单元,配置用于获取所有服务器列表和所有机架列表;业务和虚拟机请求获取单元,配置用于获取业务对应的创建N个虚拟机的请求;已使用服务器获取单元,配置用于根据所述业务获取所述业务已使用的服务器列表;已使用机架获取单元,配置用于根据所述业务已使用的服务器列表获取所述业务已使用的机架列表;未使用机架获取单元,配置用于根据所述所有机架列表和所述业务已使用的机架列表获取所述业务未使用的机架列表;调度单元,配置用于根据所述业务未使用的机架列表,进行N次调度以将N个虚拟机创建在相应的服务器中。在一些实施例中,所述调度单元执行每一次调度包括:虚拟机获取模块,配置用于获取虚拟机;候选服务器列表生成模块,配置用于判断所述业务未使用的机架列表是否为空,如果是,则:将所述所有服务器列表中所有服务器添加至候选服务器列表中;如果否,则:对所述所有服务器列表中所有服务器,判断服务器所在机架是否在所述业务已使用的机架列表中,如果否,则将服务器添加至侯选服务器列表中;如果是,则继续判断下一服务器;候选服务器权重设置及排序模块,配置用于根据所述候选服务器列表中候选服务器的状态信息为各个候选服务器设置权重并排序,其中,所述候选服务器的状态信息包括以下至少一项:CPU使用率、内存使用率、硬盘使用率;最优服务器确定模块,配置用于将所述候选服务器列表中权重最高的候选服务器作为最优服务器;虚拟机创建模块,配置用于在所述最优服务器中创建所述虚拟机;添加模块,配置用于将所述最优服务器添加至所述业务已使用的服务器列表中;删除模块,配置用于将所述最优服务器所在的机架从所述业务未使用的机架列表中删除。在一些实施例中,所述所有服务器和机架获取单元,包括:可用服务器列表获取模块,配置用于获取所有可用的服务器列表作为所有服务器列表,其中,所述可用的服务器为可访问的服务器;所有机架列表获取模块,配置用于获取所述所有可用的服务器列表中各个服务器所在的机架的列表作为所有机架列表。在一些实施例中,所述已使用机架获取单元包括:获取所述业务已使用的服务器列表中各个服务器所在的机架的列表作为所述业务已使用的机架列表。在一些实施例中,所述未使用机架获取单元包括:获取将所述业务已使用的机架列表从所述所有机架列表中删除后的机架列表,作为所述业务未使用的机架列表。本申请提供的虚拟机调度方法和装置,通过获取业务对应的创建N个虚拟机的虚拟机请求和业务未使用的机架列表,并在此基础上进行N次调度,从而将N个虚拟机均创建在相应的最优服务器上,提高了虚拟机调度的可靠性。在机架足够的情况下,保证虚拟机被调度到不同机架上;在机架不足的情况下,会优先保证现有的机架都会被使用,剩余的虚拟机则随机调度到可用的机架上,从而避免某个机架出现问题时引起业务不可用的情况发生。附图说明通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:图1是本申请可以应用于其中的示例性系统架构图;图2是根据本申请的虚拟机调度方法的一个实施例的流程图;图3是根据本申请的虚拟机调度方法中,N次调度中的一次调度的流程图;图4是根据本申请的虚拟机调度装置的一个实施例的结构示意图;图5是适于用来实现本申请实施例的服务器的计算机系统的结构示意图。具体实施方式下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关专利技术,而非对该专利技术的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关专利技术相关的部分。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。图1示出了可以应用本申请的虚拟机调度方法或虚拟机调度装置的实施例的示例性系统架构100。如图1所示,系统架构100可以包括机架101、102、103,服务器1011、1012、101本文档来自技高网...
虚拟机调度方法和装置

【技术保护点】
一种虚拟机调度方法,其特征在于,所述方法包括:获取所有服务器列表和所有机架列表;获取业务对应的创建N个虚拟机的请求;根据所述业务获取所述业务已使用的服务器列表;根据所述业务已使用的服务器列表获取所述业务已使用的机架列表;根据所述所有机架列表和所述业务已使用的机架列表获取所述业务未使用的机架列表;根据所述业务未使用的机架列表,进行N次调度以将N个虚拟机创建在相应的服务器中。

【技术特征摘要】
1.一种虚拟机调度方法,其特征在于,所述方法包括:获取所有服务器列表和所有机架列表;获取业务对应的创建N个虚拟机的请求;根据所述业务获取所述业务已使用的服务器列表;根据所述业务已使用的服务器列表获取所述业务已使用的机架列表;根据所述所有机架列表和所述业务已使用的机架列表获取所述业务未使用的机架列表;根据所述业务未使用的机架列表,进行N次调度以将N个虚拟机创建在相应的服务器中。2.根据权利要求1所述的虚拟机调度方法,其特征在于,所述根据所述业务未使用的机架列表,进行N次调度以将N个虚拟机创建在相应的服务器中,其中每一次调度包括:获取虚拟机;判断所述业务未使用的机架列表是否为空,如果是,则:将所述所有服务器列表中所有服务器添加至候选服务器列表中;如果否,则:对所述所有服务器列表中所有服务器,判断服务器所在机架是否在所述业务已使用的机架列表中,如果否,则将服务器添加至侯选服务器列表中;如果是,则继续判断下一服务器;根据所述候选服务器列表中候选服务器的状态信息为各个候选服务器设置权重并排序,其中,所述候选服务器的状态信息包括以下至少一项:CPU使用率、内存使用率、硬盘使用率;将所述候选服务器列表中权重最高的候选服务器作为最优服务器;在所述最优服务器中创建所述虚拟机;将所述最优服务器添加至所述业务已使用的服务器列表中;将所述最优服务器所在的机架从所述业务未使用的机架列表中删除。3.根据权利要求1所述的虚拟机调度方法,其特征在于,所述获取所有服务器列表和所有机架列表,包括:获取所有可用的服务器列表作为所有服务器列表,其中,所述可用的服务器为可访问的服务器;获取所述所有可用的服务器列表中各个服务器所在的机架的列表作为所有机架列表。4.根据权利要求1所述的虚拟机调度方法,其特征在于,所述根据所述业务已使用的服务器列表获取所述业务已使用的机架列表,包括:获取所述业务已使用的服务器列表中各个服务器所在的机架的列表作为所述业务已使用的机架列表。5.根据权利要求1所述的虚拟机调度方法,其特征在于,所述根据所述所有机架列表和所述业务已使用的机架列表获取所述业务未使用的机架列表,包括:获取将所述业务已使用的机架列表从所述所有机架列表中删除后的机架列表,作为所述业务未使用的机架列表。6.一种虚拟机调度装置,其特征在于,所述装置包括:所有服务器和机架获取单元,配置用于获取所有服务器列表和所有机架列表;业务和...

【专利技术属性】
技术研发人员:张建
申请(专利权)人:北京京东尚科信息技术有限公司北京京东世纪贸易有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1