本站小编为你精心准备了通信集群服务器监视系统研究参考范文,愿这些范文能点燃您思维的火花,激发您的写作灵感。欢迎深入阅读并收藏。
前言
SNMP是目前常用的环境管理协议,它与协议无关并且可以在IP、IPX、APPLETALK、OSI等网络传输协议上使用。它提供了从网络上的设备中收集网络管理信息的方法,为设备向网络管理工作站报告问题和错误提供了方法,使用SNMP技术不会修改设备系统所有的网络设置。目前的SNMP是一个从网络上的设备收集管理信息的公用通信协议,并且绝大部分网络设备都实现了对SNMP协议的支持。SNMP简单模型如图1所示。
SNMP定义了管理进程(manager)和管理(agent)之间的关系,这个关系称为共同体(community)。描述共同体的语义是非常复杂的,但其句法却很简单。位于网络管理工作站(运行管理进程)上和各网络元素上利用SNMP相互通信对网络进行管理的软件统统称为SNMP应用实体。若干个应用实体和SNMP组合起来形成一个共同体,不同的共同体之间用名字来区分,共同体的名字则必须符合Internet的层次结构命名规则,由无保留意义的字符串组成。此外,一个SNMP应用实体可以加入多个共同体。
1SNMP的基本实现
设备的管理者收集从网络上的设备管理信息并记录在管理信息库(MIB)中,MIB包含了机(被监视设备)中的有关配置和性能的数据,有一个组织体系和公共结构,其中包含分属不同组的许多对象。MIB数据对象以一种树状分层结构进行组织,这个树结构(见图2)中的每个分枝都有一个专用的名字和一个数字节的标识符。本系统的MIB应用以一种树状结构浏览的方式访问整个MIB数据库,通过数字标识来查找MIB中的数据对象,这个数字标识符号从结构树的顶部(根部)开始,直到各个叶子节点(数据对象)为止。到达目标设备的路径即为设设备的对象标识符(objectidentifierdesendant,OID),本系统可通过其寻址到要检测和监视设备。OID是以管理信息结构(StructureofManagementInformation,SMI)为基础的一系列点分符号,如1.3.6.1.2.1.1,这些点分符号在任何网络中都惟一标识某一个特定数据参数。跟其它程序实现过程一样,整个SNMP协议管理编程也要经过一个创建、执行、撤销的过程。初始化SNMP环境即加载SNMP的功能,接着执行所进行的操作,SNMP是基于消息机制的,所以消息的传递与管理是程序实现的核心技术。整个SNMP协议的程序实现过程可大体分为加载SNMP,建立会话,设置实体模式,发送接收消息,提取数据报,取得返回值,最终实现设备的实时监视。
2关键技术分析
2.1ServerSystemMIB子集
结合本部门的设备实际情况而言,集群服务器平台下的DigitalUNIX4.0D操作系统使用了Compaq的ServerSystemMIB变量来建立EnvironmentMonitor,但是其缺乏灵活性和易用性,仅仅使用了ServerSystemMIB一个子集。如图3所示。
本文的设计思想绕过系统的EnvironmentMonitor,直接调用系统函数SNMP_send、SNMP_get等函数访问ServerSystemMIB(或在客户端发送SNMP标准协议包实现),获取系统当前的温度、风扇、电源等传感器状态值,达到对系统硬件状态的实时、准确的监视。经过扩展使用的ServerSystemMIB子集。如图4所示。
2.2工作站的SNMP环境监测技术分析
工作站的Windowns系统首先需要启动SNMP服务,从而在工作站上建立起SNMP管理,使得管理客户端只需要通过网络发送标准的SNMP_send、SNMP_get等协议包既可获取相应于系统硬件状态的OID值。
从客户端/服务器的角度来看,监视系统工作站和SNMP既是客户端,同时又充当服务器的角色。作为服务器,本系统监听UDP端口162,接收SNMP发送的消息;SNMP监听UDP端口161,接收本系统发送的查询请求。作为客户机,本系统可以随时向SNMP发送查询请求。因此,基于Windowns系统下开发的该“集群服务器状态监视系统”实际上就是一个客户端。本系统开发的主要工作有以下两点:
(1)构造正确的PDU,组成SNMP报文;
(2)对发送(接收)的SNMP报文进行BER编码和解码。BER编码处理后的SNMP报文,提交给UDP,同时指定SNMP的IP地址和端口号即可。接收到返回的应答数据包后,再对SNMP报文进行相应的解码分析和处理。
2.3网络交换机的SNMP环境监测技术分析
通过深入分析网络交换机的MIB库,选取适应本分系统的OID,可以实时监测到包括网络交换机的各个模块的运行状况,在此基础上,还可以建立相关数据库文件,统计网络流量、拥塞状态等,选取的switchhubMIB子集。如图5所示。
3简单网络管理协议在集群服务器中的应用
目前国内对大型集群服务器硬件设备监视手段比较单一,缺乏对这些网络集群运行设备的统一监视手段,仅能从设备底层驱动级对其进行监视,无法通过底层传感器得到硬件设备实时参数信息(例如:机箱风扇状态、CPU风扇状态等)。这种基于简单网络协议思想建立、开发的硬件设备实时监视系统,很好地利用底层传感器的有效数据,解决了系统硬件状态的实时监视问题,基本实现了对各种服务器的监视功能,能够更好地对在线运行设备进行管理、维护,基本做到了全方位、全天候监视,大大提高了系统的可维护性。
3.1SNMP与两种常见协议的比较
集群服务器状态监视系统充分地利用了SNMP具有简单性、扩展性、独立性的特性。
(1)简单性:不用采取类似UDP的连接方式需要在被管理设备上创建新进程的方法,从而影响到其它程序的稳定运行;也不使用TCP“三次握手”来建立的连接方式,避免了浪费网络、内存资源,实现比较复杂,而且TCP协议很少参与底层网络的操作,无法监视到底层设备,适合在复杂的互联网上运行;
(2)扩展性:通过定义新的被管理设备即拥有MIB信息的设备,可以非常方便地扩展管理功能而且可管理绝大部分符合Internet标准的设备;
(3)独立性:即使被管理设备发生严重错误时,也不会影响管理设备的正常工作。
3.2简单网络协议中MIB的应用
管理信息库(MIB)是网络管理中的重要组成部分。每个MIB包含系统与设备的状态信息、运行的数据统计、配置参数等。通过SNMP的五种命令就可以读取或设置MIB库中变量的值,获得MIB信息的七种PDU。
所有的MIB对象类型被收集到一个或多个管理信息库中并且对象类型按照管理信息结构和标识(SMI)定义。一个对象类型的名字明确地代表一个对象,称为对象标识符。对象标识符是按照在MIB树中建立的严格分层空间构造的,对象标识符总是一个惟一的从树根开始描述MIB树的整数序列。这里处于简单性考虑,使用了SNMP定义其中的五种操作,每种操作对应一种PDU。
(1)GetRequest查询请求PDU,由管理工作站发出,PDU中指明一个或多个要求查询的对象。接收、处理后,返回GetRequest应答PDU。
(2)SetRequest设置请求PDU,由管理工作站发出,PDU中指明一个或多个要求设置的对象。接收、设置后,返回GetResponse应答PDU。
(3)GetNextRequest查询请求PDU,由管理工作站发出,PDU中指明一个或多个要求查询的对象。和GetRequestPDU不同的是,GetNextRequestPDU实际操作的对象,不是PDU中指明的对象,而是按字典序的下一个对象。接收、处理后,返回GetResponse应答PDU。
(4)GetResponse应答PDU,由应答管理工作站发出的查询、设置请求PDU。应答PDU中包含了处理结果以及出错代码。
(5)Trap发出,向管理工作站报告本地网络事件。所以,通过MIB,网络管理器对管理对象的管理就简化为网络管理器对被管对象的MIB库的内容的查看和设置。对不同的设备,只要它们有相应的软件和统一的MIB,网络管理器就可以对它进行统一管理。同时,网络管理器对被管对象的控制也通过MIB改变为对MIB内变量值的设置,这样就避免了管理协议定义过多的控制信息,因为新的控制功能可以通过在MIB中增加对应的新的变量来实现,而不必增加新的控制信息。
3.3集群服务器状态监视系统
在对SNMP进行细致分析的基础上,该软件设计了基于Windows系统、面向UNIX应用软件的集群服务器状态监视系统。管理信息库的组织方式采取类似于SNMP的管理信息组织方式—MIB树的方式来组织被管对象。协议数据单元方面保持SNMP基本操作,力求在管理站点上提供给管理机一个整个管理区域内的MIB树的直观映射,以方便管理机对管理对象的实时监视。
3.4系统流程
根据以上关于SNMP协议的理论,结合本部门的实际情况,集群服务器状态监视系统的流程设计如图6。
3.5SNMP与集群服务器的有机结合
就近些年国内对硬件设备监视的种类来看,基于SNMP技术对设备监视的手段已经存在,这种基于SNMP协议建立的硬件设备实时监视系统的方法实现了对集群服务器进行运行状态监视的功能。针对集群服务器设备的特点,我们实现了SNMP技术与集群服务器的有机结合,使得集群服务器状态监视系统方法和手段变得更为灵活、易于使用,并且该方法不需要对操作系统做任何的改动,大大增强了该方法的稳定性。而且通过该技术研发的硬件实时监视系统还具有很强的可扩展性和移植性。可将支持SNMP协议的所有设备添加到该系统内,为构建统一的监视平台提供了技术支持,为其进行全面的设备状态监视,以便达到更好的设备管理、维护目的(如图7)。
4完成情况和有待解决的问题
4.1完成情况
基于简单网络协议、数据处理分系统设备的现状,通过VC具体编译设计监视系统,实现了利用底层传感器得到集群服务器实时参数信息的功能,并使该系统达到在线运行设备状态可视化的程度,使得设备的维护、管理更加科学化。
现在已可实现的基本功能:
(1)网络状态实时嗅探功能;
(2)实时监视各服务器CPU的运算频率;
(3)实时监视各服务器CPU的数量;
(4)实时监视各服务器CPU的缓存容量;
(5)实时监视各服务器磁盘的容量;
(6)实时监视各服务器内存的容量;
(7)实时监视各服务器内存的数量;
(8)实时监视各服务器电源状态;
(9)实时监视各服务器CPU状态;
(10)实时监视各服务器CPU风扇状态;
(11)实时监视各服务器电源风扇状态;
(12)实时监视各服务器机箱温度及状态;
(13)实时监视各服务器内部底层传感器状态;
(14)实时监视各网络交换机内部模块状态;
(15)实时监视各网络交换机内部底层传感器状态。
4.2有待解决的问题
在集群服务器状态监视系统管理方面完成了实现预期管理所需的基本功能,测试的结果基本符合设计的要求,但其中也存在一些问题。如系统的反应不够灵敏,MIB信息的更新速度不够快;监控模块的容错性能较差,发生故障后容易挂起。
还需在系统的安全性方面,和对结构数据类型和用户自定义数据类型的支持方面作进一步的工作。另外可以考虑扩大监控的范围,不仅仅对类中的成员变量进行监控,还要对类中的成员函数进行监控。