随着存储系统对存储量及计算性能要求的提高以及系统中的设备数量和型号不断增多,系统维护人员的工作量也将逐渐增加,为了保证系统稳定运行,必须要求维护人员经常查看机房中设备的运行状况,以便在设备出现故障时能及时地进行修复。同时,系统的设备运行状况、设备输入输出数据流量、交换网络传输流量等直接反映了系统的工作效能,用户必须及时了解系统的整体状况,以合理地部署设备,使系统运行在非常好的状态。但查看各设备的状态等信息很难快速判断整机运行状况,且由于设备数量大,种类繁多,当系统出现故障时,很难在极短的时间内定位故障点。综上所述,需要为系统管理和维护人员建立一个可视化的、集中统一的远程管理和监控平台,使用户能远程查看系统运行状况,对系统进行维护和管理。
1 系统体系结构

图1-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映射表、环境温度、电压等等基本配置和状态信息。另外,监控服务还定时查询所有设备包括服务器、交换机、磁盘阵列以及磁带库等设备的网络端口传输流量。查询的所有数据经综合分析后写入数据库表中。数据库表即成为以下各模块与监控服务之间的接口。
系统在综合监控管理设备的同时,将存储和数据库管理合并到系统监控管理界面上,使用户对全系统的管理有一个统一的入口,为防止意外操作导致系统运行错误甚至处于瘫痪状态,系统设计时在用户管理部分对用户安全使用作了限制,以保证数据和数据库的安全可靠。
下面分述各个模块的功能及实现方法。