一种机群监控系统和方法

文档序号:6593454阅读:107来源:国知局
专利名称:一种机群监控系统和方法
技术领域
本发明涉及一种计算机机群通信方法和系统,尤其涉及大型机群系统的监控网络的通信方法和系统。
计算机机群系统是多台服务器(结点机)组成,它们通过专用高速网络聚合在一起,构成一个超级服务器。在实际应用中,机群系统的安全稳定运行显得尤为重要,因此,有必要对机群系统中的所有结点机软硬件的运行情况进行监控,随时发现问题,并排除故障,而且,人们更希望把整个机群系统作为一个单一映像进行监控。这就需要有一个能够对整个机群系统进行监控的监控系统。
目前,经常使用的一种监控系统采用的通信方案是监控主机直接与各个结点机通信,获取监控信息(如

图1所示)。先由运行于各结点机服务器上的代理程序获取所在结点机2的运行状态信息,然后直接传送给监控主机1,实现监控主机对各服务器的监控。
现有通信方法存在许多明显的缺陷首先,现有方案仅适用于结点数较少的情况,当结点数目增大到一定数量时,采用这种直接的通信方式就不能够满足要求。例如,所监控的机群共有256个结点,如果采用TCP(传输控制协议)作为底层通信协议,则监控主机需要维持256个TCP连接,这会占用大量的系统资源,甚至根本不能实现。如果采用UDP(用户数据报协议)作为底层通信协议,则监控主机有可能在同一时间收到大量的UDP包,一旦监控主机未能及时处理这些包,就很有可能出现丢包情况,即出现丢失监控信息的情况。对于这种情况,目前还没有较好的解决办法。
其次,监控系统作为机群系统的重要组成部分,是作为后台服务运行的,它不能占用过多的系统资源而影响机群系统的其他应用的运行。而按照现有的监控系统通信方案,监控系统的运行会占用大量的系统资源,从而干扰机群系统的正常运行。为此,需要一种新的实现方式,尽可能地少占用系统资源,使得监控系统在整个机群系统中的运行开销降至最低。
再次,现有监控系统的通信方案不能很好地保证对各个结点数据采集的同步性,也就是说,不能同步地对各个结点机在同一时刻的运行情况进行收集。这样,就不能够客观、准确地了解机群系统的整体运行情况,而且也不能体现整个机群系统的单一映像特征。
基于现有监控系统通信方案的上述缺陷,我们迫切需要一种新的技术解决方案,能够适用于多结点的大型机群系统,在不占用过多的系统资源的前提下,同步地对各个结点机的运行情况进行监控。
本发明的又一个目的在于提供一种新的用于机群的通信和监控系统和方法,该系统和方法易于对机群系统中结点机数量进行扩展。
本发明的再一个目的在于提供一种新的用于机群的通信和监控系统和方法,该系统和方法可以保证对各结点机数据采集的同步性。
本发明的进一步目的在于提供一种新的机群通信和监控系统和方法,该系统和方法可以减少对系统资源的占用,从而降低运行成本。
本发明的另一个目的在于提供一种新的机群的通信和监控系统和方法,该方法可用于机群软件和硬件信息的采集和监控。
本发明的其它目的和优点将通过阅读和理解本发明的以下描述后得出。
本发明提供了一种机群监控系统和方法,该系统和方法用于对大型服务器机群系统的监控,所述系统和方法包括将被监控的机群系统的所有结点机分为若干个组,在各结点机上运行结点采集模块,由它负责对结点数据的采集,在每个组中的一个结点机上运行结点代理模块,由它负责采集命令及数据的传递,监控主机不直接与所有的结点机通信,而由中间结点代理结点机与监控主机的通信。
本发明还提供了一种用于机群监控网络通信的分级方法,其特征在于将监控系统的各个模块分为不同的功能级。
图2表示根据本发明的监控方案的一个较佳实施例。
图3表示根据本发明的监控方案中采集命令的发送过程。
图4表示根据本发明的监控方案中采集数据的汇总过程。
附图2显示了根据本发明的监控系统的一个较佳实施例。在监控主机上运行着基本服务模块(BSP)11,它负责在需要了解机群系统运行状态时发出数据采集命令,然后等待并接收由结点机返回的数据,对其进行汇总和分析处理。机群系统的所有结点机分为若干个组12,各个组12分别有N个结点机(如附图3和4中所示),但只有一个结点机上运行着结点代理模块(NP)14,而每个节点机上都运行着结点采集模块(NA)13。其中NP模块14负责在收到来自BSP的采集命令后,将采集命令传送给该组中所有结点机的NA模块,然后等待并接收NA模块返回的数据,将其汇总后统一发送给BSP;NA模块13则负责周期性地采集所在结点机的运行状态数据,并在收到采集命令后立即返回最新一次的采集数据。NA模块和NP模块都是运行于结点机操作系统之上的软件或程序。
根据以上所述,我们可以看出,监控系统的模块按照各自的功能分为三级,BSP为第一级,NP为第二级,NA为第三级。处于不同层次级别的模块完成不同的任务,他们相互配合,实现对机群系统的监控。
一次信息采集过程可以分为两个步骤一、采集命令的发送。如附图3所示,BSP模块11首先通过UDP广播方式把采集命令广播到所有的NP模块14,这样,采集命令就同步到达所有的NP;NP收到采集命令后,立即以UDP广播方式把采集命令广播到所在组12中的所有NA模块13,同样,采集命令又同步到达所有的NA模块。我们不难看出,BSP发出的采集命令最终同步到达整个机群系统中的所有NA模块。
二、采集数据的汇总。如附图4所示,各个NA模块13周期性地采集所在结点机的运行状态数据,并存储在缓冲区中,当收到NP模块14发出的采集命令时,就将最新一次采集到的数据信息立即传送给NP;各NP接收本组12所有NA返回的采集数据,将其汇总后统一传送给BSP模块11;BSP接收所有NP返回的数据,进行汇总,并插入数据库中。
根据以上所述,由于数据采集命令同步到达所有的NA,NA接到命令立即返回最新一次采集的数据,所以,BSP最终收到的是所有结点机在同一时刻的运行状态数据,能够反映机群系统的整体运行情况。
由于NA模块自身周期性地采集数据,能够快速响应采集命令,保证信息采集过程迅速完成。NA模块的采集周期经过合理设置,既保证了数据的实时性,又最大程度地减少了结点机的资源。从而也降低运行成本。
监控主机的另一个程序GCM(监控显示模块)从数据库中读出数据,并可以以图形化的方式显示出来。
下面作为本发明较佳实施例的一个运用给出一个例子。
一个机群系统由256个结点机(服务器)组成,256个结点机分别安放在16个机柜中,每个机柜中安放16个结点机。这256个结点机通过以太网络设备连接成一个大型机群系统。
为了对该系统每个结点机的运行情况进行监控,根据本发明,我们将这256个结点机按照其物理布局(机柜)分组,每个机柜中的16个结点机为一组,共16个组。在每个结点机上都运行结点采集模块NA,在每组16个结点机的其中一个上还运行着结点代理模块NP。监控主机上运行BSP,它通过以太网络与NP和NA通信。
当监控主机BSP需要了解机群运行状态时,首先将采集命令以UDP广播方式发送到16个组的NP;每个NP在接到该命令后,立即以UDP广播方式将该命令发送到该组的16个NA。这样,BSP发出的采集命令就同步到达全部(256个)结点机的NA。
各个NA周期性地采集所在结点机的数据,存放在缓冲区中,当它收到NP的采集命令后,立即返回最新一次的采集数据;每个NP收到该组中16个NA发回的数据,将其汇总后发送给BSP。
本发明的机群通信方法和系统可以用于对软件信息的采集和监控,软信息包括CPU利用率、内存利用率、网络流量、用户进程等。本发明的机群通信方法和系统也可以用于对硬件信息采集和监控。比如,由于在IO节点机的主板上使用其它类型结点机的采集装置不能正常工作,所以IO节点机的所有信息都是通过以太网获取。IO节点机硬件信息与其他节点机硬件信息的传输方式不同,IO节点机硬件信息的采集方式也不同。下面做一说明。
IO节点机上的代理程序NA除完成采集软件信息的任务外(这一点和普通的NA一样),它还要采集IO节点机的硬件信息。其硬件信息的获取途径是通过主板上的BMC芯片和I2C总线,遵循IPMI规范,读取硬件的信息。在给中间代理层或中间程序NP的传输的过程中,在软件信息后附上硬件信息;NP在接收到IO节点机的信息时,同时也将硬件信息抽取出来,附在整个机柜信息的后面,传输给BSP;BSP在接收到IO节点机所在的机柜的信息时,将硬件信息抽取出来,放在硬件信息的缓冲区中,等待存入数据库中(在这一层次上,BSP的分离软硬件信息,使得数据库和GCM不用关心IO节点机软硬件信息的不同之处,从而达到隐藏的目的)。
从上面对本发明实施例的描述可以看出,本发明的机群监控系统和方法很容易对机群结点机的数量进行扩展。比如,在上述例子中从256个结点机扩展到320个结点机时,对于BSP而言,只增加了4个接受和发送信息的NP模块。关于NA程序和NP程序的内部结构,本技术领域的技术人员根据本发明对其编程是很容易的,这里就不再赘述。
显然,本领域的技术人员可以对本发明的计算机机群监控方法和系统进行各种改动和变型而不脱离本发明的精神和范围。这样倘若本发明的这些修改和变型属于本发明权利要求及其等同技术范围之内,则本发明也意图包含这些改动和变型在内。
权利要求
1.一种计算机或服务器机群监控的通信方法,所述机群有多个结点机和一个监控主机,所述方法包括如下步骤将被监控机群的所有结点机分为若干个组;在各结点机上运行一个结点采集模块,负责对结点数据的采集;在每个所述组中的一个结点机上运行中间结点代理模块,建立与所述监控主机的通信和与所述组内的所有结点机的结点采集模块之间的通信,从而将各结点机被采集的结点数据传送给所述监控主机。
2.如权利要求1所述的通信方法,所述建立与监控主机的通信包括步骤接收所述监控主机向每个所述组的中间结点代理模块同时下发的数据采集指令。
3.如权利要求2所述的通信方法,所述建立与监控主机的通信进一步包括步骤由每个所述组的中间结点代理模块向所述监控主机发送所述结点数据。
4.如权利要求1所述的通信方法,所述建立与所述组内的所有结点机之间的通信包括步骤向组内所有结点机同时发送数据采集指令并接收来自所有结点机的结点数据。
5.一种计算机或服务器机群的监控系统,所述机群有多个结点机,所述系统包括一个主监控装置,在各结点机上的一个结点采集装置,负责采集各结点机上的结点数据;所有所述结点机分为若干个组的每个所述组中的一个结点机上的中间结点代理装置,负责与所述主监控装置和与组内各结点采集装置的通信。
6.一种计算机或服务器机群的通信方法,所述机群有多个结点机,所述方法包括如下步骤在各结点机上运行一个结点采集模块,负责对结点数据的采集;在每个结点机上运行中间结点代理模块,负责提取所述各结点机采集的结点数据和向外传送所述提取的各结点机采集的结点数据。
7.一种用于计算机或服务器机群的通信方法,所述机群有多个结点机和一个监控主机,所述方法包括如下步骤在所述机群的多个结点机和监控主机之间建立中间通信结点。
全文摘要
一种机群监控系统及方法,该方法采用分级方案,由中间模块代理监控主机与结点机之间的网络通信,从而实现了对多结点的大型机群系统的网络监控。
文档编号G06F13/42GK1466056SQ0214216
公开日2004年1月7日 申请日期2002年8月27日 优先权日2002年6月10日
发明者程菊生, 吴雪丽, 金正操, 顾光导, 胡毅, 田宏萍 申请人:联想(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1