背景技术
虚拟机是现有技术中已知的。一般而言,对计算机用户或者运行在计算机系统上的开发程序而言,虚拟机看起来是真实的物理计算机系统。然而,虚拟机不限于作为虚拟机的主机的计算机的物理规格;而是,虚拟机实际上是具有计算资源(例如虚拟存储器)的逻辑,其中由负责定义虚拟机的系统管理员来确定计算资源。
因此,对于系统管理员来说,存在很大的灵活性,由此可以通过定义为拥有企业的特定工作量而适当构建的虚拟操作系统而更有效地利用计算系统的物理资源。为此,单个物理机器可以作为一个或多个虚拟操作系统的主机,每个虚拟操作系统包括一个或多个虚拟机。
虚拟机具有作为真实操作系统的主机的其他功能性。即,单一虚拟机可以作为客户操作系统(guest operating system)的主机,该客户操作系统建立这样的幻像:操作系统正运行在其自己的物理计算机上。在帮助进行有效的软件测试方面,这是非常有用的概念。
例如,一些部门可能同时测试不同的软件制品,处于早期开发阶段的每个软件制品具有遇到严重错误的很大可能性,这些严重错误可能使整个操作系统失效。如果所有这些部件都运行在单一的真实操作系统上,则对于正在系统上测试的所有其他软件,一个软件制品的每个失效错误可能使得测试进入紧急中断状态。
在虚拟世界中,失效错误仅使运行故障软件制品的客户操作系统关闭。所有其他软件测试继续进行,因为其每个都运行在其自身专属的客户操作系统上,这些客户操作系统运行在专属虚拟机之下。
为了进一步提高计算系统的效率,可以定义随着时间发展的附加灵活性,通过该附加灵活性,跨越一个或多个虚拟操作系统的多个虚拟机运行在一个或多个物理计算系统上。这帮助作为随时间而增加的企业工作量的附加计算功率容易地转移。下文中将这种虚拟机的网络定义为“虚拟数据中心联合体”。
很明显,使用在多个物理计算系统上定义的多个虚拟机,将需要复杂的性能监视能力,以让系统管理员以正在进行的工作为基础适当地调整虚拟数据中心联合体。现有技术中已知迎合系统监视器需要的各种性能监视器程序,比如使用IBM虚拟机(VM)操作系统工作的IBM的RTM产品。
然而,现有技术中的虚拟机性能监视器制品在迎合系统管理员的需要方面是不完善的。随着大的软件开发企业中的测试工作量的增加,虚拟机的用户也具有一些性能监视能力就变得日益重要。以这种方式,一般用户(即不是负责虚拟联合体的全部操作的系统管理员)具有需要的工具以确保他或她的个人计划的及时执行。例如,随着恰当及时地获悉一个虚拟操作系统的性能,用户可以决定将用于给定的工作量的不同虚拟操作系统作为目标,由此加速他或她的个人计划,并通过选择具有更实用的计算资源的虚拟操作系统来帮助平衡全部工作量。
此外,通过检测随着计划软件的执行而出现的虚拟操作系统的性能统计中的变化,一般用户可以发现,给定的软件制品存在性能争议或问题。而且,在没有以用于企业的优化方式来调整虚拟数据中心联合体的情况下,通过在计划软件的执行期间捕获性能屏幕,一般用户可以积累有帮助的文件以与系统管理员共享。
现有技术的虚拟机性能监视器的另一缺点是,它们对于仅从先前预定的系统接收性能信息非常限制。例如,如果用户或管理员当前登录到了驻留于物理处理器上的一个虚拟机,则可能需要登录到不同的物理处理器上的第二虚拟机以便再次访问所需的性能信息。这种从一个虚拟机退出并登录到第二虚拟机以便获取性能信息的过程非常不方便,并且影响了用户和管理员的生产力。
因此,非常需要可在虚拟数据中心联合体内操作的、可以帮助一般用户以方便、有效并且不危害虚拟数据中心联合体的安全性和完整性的方式检索(retrieve)远程性能信息的改进的远程性能监视器。
发明内容
为了克服以上简要描述的现有技术中的这些限制,本发明提供了用于远程监视虚拟数据中心联合体内的目标虚拟操作系统的性能的方法、计算机程序制品和系统。
在一个实施例中,描述了一种方法,其中在驻留于虚拟数据中心联合体内的目标虚拟操作系统上的远程性能监视器(以下称为RPM)服务器处接收性能数据。由虚拟操作系统可操作的中央性能数据服务器生成并以预定间隔供应所述性能数据。
将性能数据的至少一部分保存在RPM服务器可访问的存储器中。然后,响应于来自驻留于虚拟数据中心联合体内的发端虚拟机中的RPM客户端的请求,由RPM服务器提取驻留于存储器中的数据的至少一部分,并将其供应给RPM客户端。
在另一实施例中,方法还可以包括:从性能数据的提取部分生成屏幕,并向登录到发端虚拟机上的用户显示该屏幕。在另一实施例中,进行授权检验,并且根据用户的授权状态,将授权错误返回给用户。在另一实施例中,用户可以登录到不同的虚拟机,并保留与原始虚拟机相同的检索性能数据的能力。
还给出了用于远程监视虚拟数据中心联合体内的目标虚拟操作系统的性能的本发明的系统。该系统可以具体化为运行在单一计算设备上或多个计算设备上的软件。所示实施例中的系统主要包括实现关于所述方法而在以上呈现的功能所需的模块和结构。更具体地,在一个实施例中,该系统包括计算设备、RPM客户端、RPM服务器和中央性能数据服务器。
一种具体包含了可由数字处理装置执行以进行远程监视虚拟数据中心联合体内的目标虚拟操作系统的性能的操作的机器可读指令的程序(或者可替换地“程序代码”)的信号承载介质。程序的操作主要包括与关于所述方法而在以上所述相同的功能。更具体地,程序的操作包括RPM客户端、RPM服务器和中央性能数据服务器的执行。
本说明书通篇对于特征、优点或类似语言的引用并不是暗示利用本发明可能实现的所有特征和优点都应该在或者在发明的任意单一的实施例中。而是,将涉及特征和优点的语言理解为意味着:关于实施例所述的特定特征、优点或特性等被包括在本发明的至少一个实施例中。因此,说明书通篇中对于特征和优点以及类似语言的描述指的是相同的实施例,但不是必须的。
此外,可以将所述本发明的特征、优点和特性以任何适当的方式组合在一个或多个实施例中。本领域普通技术人员将认识到,不用特定实施例的一个或多个具体特征或优点,也可以实践本发明。在其他情况下,可以在并未出现在本发明的所有实施例中的某些实施例中认识到的另外的特征和优点。
具体实施方式
现在参考图1,示出了适合于实践本发明的虚拟数据中心联合体的框图。虚拟数据中心联合体100包括物理系统PA 145和物理系统PB 150。典型地,物理系统145和150是主机(mainframe)系统,比如zSeries主机计算机系统。(zSeries是美国、其他国家或两者的国际商业机器公司的商标)。然而,本领域技术人员将认识到,对于zSeries的参考仅是示例性的,并且在此包含的教导可应用于任意的物理计算系统。
物理系统PA 145包括虚拟操作系统OA 110和虚拟操作系统OC 130。虚拟操作系统OA 110包括虚拟机VA 111、虚拟机VB 112和虚拟机VC 113。虚拟操作系统OC 130包括虚拟机VE 131和虚拟机VF 132。物理系统PB 150包括虚拟操作系统OB 120。虚拟操作系统OB 120包括虚拟机VD 121。
本领域技术人员将认识到,图1所表示的配置实际上是示例性的,并且例示多个处理器、多个虚拟操作系统和多个虚拟机的无限数量的其他配置是可能的。
图1还图示了虚拟机用户115、116、117、125、135和136。尽管具体的虚拟机用户可能登录到特定虚拟机上,但是用户可能对虚拟数据中心联合体100内的任意数量的其他虚拟机或虚拟操作系统感兴趣。例如,用户135当前登录到虚拟机VE 131上;然而,用户135可能已经调度了在虚拟机VD 121上运行的一个或多个工作。从而,用户135对浏览与虚拟操作系统OB 120以及虚拟操作系统OC 130的性能有关的信息感兴趣。
用户140被指定为图1中的“系统用户”。系统用户指的是具有浏览和改变虚拟数据中心联合体100内的系统信息的特定权限的用户,其中这种系统信息对于一般用户是不可用的。系统用户具有理解联合体性能数据并做出适当调整以改进全部虚拟数据中心联合体性能的特殊技能和训练。如所示,系统用户140当前没有登录到任何虚拟机,而是将典型地访问虚拟操作系统110、120和130。
现在参考图2,进一步详述图1的框图以示出根据本发明的另外的组件。虚拟操作系统OA 110包括RPM服务器SA 210和中央性能数据服务器CA290。虚拟操作系统OB 120包括RPM服务器SB 240和中央性能数据服务器CB 285;并且操作系统OC 130包括RPM服务器SC 260和中央性能数据服务器CC 265。
虚拟机VA 111包括软件组件RPM客户端CA 212。以类似的方式,示出了分别用于虚拟机112、113、121、131和132的RPM客户端222、232、242、252和262。
根据本发明,任意RPM客户端可以与虚拟数据中心联合体100内的任何RPM服务器通信;并且,任何RPM服务器可以与虚拟数据中心联合体100内的任何RPM客户端通信。为了简化,没有示出这些通信链接,但是根据以上陈述假定给出了这些通信链接。根据本发明,每个中央性能数据服务器290、285和265可以分别与RPM服务器210、240和260通信;并且每个RPM服务器210、240和260可以分别与中央性能数据服务器290、285和265通信。为了简化,没有示出这些通信链接,但是根据以上陈述假定给出了这些通信链接。
现在参考图3,进一步详述图2的框图以图示登录到一个虚拟机上的用户的具体例子,该虚拟机请求有关驻留于不同的物理机器上的不同的目标虚拟操作系统的性能信息。用户125登录到虚拟机VD 121上并请求有关虚拟操作系统OC 130的性能信息。对于此例子,将虚拟机VD 121称作发端(originating)虚拟机并且将操作系统OC 130称作目标虚拟操作系统。
以下表格图示了优选实施例中的一些示例类型的性能信息,其中一般用户或被授权的用户可以通过请求来自RPM客户端的具体性能屏幕而显示这些示例类型的性能信息:
在优选实施例中,可以根据如以上的“类别”列之下所述的用户的授权级别而请求各种性能屏幕。在“一般/授权的”的类别下的标示意味着性能屏幕对于一般用户是可用的,然而,可以在兑现该请求前指定将要求适当授权级别的各种子选项。
响应于用户125发起请求,RPM客户端CD 242接收控制并发起通信370,由此RPM服务器SC 260接收控制。响应于该通信,RPM服务器SC 260从RPM服务器SC 260可访问的存储器中检索所请求的性能数据,并经过通信链路370将所请求的数据返回到RPM客户端CD 242。然后RPM客户端CD 242将该数据显示给用户125。
下文中更详细说明,RPM服务器SC 260以预定间隔发起通信371,由此中央性能数据服务器265接收控制。响应于该通信,中央性能数据服务器265生成所请求的性能数据,并经过通信链路371将所请求的数据返回到RPM服务器SC 260。RPM服务器SC 260将该性能数据保留在可访问的存储器中,以满足来自虚拟数据中心联合体300内的任何RPM客户端的进一步请求。
在优选实施例中,中央性能数据服务器265可以是虚拟数据中心联合体的现有性能服务器组件,现有技术中已知为“FCON”。
现在参考图4,进一步详述图2的框图以图示登录到一个虚拟机上的用户的特定例子,该虚拟机请求有关驻留于相同的物理机器上的不同目标虚拟操作系统的性能信息。用户115登录到虚拟机VA 111上并请求有关虚拟操作系统OC 130的性能信息。对于此例子,将VA 111称作发端虚拟机并且将虚拟操作系统OC 130称作目标虚拟操作系统。
响应于用户115发起对于性能信息的该请求,RPM客户端CA 212接收控制并发起通信470,由此RPM服务器SC 260接收控制。响应于该通信,PM服务器SC 260从RPM服务器SC 260可访问的存储器中检索所请求的性能数据,并经过通信链路470将所请求的数据返回到RPM客户端CA 212。然后RPM客户端CA 212将该数据显示给用户115。
下文中更详细说明,RPM服务器SC 260以预定间隔发起通信471,由此中央性能数据服务器265接收控制。响应于该通信,中央性能数据服务器265生成所请求的性能数据,并经过通信链路471将所请求的数据返回到RPM服务器SC 260。RPM服务器SC 260将该性能数据保留在可访问的存储器中,以满足来自虚拟数据中心联合体400内的任何RPM客户端的进一步请求。
现在参考图5,进一步详述图2的框图以图示登录到一个虚拟机上的用户的特定例子,该虚拟机请求有关包括了进行请求的用户的虚拟机的目标虚拟操作系统的性能信息。用户125登录到虚拟机VD 121上并请求有关虚拟操作系统OB 120的性能信息。对于此例子,将VD 121称作发端虚拟机并且将虚拟操作系统OB 120称作目标虚拟操作系统。
响应于用户125发起该请求,RPM客户端CD 242接收控制并发起通信570,由此RPM服务器SB 240接收控制。响应于该通信,PM服务器SB 240从RPM服务器SB 240可访问的存储器中检索所请求的性能数据,并经过通信链路570将所请求的数据返回到RPM客户端CD 242。RPM客户端CD 242然后将该数据显示给用户125。下文中更详细说明,RPM服务器SB 240以预定间隔发起通信571,由此中央性能数据服务器CB 285接收控制。响应于该通信,中央性能数据服务器CB 285生成所请求的性能数据,并经过通信链路571将所请求的数据返回到RPM服务器SB 240。RPM服务器SB 240将该性能数据保留在可访问的存储器中,以满足来自虚拟数据中心联合体500内的任何RPM客户端的进一步请求。
现在参考图6,流程图600教导了RPM客户端的一个实施例。处理开始于步骤605,然后,在步骤610中,从登录到发端虚拟机上的用户接收对于性能屏幕的请求。继续到步骤615,进行测试以确定用户请求是否标识了目标虚拟操作系统。如果是,则在步骤620中,使用指定的目标虚拟机的节点名。否则,如果用户请求未标识目标虚拟操作系统,则在步骤618中,将与用户的发端虚拟机关联的节点名默认为目标节点名。
从步骤620或618继续,处理在步骤625假设确定了与目标节点名相关联的虚拟数据中心联合体。在步骤630中,进行测试以确定步骤625所确定的虚拟数据中心联合体是否与用户的发端虚拟机(即用户登陆到的虚拟机)相关联的虚拟数据中心联合体相同。如果与用户的发端虚拟机相关联的虚拟数据联合体不同于与步骤625中所确定的目标虚拟机相关联的虚拟数据联合体,则在步骤635中,处理以错误条件终止。否则,处理继续到步骤645。
在步骤645中,进行测试以确定用户是否被授权检索所请求的性能屏幕。如果否,则处理以错误条件在步骤650终止。否则,处理在步骤655继续,其中,性能屏幕请求被发送到与目标虚拟操作系统相关联的RPM服务器。
继续到步骤660,由RPM服务器将所请求的屏幕返回到RPM客户端。在步骤655中,向用户显示性能屏幕。在替换实施例中,在向用户显示之前,由RPM客户端从性能屏幕中删除超过用户的授权级别的性能信息。
如果做出对性能屏幕的另一用户请求,则在步骤670,处理返回到前述的步骤610。否则,处理在步骤675正常终止。
现在参考图7,流程图700教导了RPM服务器的一个实施例。处理开始于步骤705,然后在步骤710中,进行初始化处理以在其各自的虚拟操作系统中确定RMP服务器的存在。在步骤715中,进行测试以确定是否发生了周期性间隔中断的情况。如果否,则控制到达步骤720,其中,RPM服务器将请求发送到可在与RPM服务器相同的虚拟操作系统上操作的中央性能数据服务器。然后,在步骤725中,中央性能数据服务器将所请求的性能屏幕返回到RPM服务器,所请求的性能屏幕被存储在RPM服务器中,用于进一步的RPM客户端请求的处理。然后处理继续到步骤755,其中,RPM服务器等待下一工作请求,这时控制返回到上述的步骤715。
现在回到步骤715,如果RPM服务器请求不是间隔中断,则处理继续到步骤730,其中,进行测试以确定这是否是RPM客户端请求。如果否,则在步骤735中,进行附加测试以确定该客户端请求是否有效。如果其不是有效请求,则处理在步骤740异常终止,否则处理在步骤737继续,其中,进行测试以确定用户是否被授权检索所请求的性能信息。如果否,则处理在步骤740异常终止,否则处理继续到步骤745。在步骤745中,从RPM服务器存储器中选择RPM客户端请求的性能屏幕。然后,在步骤750,将在以上步骤745选择的所请求的性能屏幕返回到RPM客户端,并且处理在上述的步骤755继续。现在返回步骤730,如果这不是RPM客户端请求,则处理前进到上述步骤755。
现在参考图8,流程图800教导了中央性能数据服务器800的一个实施例。处理开始于步骤805,并且在步骤810中,响应于管理员命令而启动并初始化中央性能数据服务器。在步骤815中,进行测试以确定是否发生了周期性间隔中断的情况。如果是,则控制到达步骤820,其中,中央性能数据服务器收集用于相关联的虚拟操作系统的虚拟操作系统性能数据。然后,在步骤825中,中央性能数据服务器将该性能数据保存在存储器中,用于进一步的用户请求的处理。然后处理继续到步骤855,其中,中央性能数据服务器等待下一工作请求,这时控制返回到上述步骤815。
现在返回到步骤815,如果请求不是间隔中断,则处理继续到步骤830,其中,进行测试以确定这是否是来自中央性能数据服务器的服务的用户(例如RPM服务器)的性能数据请求。如果是,则在步骤835中,进行附加测试以确定用户请求是否有效。如果其不是有效请求,则处理在步骤840异常终止,否则处理在步骤837继续,其中,进行附加测试以确定用户是否被授权检索所请求的信息。如果用户未被授权,则处理在步骤840异常终止。否则,处理继续到步骤845,其中,从中央性能数据服务器可访问的存储器中检索用户请求的性能数据。然后,在步骤850,将所请求的性能数据返回到调用中央性能数据服务器服务的用户(例如RPM服务器)。在步骤850后,控制到达步骤855,其中,中央性能数据服务器等待下一请求,然后前进到上述步骤815。现在返回步骤830,如果请求不是对于数据的用户请求,则控制到达上述步骤855。
采取组合,流程图600、700和800与支持图和详细描述结合提供了通过登录到虚拟数据中心联合体内的任意虚拟机上而远程监视在该虚拟数据中心联合体内的虚拟操作系统的性能。根据在此包含的教导,为一般用户提供了在以安全和不分裂虚拟数据中心联合体的方式获取所需的性能信息方面的极大灵活性。