摘 要 针对中小型存储系统网络管理的需要,从用户实际使用情况出发,提出并设计完成了一套较为完善的远程网络监控管理系统。文中介绍了该系统的体系结构和软件功能及实现方法。
关键词 健康; IPMI; iLO; Socket; 监控管理
0 引言
随着存储系统对存储量及计算性能要求的提高以及系统中的设备数量和型号不断增多,系统维护人员的工作量也将逐渐增加,为了保证系统稳定运行,必须要求维护人员经常查看机房中设备的运行状况,以便在设备出现故障时能及时地进行修复。同时,系统的设备运行状况、设备输入输出数据流量、交换网络传输流量等直接反映了系统的工作效能,用户必须及时了解系统的整体状况,以合理地部署设备,使系统运行在最佳状态。但查看各设备的状态等信息很难快速判断整机运行状况,且由于设备数量大,种类繁多,当系统出现故障时,很难在极短的时间内定位故障点。综上所述,需要为系统管理和维护人员建立一个可视化的、集中统一的远程管理和监控平台,使用户能远程查看系统运行状况,对系统进行维护和管理。
1 系统体系结构
系统体系结构如图1-1所示。存储系统中包含的硬件设备有各类服务器、存储设备、大型计算机以及交换机等,服务器及大型计算机被用于存储管理、应用、计算、数据库及数据库管理等,存储设备包括磁带库及磁盘阵列等,交换机包括百兆、千兆以太网交换机和SAN光纤交换机。系统配备一台管理服务器,以及一套独立的百兆监控网络,用于系统集中监控管理。被监控管理的设备包括系统中所有与监控管理网互连的设备。
2 监控管理软件设计与实现
2.1 监控管理相关技术
2.1.1 SNMP
SNMP(Sample Network Manager Protocol)简单网络管理协议是标准TCP/IP协议,是一种开放的网络管理协议。目前大多数网络设备都支持SNMP协议,因此,通过SNMP协议了解网络设备的基本参数和运行情况是最简捷的一种途径。
2.1.2 iLO
iLO(Integrated Lights-Out)是HP/Compaq服务器内置的用于远程管理的芯片,有专用处理器、内存和网络端口。在服务器启动时进入BIOS的ROM Based Configuration项配置其IP并正确配置iLO环境,即可以从远程实现对服务器的控制。iLO提供三类控制:
●虚拟电源(Virtual Power),模拟电源的开关电、复位等所有动作;
●虚拟控制台(Virtual Console),主要对服务器进行硬件级的控制,如进行服务器的阵列配置等;
●虚拟介质(Virtual Media)。通过此功能可以将远程的光驱虚拟到被管理的服务器上,实现数据传输或者安装操作系统。
HP的iLO为服务器的使用人员提供了强大的远程管理功能,系统管理员可以通过iLO的图形化管理工具实施系统板级管理和安全设置,监视服务器组件、事件日志和管理代理程序,从而轻松实现对服务器的管理和维护。
2.1.3 IPMI
IPMI(Intelligent Platform Management Interface)智能平台管理接口是一个可以跨平台的通用接口标准,利用IPMI,用户可以监控服务器内的各种组件的健康状态,如温度、电压、风扇等的运行状况;通过IPMI,系统管理员可以从远程查看并控制服务器的电源状态,如远程开关机、重启等。由于IPMI独立于CPU的BIOS和操作系统,即使服务器处于关机状态,只要电源接通,就可以实现对服务器的监控。目前众多厂家的服务器都实现这一功能,RedHat LinuxAS3.0以上操作系统内核也都具有IPMI模块,因此采用IPMI对服务器进行监控管理是服务器管理尤其集群管理中不可缺少的部分。
IPMI规范标准中有个重要的物理部件即BMC(Baseboard Management Controller),BMC是一种嵌入式微控制器,安装于服务器的主板上。IPMI通常通过串口、调制解调器或网络连接远程管理服务器。本系统中通过专用监控网络,通过IPMI或iLO实现对服务器的异地集中监控和管理。
2.2 监控软件模型
监控管理系统主要由软件实现。如图3-1所示为监控管理系统软件模型,该模型自下至上描述了软件的层次结构以及数据的交互过程。系统采用统一的监控管理界面,以Web页面的形式与用户即管理维护人员进行交互,用户通过监控管理界面可以查看系统中所有设备运行状态、系统资源的使用状况、对系统中设备进行配置管理和维护等。系统采用分布监控和集中管理相结合的方式。
如图2-1所示,该系统软件主要包括设备上运行的软件和监控管理服务器上运行的软件,其中,运行在设备上的软件包括操作系统、固件和监控代理,运行在监控管理服务器上的软件包括设备监控服务、数据库服务、监控管理界面脚本、Web服务等。
图2-1 软件模型
2.3 监控管理功能模块
系统监控管理主要包括状态监测、系统管理、性能监测、日志统计、用户管理以及存储资源和数据库的监控等模块。对于服务器、交换机等标准设备,系统中采用SNMP协议进行通信,自研设备则采用自定义的协议,通过Socket进行通信,对于携带有其它标准如HP服务器的iLO或IBM及AMD等的IPMI的服务器,则通过iLO端口或IPMI协议查询外围环境参数和进行电源控制管理。监控服务从服务器获取的信息包括操作系统类型、CPU类型、主频、内存及使用率、硬盘及使用率、系统中运行的应用程序或服务、环境温度和电压等,从存储设备如磁盘阵列获取到的信息包括所有磁盘的型号及大小等信息,逻辑盘、逻辑卷和分区的大小、状态等,以及通道、LUN映射表、环境温度、电压等等基本配置和状态信息。另外,监控服务还定时查询所有设备包括服务器、交换机、磁盘阵列以及磁带库等设备的网络端口传输流量。查询的所有数据经综合分析后写入数据库表中。数据库表即成为以下各模块与监控服务之间的接口。
系统在综合监控管理设备的同时,将存储和数据库管理合并到系统监控管理界面上,使用户对全系统的管理有一个统一的入口,为防止意外操作导致系统运行错误甚至处于瘫痪状态,系统设计时在用户管理部分对用户安全使用作了限制,以保证数据和数据库的安全可靠。
下面分述各个模块的功能及实现方法。
2.3.1 状态监测
状态监测是系统维护和值班人员了解系统运行状况最直接的窗口。状态监测界面按照系统物理结构显示各设备,用户从该界面查看到的内容包括:设备的IP地址、设备类型以及设备当前状态。当设备出现故障时,该设备所在位置以红色(表示故障)或黄色(表示告警)高亮显示,故障通告栏以文字形式显示故障信息。同时,通过电子邮件和电话将故障信息通知值班维护人员,使值班维护人员在第一时间了解到系统运行状况。
2.3.2 性能监测
对于存储系统,网络使用性能、服务器的计算资源的使用以及设备的外围环境等是衡量系统使用状态的一个重要手段。在设计中通过修改了开源软件cacti,以曲线图、表格和文字的形式显示性能数据,性能监测的数据包括网络端口的输入输出流量、CPU使用率、内存使用率、外围电压、温度、风扇转速以及存储资源当前使用率等,用户通过查看所关心的时间段的曲线图,能快速了解单个设备或全系统在此时间段内的性能状况,并根据历史记录快速分析和判断设备以及存储资源、网络传输等的情况,从而确定是否应对系统的使用进行调整或重新部署。
2.3.3 系统管理
系统管理是对系统进行远程维护管理的一个重要手段。设计分为系统级管理和设备级管理。设备级管理是针对单个设备进行配置更改和维护,其中包括对设备进行时钟同步、远程开关电等,通过设备管理,可以对磁盘阵列进行逻辑盘、逻辑卷、分区及LUN映射的添加、删除、更改和删除操作,以及对磁盘阵列进行一系列的维护操作,包括对硬盘进行介质扫描、对逻辑盘进行校验、更新磁盘阵列的固件和复位或关闭磁盘阵列的控制器等;系统级管理是对多设备的配置管理,主要包括对多设备远程开关电或复位、时钟同步、设备离线(不使用)或上线(使用)、以及从逻辑上添加或删除机仓及机仓中的设备(此时可以不关心设备或机仓的实际物理位置)。
本模块中,服务器的远程控制采用ipmi协议或通过iLO端口实现,磁盘阵列的远程配置管理和维护通过Socket协议实现。
2.3.4 日志统计
日志统计包括系统历史告警记录和用户访问统计。监控服务定时收集设备上生成的事件,写入mysql数据库的日志表中,同时,状态监测过程中一旦检测到设备发生故障,即生成一条新的告警记录,插入到日志表中。通过日志统计界面,用户可以查询指定时间段或指定设备的历史日志或告警记录,以便了解系统中各设备的运行状况。
用户访问统计包括不同级别的管理员对监控管理系统的登录统计和系统使用人员对本系统中的数据资源的读写、删除等操作的统计。
2.3.5 用户管理
为了防止用户对系统或设备的误操作造成不必要的损失,系统设计时为管理员分设了不同的级别:系统管理员和一般用户。只有一般用户权限的用户只能查看系统的运行状态,系统管理员则可以查看系统状态、对系统进行配置管理等各种操作。
作为存储系统,存储池中的数据将为多用户共享使用,用户对数据资源的任一改动或删除将直接影响其他用户的访问,因此,用户管理对系统数据处理和应用访问的用户也作了权限限制,当管理员添加一个用户时,即指定该用户对分配给其存储资源的访问权限(读、写或删除),这在一定程度上限制了用户对存储池中数据的修改。同时通过用户访问统计,对用户的访问和文件的操作进行记录,为系统管理员提供查询的依据。
2.3.6 数据库监控
海量数据的存储和数据库管理是存储系统的核心,数据库的运行状况、表空间状态、实例状态、用户会话状态以及数据库服务器的CPU、内存、剩余硬盘空间等等直接影响数据存储的和应用程序运行的效率,同时,数据以及日志等信息的备份和故障恢复也成为用户关心的一个问题。存储系统中大多采用Oracle数据库存储管理数据信息,本系统设计中利用Oracle数据库自带的部分服务和协议,定时与数据库进行通信,获取数据库服务器和数据库相关的信息,并分析判断当前表空间及服务器硬盘空间等的使用状况,对即将超过使用范围的空间给出空间使用预警,使用户能更合理的部署其数据库应用程序。
2.4 实现方法
图2-1描述了监控和管理的数据流程。设备监控代理为运行在设备上的一个软件,实现设备的监控管理。对于服务器只需安装完系统后正确配置其SNMP服务即可,交换机及存储设备则一般是出厂时即自带有SNMP服务,对于自研设备,根据实际开发需要,其监控代理设计为该设备的一个服务或进程,通过Socket与监控服务通信,其中,设备上运行的代理服务或进程为Socket的服务端。监控服务采用跨平台的java语言设计,对于相同类型的设备由一个监控服务集中监控,不同类型的设备通过监控服务分布式监控。监控服务与设备监控代理之间通过标准的SNMP或自定义的通信协议经由Socket进行通信(监控服务为Socket客户端),对于支持IPMI或iLO的服务器则采用IPMI规范或iLO端口获取设备信息。监控服务定时查询设备信息,这些信息包括与设备的操作系统相关、CPU相关、内存及存储空间相关、网络传输流量以及外围环境相关的所有配置或状态,获取的所有信息经分析后均写入监控管理数据库。本系统中监控管理数据库为mysql,数据库表是监控管理界面和监控服务之间的接口。监控管理界面脚本采用php编写,界面刷新时从数据库表中查询当前界面相关的信息并显示,同时根据数据库表中各设备当前的状态,以不同的颜色显示出设备的状态。系统管理采用集中式处理,所有设备的管理均通过统一的系统管理入口,直接与设备通信。系统管理通过Socket、IPMI或iLO等规范以及其它设备支持的网络通信方式实现。
3 结束语
本文以存储系统为硬件框架,提出了中小型系统的集中监控和管理技术的实现方法,并以正在研制的存储系统为基础,开发了一套远程监控管理软件系统,为存储系统的管理和维护人员提供了简便快速的维护和监测平台。根据存储系统的特点,该软件系统还通过提供url链接等方式,将其它与数据管理、Oracle数据库监控等相关的监控管理软件嵌入到本系统中,使维护管理人员更加快捷的掌握全系统的健康状况。应用表明,该软件系统可扩展性强,且针对不同的系统移植也非常方便。
参考文献
1 雷振甲.计算机网络管理及系统开发[M].电子工业出版社,2002
2 王雄英.通信网管理技术.国防工业出版社[M],2003
3 http://www.hp.com.cn /white_papers/ipmi/download/ ipmiwp. pdf[DB]
4 ,Nov19deliverables.doc[]DB
5 http://developer.intel.com/design/servers/ipmi/Intelligent Paltform Management Interface相关文档[DB]
6 段宗涛,林莎.基于SNMP的网络流量监控系统的设计与实现[J].网络与通信.2001年第11期:25~27页
7 曾庆辉.基于Agent的存储区域网络(SAN)智能管理技术[J].计算机系统应用.2005年第6期:52~55页
相关文章
学术参考网 · 手机版
https://m.lw881.com/