虚拟机调度器、调度需求管理器及方法和虚拟机调度系统的制作方法_3

文档序号:9235329阅读:来源:国知局
6。物理服务器3的一端连接于数据中心局域网2,另一端连接于专用调度网4。该数据中心I的集中存储设备6集中存储数据。
[0127]图2示出上述专利文献I中现有的虚拟机调度系统的结构图。该虚拟机调度系统包括虚拟机调度器7、物理机监控器8、虚拟机9、虚拟机管理器10。虚拟机调度器7实时监控物理机监控器8传来的物理机状态信息,根据接收到的物理机状态信息评判资源利用情况,运用调度算法计算最佳调度方案,对虚拟机9实施调度。虚拟机管理器10实时管理自已所在物理机中的虚拟机9。
[0128]图3示出本发明的一个实施例的虚拟机调度系统的结构图。本发明的一个实施例的虚拟机调度系统包含顶层虚拟机调度器11、虚拟机调度器12 (对于不同的虚拟机调度器
12,用12a、12b (未图不)、…12m...表不)、物理机监控器13 (对于不同的物理机监控器13,用13a、13b、…13m…表示)、虚拟机14、调度需求管理器15(对于不同的调度需求管理器15,用15a、15b、…15nr..表不)和虚拟机管理器16 (对于不同的虚拟机管理器16,用16a、16b、…16πτ..表不)。其中,物理机监控器13、虚拟机14、调度需求管理器15和虚拟机管理器16包含于物理服务器。
[0129]I)虚拟机14:分布在物理服务器上,向用户或其它设备提供服务,并且在一个物理服务器中可同时运行多台虚拟机14。多个物理服务器中的每一台物理服务器可以是同构的,也可以不是同构的。如果物理服务器为异构物理服务器,则根据同构关系将物理服务器划分为多个管理域,每一管理域中所包括的物理服务器为同构物理服务器。
[0130]物理服务器通过使用虚拟化管理程序(或者虚拟化软件)将一台物理主机虚拟成多台虚拟机,各个虚拟机之间相互独立,共享主机上的各种硬件资源包括CPU、存储、网络等。物理服务器通过虚拟化不仅可以提高整个数据中心IT环境的资源利用效率,还可以通过虚拟机调度等技术更加高效的管理整个云计算系统的工作负载,增强云计算系统的弹性和灵活性。
[0131]2)虚拟机管理器16:在每台物理服务器上运行一个虚拟机管理器16,为虚拟机提供运行平台。
[0132]3)物理机监控器13:在每台物理服务器上运行一个物理机监控器13,实时监控物理服务器3上的各种负荷,例如CPU占用率、内存使用百分比等,并将负荷信息传送给调度需求管理器15。
[0133]4)调度需求管理器15:在每台物理服务器上运行一个调度需求管理器15。
[0134]调度需求管理器15从物理机监控器13获取物理服务器的负荷信息,根据该物理服务器的负荷信息计算物理服务器负荷状态,并判断是否需要虚拟机的调度,在判断为需要虚拟机的调度的情况下,与邻近调度需求管理器15通信,询问是否接受虚拟机的调度,在对方接受虚拟机14的调度的情况下,与所述邻近调度需求管理器15达成调度决议,并向虚拟机调度器12发送包含表示所述调度需求管理器与邻近调度需求管理器达成了调度决议的信息和有关所述邻近调度需求管理器的信息的虚拟机的调度请求,在对方不接受虚拟机14的调度的情况下,向所述虚拟机调度器12发送未包含表示所述调度需求管理器15与邻近调度需求管理器15达成了调度决议的信息的虚拟机14的调度请求,根据来自所述虚拟机调度器12的调度指令、或有关其它调度需求管理器15的信息和调度指令,指令虚拟机管理器16进行虚拟机调度。
[0135]包含表示所述调度需求管理器15与邻近调度需求管理器15达成了调度决议的信息可以告知虚拟机调度器12只要指令所述调度需求管理器15与邻近调度需求管理器15进行虚拟机的调度就可以了。
[0136]与此相对,未包含表示所述调度需求管理器15与邻近调度需求管理器15达成了调度决议的信息可以告知虚拟机调度器12需要找到与调度需求管理器15的调度需求相匹配的其它调度需求管理器15。
[0137]5)虚拟机调度器12:该虚拟机调度系统中有一个或多个虚拟机调度器12,运行在专门的设备上,可以认为虚拟机调度器12所在的设备与物理服务器是异构的。虚拟机调度器12的数量不多于物理服务器,且根据物理服务器之间的网络延迟大小,尽量在延迟较小的物理服务器之间架设虚拟机调度器12。
[0138]例如,有物理服务器3A、3B、3C、3D(均未图示),并且有虚拟机调度器12a和12b (未图示),并且物理服务器3A和3B的延迟较小,物理服务器3C和3D的延迟较小,但物理服务器3A、3B与物理服务器3C、3D的延迟较大(即,物理服务器3A与物理服务器3C、3D延迟较大,物理服务器3B与物理服务器3C、3D延迟较大),则在物理服务器3A和3B之间架设虚拟机调度器12a,在物理服务器3C和3D之间架设虚拟机调度器12b。
[0139]6)顶层虚拟机调度器11:顶层虚拟机调度器11和虚拟机调度器12可以是同构的设备,也可以是不同构的设备。顶层虚拟机调度器11需要连接所有的虚拟机调度器12,而且不存在上层虚拟机调度器12。顶层虚拟机调度器11只会接收到来自下层虚拟机调度器12的调度请求,并且寻找可匹配的调度需求。
[0140]图4为本发明的一个实施例的虚拟机调度系统的层级图,其中包含三个层:虚拟机调度层401、物理层407以及虚拟机层405。虚拟机调度层401中包含顶层虚拟机调度器402 (对应于图3的顶层虚拟机调度器11)、和虚拟机调度器403 (对应于图3的虚拟机调度器12)。物理层407中包含物理服务器404 (对应于关于图3的说明中的物理服务器),该物理服务器404包括虚拟机406 (对应于图3的虚拟机14)、物理机监控器408 (对应于图3的物理机监控器13)、调度需求管理器409 (对应于图3的调度需求管理器15)、和虚拟机管理器410 (对应于图3的虚拟机管理器16)。在物理层中还有虚拟机层405,该虚拟机层405包括虚拟机406 (对应于图3的虚拟机14)。
[0141]尽管在图3和图4的图示中,本发明的一个实施例的虚拟机调度系统包括两级虚拟机调度器,但是本发明的虚拟机调度系统中,即可以仅包括一个虚拟机调度器(相当于一级虚拟机调度器),也可以包括三级以上(包括三级)的虚拟机调度器。
[0142]在本发明的虚拟机调度系统仅包括一个虚拟机调度器的情况下,相当于虚拟机调度系统包括图3中的虚拟机调度器12a、物理机监控器13 (对于不同的物理机监控器13,用13a、13b、…表不)、虚拟机14、调度需求管理器15 (对于不同的调度需求管理器15,用15a、15b、…表不)和虚拟机管理器16(对于不同的虚拟机管理器16,用16a、16b、…表不),而不包括顶层虚拟机调度器11、虚拟机调度器12m及物理机监控器13m、虚拟机14、调度需求管理器15m和虚拟机管理器16m。
[0143]图5为本发明的一个实施例的虚拟机调度系统中的虚拟机调度方法的流程图。
[0144]图5a示出底层虚拟机调度器12的一个实施例的虚拟机调度方法的流程图。
[0145]图5a中的底层虚拟机调度器12的虚拟机调度方法既适用于在虚拟机调度系统中只有一个虚拟机调度器12a的情况,也适用于有两级或更多级虚拟机调度器12的情况。
[0146]虚拟机调度器12负责监听来自调度需求管理器15的消息(ST501),判断在该调度请求是否包含表示所述调度需求管理器15a与邻近调度需求管理器15b达成了调度决议的信息(ST502),在该调度请求包含表示所述调度需求管理器15a与邻近调度需求管理器15b达成了调度决议的信息的情况下(ST502 是”),分别向所述调度需求管理器15a和所述邻近调度需求管理器15b发出调度指令,其中在达成了调度决议的情况下,该调度请求还包含有关所述邻近调度需求管理器15b的信息(ST503)。
[0147]作为一个例子,虚拟机调度器12可以按照先收到先返回的顺序,发出调度指令。
[0148]其中,所述调度指令指示调度需求管理器15开始进行虚拟机调度。所述调度指令可以仅包括指令调度需求管理器15开始进行虚拟机调度的信息,也可以还包括指令调度需求管理器15何时开始进行虚拟机调度的信息。只要能够指令调度需求管理器15开始进行虚拟机调度,则在形式上没有特别限制。
[0149]在该例子中,由于调度需求管理器15a与邻近调度需求管理器15b达成了调度决议,故只要虚拟机调度器12分别向调度需求管理器15a和邻近调度需求管理器15b发出调度指令,则所述调度需求管理器15a和所述邻近调度需求管理器15b便可以执行虚拟机的调度。
[0150]在该调度请求未包含表示所述调度需求管理器15a与邻近调度需求管理器15b达成了调度决议的信息的情况下(ST502 否”),可以生成错误信息,通知管理员,也可以向发来调度请求的调度需求管理器15发送错误信息,也可以进行如图5b那样的操作(ST5001)。
[0151]图5b示出底层虚拟机调度器的一个实施例的虚拟机调度方法的流程图。更具体地说,图5b是图5a的ST502为“否”的情况下的一个实施例的虚拟机调度方法的流程图。特别需要说明的是,如上所述在图5a的ST502为“否”的情况下,不限于图5b的虚拟机调度方法,也可以生成错误信息,通知管理员,也可以向发来调度请求的调度需求管理器15发送错误信息。
[0152]图5b中的底层虚拟机调度器12的虚拟机调度方法既适用于在虚拟机调度系统中只有一个虚拟机调度器12a的情况,也适用于有两级或更多级虚拟机调度器12的情况。
[0153]图5b的ST501-ST503与图5a中的ST501-ST503完全相同,故不进行重复说明。
[0154]在该调度请求未包含表示所述调度需求管理器15a与邻近调度需求管理器15b达成了调度决议的信息的情况下(ST502 否”),监听来自其它调度需求管理器的调度请求(ST504),根据所述调度需求管理器15a的虚拟机的调度请求和其它调度需求管理器15的调度请求的需求量,判断所述调度需求管理器15a的虚拟机的调度请求和所述其它调度需求管理器15的调度请求是否能够匹配(ST505),如果能够匹配,则分别向所述调度需求管理器15a和所述其它调度需求管理器15发送有关对方的信息,并发送调度指令(ST506)。
[0155]在上述方案中,在该调度请求未包含表示所述调度需求管理器15a与邻近调度需求管理器15b达成了调度决议的信息的情况下,监听来自其它调度需求管理器的调度请求而不是非邻近调度需求管理器的调度请求的原因在于,可以简化流程。在该方案中,在监听时,无需判断调度需求管理器的调度请求的来自非邻近调度需求管理器还是来自邻近调度需求管理器。当然,也可以设为监听来自非邻近调度需求管理器的调度请求,此时只要判断调度需求管理器的调度请求的来自非邻近调度需求管理器还是来自邻近调度需求管理器即可。
[0156]在能够匹配时分别向所述调度需求管理器15a和所述其它调度需求管理器15发送有关对方的信息的理由在于,使得所述调度需求管理器15a和所述其它调度需求管理器15能够知道下一步向谁进行虚拟机调度。所述有关对方的信息可以包括对方的地址。只要能够识别对方,则所述有关对方的信息不限于地址信息,也可以是比如编号信息等。
[0157]其中,所述调度需求管理器15a的虚拟机的调度请求和所述其它调度需求管理器15的调度请求是否能够匹配表示:所述调度需求管理器15a的虚拟机迁出的请求和所述其它调度需求管理器15的虚拟机迁入的请求是否能够匹配;或者所述调度需求管理器15a的虚拟机迁入的
当前第3页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1