用于性能测量的管理程序和物理机以及其中的相应方法_2

文档序号:9333008阅读:来源:国知局
虚拟机和对等节点之间的性能测量的方法的例示实施例。管理程序与虚拟机相关联。
[0039]图1图示由与虚拟机相关联的管理程序执行以实现虚拟机和对等节点之间的性能测量的方法100,该方法包括:拦截110从虚拟机传送的或者去往虚拟机的分组,该分组包括针对虚拟机或针对对等节点的目的地地址;以及确定是否要在分组中插入管理程序时间戳。该方法进一步包括当确定要在分组中插入管理程序时间戳时,在分组中插入120管理程序时间戳,并且根据目的地地址向其目的地转发130分组。
[0040]管理程序运行在物理机的硬件上,并且管理程序进而运行虚拟机。虚拟机与对等节点通信,对等节点可以包括或者可以不包括运行另一虚拟机的管理程序。应当指出的是,与对等节点通信的是运行在虚拟机上的程序,这将在下面更详细地解释。向或从虚拟机发送的所有分组将以透明的方式通过或经过管理程序,所以可以这么说,管理程序对于虚拟机和对等节点来说不可见。当虚拟机和对等节点彼此通信(即,在彼此之间发送不同分组)时,它们分别使用某种虚拟机和对等节点的地址或端口。
[0041]虚拟机和对等节点可以不驻留或位于相同局部网络内,而是代之,它们可以借助于例如因特网的一个或多个互连网络彼此通信。替代地,虚拟机和对等节点驻留在相同物理机上。虚拟机(或者运行在虚拟机上的程序)可以与物理机(或者运行在物理机上的程序)通信。对等节点还可以是运行在相同管理程序或者另一管理程序上的虚拟机,该另一管理程序运行在物理机上。
[0042]例如,虚拟机或者对等节点的用户可能想要检验虚拟机和对等节点之间的通信性能。然而,定期或随机地确定要检验虚拟机和对等节点之间的通信性能的还可以是由虚拟机或对等节点执行的应用。检验性能的一个示例是通过发送测试分组,例如在虚拟机和对等节点之间发送Ping消息/分组。测试分组向用户提供信息,该信息关于例如当从虚拟机向对等节点传送测试分组、直到该分组被返回并且在虚拟机处被接收时所花费的延迟或时间。当然,对等节点可以是发起者,并且于是测试分组向对等节点的用户提供信息,该信息关于例如向虚拟机传送测试分组、直到测试分组被返回并且在对等节点处被接收所花费的时间。
[0043]如上所述,向或从虚拟机发送的分组可以透明地通过管理程序。如果测试分组正好将经过管理程序,则可以从测试分组的信息推断的结论(例如往返时间)仅涉及分组向虚拟机和对等节点、从虚拟机和对等节点、或者在虚拟机和对等节点之间行进的时间。
[0044]该方法包括管理程序拦截110从虚拟机传送的或者去往虚拟机的分组,分组包括针对虚拟机或针对对等节点的目的地地址。这意指虚拟机将测试分组传送向对等节点,或者分组已经从对等节点传送并且寻址到虚拟机。管理程序确定是否要在分组中插入管理程序时间戳。这将在下面更详细地解释,但简而言之,管理程序察看或检查分组,并且如果满足一个或多个准则,则管理程序确定管理程序时间戳应该被插入到分组中。因而,当确定要在分组中插入管理程序时间戳时,该方法包括管理程序在分组中插入120管理程序时间戳。然后管理程序根据目的地地址将分组向其目的地转发130,即向虚拟机转发分组或者将分组朝向对等节点转发。
[0045]由管理程序执行的方法具有若干可能的优点。一个优点在于,一旦分组已经行进完它的路线,可能从测试分组提取更多信息。(多个)管理程序时间戳使得能够从使用标准化协议的端对端主动测量中来定位可能的性能劣化,该劣化可能是由于虚拟化引起的,或者由于互连物理机(虚拟机运行在其上)和对等节点的网络引起的。另一优点在于,该方法可以提供用于系统诊断的功能,例如可能的问题是由于物理机的特定硬件上的虚拟化还是由于网络引起的。再一优点在于,对虚拟机没有影响,影响仅在对于虚拟机来说透明的管理程序中。再进一步地,该方法可以使得云(或虚拟机)的用户能够学习管理程序的性能并且测量服务水平协定SLA。
[0046]根据实施例,确定是否要在分组中插入管理程序时间戳基于诸如地址和端口号之类的分组属性。
[0047]如果分组是测试分组,则该分组可以包括使管理程序可能确定其应该将管理程序时间戳插入到分组中的信息。一旦管理程序已经拦截分组,管理程序可以查看分组中包括的会话参数,诸如例如发送器因特网协议IP地址、接收器IP地址、发送器端口、接收器端口。如果分组例如包括特定发送器端口或接收器端口,则管理程序能够确定分组是测试分组,并且管理程序将会将管理程序时间戳插入到分组中。
[0048]根据再一实施例,确定是否要在分组中插入管理程序时间戳基于分组具有预定协议。
[0049]例如,当分组具有双向主动测量协议TWAMP或者因特网控制消息协议ICMP时,则管理程序时间戳要被插入到分组中。
[0050]通常,测试分组具有特定协议,即运行在管理程序上的虚拟机采用特定测试协议以便监管、监控或测试虚拟机和对等节点之间的连接或网络。还有,当在虚拟机和对等节点之间发送数据时,可以使用另一特定协议,例如IP或者与IP结合的传送控制协议TCP,SPTCP/IP。存在虚拟机和对等节点可以使用以用于彼此进行数据通信的通信协议的许多其它示例。
[0051]如上所述,当要在虚拟机和对等节点之间执行测试或测量时,使用特定测试协议,并且测试协议的两个示例是TWAMP和ICMP。
[0052]应该注意的是,这些只是示例,并且可以采用其它测试协议。进一步地,还可以是,是否要将管理程序时间戳插入到分组中的决策可以基于上面示例中的一个或多个示例,并且还与其它准则结合,使得由于准则/多个准则,例如TWAMP或ICMP的分组将不必要具有插入到其中的管理程序时间戳。
[0053]本文中的实施例还涉及当虚拟机是在虚拟机和对等节点之间的测量的发起者时,如上面已经描述的用于在虚拟机和对等节点之间执行性能测量的、由包括执行至少一个虚拟机的至少一个管理程序的物理机执行的方法。
[0054]现在将在下面参照图2a描述这样的方法。
[0055]图2a图示由物理机执行的方法200,包括:虚拟机创建202要被传送到对等节点的分组;虚拟机初始化203分组,包括将第一虚拟机时间戳插入在分组中;以及虚拟机朝向对等节点传送204分组。该方法进一步包括:管理程序拦截210从虚拟机传送的分组;管理程序将第一管理程序时间戳插入220在分组中;以及管理程序朝向对等节点转发230分组。再进一步地,该方法包括:当分组从对等节点被传送回到虚拟机时,管理程序拦截240分组;管理程序将另外的管理程序时间戳插入250在分组中,并且管理程序向虚拟机转发260分组。该方法还包括虚拟机生成270用于分组的最终虚拟机时间戳。
[0056]再次物理机运行包括在物理机中的硬件上的管理程序,并且虚拟机运行在管理程序上。借助于通信网络,物理机连接到对等节点。以这种方式,使得运行在物理机的管理程序上的虚拟机能够与对等节点通信。
[0057]当要由虚拟机和对等节点执行性能测量时,虚拟机或者对等节点可以是发起者。然后,另一方可以被称为反射器或反射方。在该实施例中,虚拟机是发起者。
[0058]可以存在运行在虚拟机上的应用,该应用控制性能测量。稍后这将参照图4b更详细地解释。
[0059]该方法包括虚拟机创建202要被传送到对等节点的分组。该分组是要被传送到对等节点并且被反射回(即,由对等节点接收并且然后被传送回到虚拟机)的测试分组。
[0060]一旦虚拟机已经创建分组,虚拟机初始化203分组,这包括将第一虚拟机时间戳插入在分组中。在示例中,第一虚拟机戳发生在时间零时。然后虚拟机朝向对等节点传送204分组。虚拟机没觉察到管理程序,但是管理程序将拦截210分组,并且确定要插入管理程序时间戳。因而,管理程序将第一管理程序时间戳插入220到分组中,并且朝向对等节点转发230分组。通过虚拟机时间戳和第一管理程序时间戳,在虚拟机时间戳和管理程序时间戳之间过去的时间现在被“定义”或记录,使得以后可能评估在测试分组的创建和从物理机传送测试分组的时间之间过去的时间。在一些附加时间过去之后,分组从对等节点返回。对等节点也已经将一些时间戳插入到分组中,这将在下面更详细地解释。
[0061]虚拟机接收分组,并且当分组从对等节点被传送回到虚拟机时,管理程序拦截240分组。管理程序将另外的管理程序时间戳插入250在分组中,并且管理程序向虚拟机转发260分组。再次,从管理程序将另外的管理程序时间戳插入250在分组中的时候,直到虚拟机接收分组,一些时间将会过去。当虚拟机接收分组时,虚拟机生成270分组的最终虚拟机时间戳,其可以被插入到测试分组中或者其可以不被插入到测试分组中。
[0062]以这种方式,可能分析分组,并且从分析中可以推断总延迟(例如RTT)中的多少延迟是由于网络引起的以及多少延迟是由于虚拟化引起的,即物理机中的管理程序时间戳和虚拟机时间戳之间的时间。
[0063]假如对等节点也包括具有运行管理程序的硬件的物理机、管理程序运行虚拟机,则分组可以包括涉及发起虚拟机内的延迟、通信网络中的延迟、以及对等节点内的延迟的信息。因此,可以对测试分组执行更加详细的分析,以便可能找到什么地方可能发生或引入相对长的延迟。相对长的延迟可能是由于通信网络、对等节点或物理机(发起者)引起的。应该指出的是,对等节点也可以正好是物理机。通过能够定位可能的故障或瓶颈,可以采取有效和专门的措施,以改善整体性能或者修复可能的故障(在它已经发生的情况下)。
[0064]物理机执行的方法可以具有与管理程序执行的方法相同的优点。一个优点在于,一旦分组已经行进完它的路线,可能从测试分组提取更多信息。(多个)管理程序时间戳使得能够从使用标准化协议的端对端主动测量来定位可能的性能劣化,该劣化可能是由于虚拟化引起的,或者由于互连物理机(虚拟机运行在其上)和对等节点的网络引起的。另一优点在于,该方法可以提供用于系统诊断的功能,例如可能的问题是由于物理机的特定硬件上的虚拟化弓I起的还是由于网络引起的。再一优点在于,对虚拟机没有影响,影响仅在对于虚拟机来说透明的管理程序中。再进一步地,该方法可以使得云(或虚拟机)的用户能够学习管理程序的性能并且测量SLA。
[0065]根据实施例,该方法进一步包括:确定201虚拟机运行在其上的物理机的管理程序的数目以及对等节点的管理程序的数目,并且当创建分组时,每管理程序定义两个管理程序时间戳字段。
[0066]如上面描述的,物理机包括至少一个管理程序。换言之,物理机包括第一管理程序运行在其上的硬件。管理程序进而运行或执行第一虚拟机。第一虚拟机进而可以在虚拟硬件上运行第二管理程序,并且第二管理程序可以执行第二虚拟机。以这种方式,物理机可以被说成包括至少一个管理程序。相同推理对于对等节点有效。
[0067]为了所有管理程序都能够将时间戳插入到分组中,分组必须足够大以包括所有不同的时间戳,管理程序时间戳和虚拟机时间戳。由于通信链中的每个管理程序将插入两个管理程序时间戳,分组的大小必须能够包括每管理程序的两个管理程序时间戳。可以初始化分组,使得它包括用于每个管理程序时间戳的一个字段,并且因此包括物理机和对等节点的每管理程序的两个管理程序时间戳字段。
[0068]根据再一实施例,该方法进一步包括基于分组中包括的管理程序时间戳、虚拟机时间戳、以及最终生成的虚拟机时间戳,虚拟机分析280分组。
[0069]假如虚拟机是发起者,虚拟机执行或运行例如TWAMP应用或ICMP应用的测试应用。虚拟机的测试应用创建分组并且初始化分组,如上面已经描述的。在测试应用/虚拟机已经发起分组、将第一虚拟机时间戳Tl插入到分组中、并且朝向对等节点传送分组之后,在分组从对等节点返回时,测试应用/虚拟机接收分组,并且应用/虚拟机生成用于分组的最
当前第2页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1