摘 要 随着互联网的快速发展,关键数据对企业、单位越来越重要,机房时数据信息的载体,体现着单位的信息化发展水平。目前,很多大公司、单位都有自己的数据中心。随着专利信息化的快速发展,国知局机房数量逐年增多,通过建立一个机房运维管理系统,实现对机房环境、计算机设备等集中监控、管理,为信息化资源的高效管理提供一个有效的技术支撑平台。
【关键词】机房运维管理 系统
1 研究背景
随着网络技术、通信技术和计算机技术的发展,计算机房在企业中逐渐处于核心地位。随着国知局存储需求的急剧增长、机房规模的持续快速膨胀,机房内的服务器数量、动力、环境保障设备越来越多,机房安全的重要性、机房的运维管理水平等问题开始受到广泛关注。
机房是专利工作的基础架构,维持机房良好运行是专利工作的重中之重,通过机房运维管理系统,保障机房中的设备高度可靠运行,通过机房运维和管理在日常工作变被动为主动,对于出现的问题做到早发现,早解决,提前预警,提高对日常工作的辅助作用,为领导提供决策依据。
2 系统需求分析
2.1 系统功能定义
对于一个机房,它的属性信息包括空调、UPS、消防、机柜、计算机、外来人员等。
2.1.1 电力拓扑
显示机房UPS到机柜PDU之间的电力关系。通过树形菜单实现。
2.1.2 预警
当UPS负载率超过60%后,向用户报警;当机柜PDU电流值超过额定值80%后,向用户报警;当机柜空间使用率超过80%后,向用户报警。
2.1.3 机柜
能查询机柜PDU额定值,当前值;能查询机柜已用空间;能查询机柜中存放设备信息(例如设备名称,IP地址等)。
2.1.4 服务商
可以通过服务商名称、联系人两种方式查询服务商信息。(服务内容,服务级别)。
2.1.5 配置信息
能查询机房空调配置信息(品牌、型号、制冷量、压缩机品牌、压缩机型号);能查询机房UPS配置信息(品牌、型号、数量、额定功率、电池组数、电池总个数、电池容量、单块电池电压、放电终止电压、电池后备时间);能查询机房消防系统的配置信息(报警控制器品牌、型号、钢瓶药剂重量(单只)、钢瓶数量、消防分区数量)。
2.1.6 統计信息
能对机房专用软水机的加盐量、用水情况按起止时间列出总量;能对外来人员按公司名称、登记人进行查询,列出选定日期内总人数,公司数;能对厂商服务报告按照维护内容、厂商名称、设备序列号、设备编号进行查询;能对机房日志按值班人、日志内容进行查询。
2.1.7 备品
能按物品名称、库存数量、存放位置查询备品(备品分设备备件、易耗品两种)的信息。
2.1.8 计算机
能按序列号、IP地址、机柜号、HOST查询计算机设备的信息。
2.2 系统平台结构
机房运维管理平台采用B/S架构,前台主要实现查询、预警、统计功能,后台实现用户管理以及机房属性数据的维护操作。
系统架构设计为主、备服务器互为备份,两台服务器实时共享数据资源,当主服务器宕机后,业务系统切换到备份服务器,保障系统的高可用性。
3 安全、备份方案
3.1 安全方案
通过登陆模块对用户角色和级别进行控制,根据权限进行相应操作,对用户信息采用MD5加密,保障系统安全。
对用户的操作采取审计功能,用户登陆及对数据库的增,删,改操作都被记录到LOG中,做到可查询,保障系统应用安全。
3.2 备份方案
数据库备份:实行完全备份与差异备份的方法。每周一对数据库进行完全备份,周二至周日对数据库进行差异备份,保障数据的安全。
文件备份:当程序文件有更新时,对程序目录Apache Software Foundation\Tomcat 6.0\webapps\ROOT进行完全备份。
4 系统实现
4.1 功能设计
4.1.1 配置信息查询模块
(1)空调。查询空调(品牌、型号、制冷量、压缩机品牌、压缩机型号)。
(2)UPS。查询UPS(品牌、型号、数量、额定功率、电池组数、电池总个数、电池容量、单块电池电压、放电终止电压、电池后备时间)。
(3)消防。查询消防信息(报警控制器品牌、型号、钢瓶药剂重量(单只)、钢瓶数量、消防分区)。
4.1.2 统计信息查询模块
(1)外来人员。按公司名称查询,能计算出选定日期内某公司人员进入机房总次数,按选择得机房分别计算。按登记人查能计算出选定日期内某人进入机房总次数,按选择得机房分别计算。按全部查询,能计算出选定日期内来人总数。
(2)软水。能计算出选定日期内各机房得用水、用盐总量,能进一步查看明细情况。
(3)日志。按日志内容查询,能查出选定日期、选定机房的符合条件的记录。
按值班人查询,能查出能查出选定日期、选定机房的符合条件的记录。
(4)服务报告。能按序列号、设备编号 服务商名称、维护内容四种方式查询选定日期内得服务报告情况。
4.1.3 服务器设备查询模块
能按序列号、机柜号、IP地址、HOST、机型五种方式查询服务器设备,列出设备的电源信息、维保信息、配置信息、项目信息。
4.1.4 电力拓扑模块
把配电柜到机柜之间得电力开关逻辑关系通过图形方式展示出来,方便运维人员快速定位发现问题,定位故障。
4.1.5 预警模块
机柜空间、机柜电源使用率、机房UPS负载率如超过设置阀值,将被检索列出。
4.1.6 机柜模块
能查询列出机柜号、PDUA额定值、PDUA实际值、PDUB额定值、PDUB实际值,已用空间,存放设备,通过点击存放设备,列出设备的服务器名称、序列号、IP地址信息 项目名称。
4.1.7 服务商模块
可以通过服务商名称、联系人两种方式查询服务商信息(联系人、联系人电话、对应服务、服务级别)。
4.1.8 备品模块
包括设备备件、日耗品、机房工具,能按物品名称、库存数量存放位置查询。
4.2 数据库设计
数据库设计表有机房表,用户表,日志表,服务器表,空调表,报警阀值表等共23个表,如表1机房所示。
4.3 系统环境
4.3.1 操作系统
使用Windows2003 server操作系统。
4.3.2 语言、数据库
机房运维管理系统开发选用JSP/Tomcat6.0/JDBC/SQL2005。
4.4 机房运维管理系统特色
基于JSP技术, 它拥有Java在开发和移植方面的优势。由于面向对象,所以它有很强的键入,封装,异常处理,自动存储管理能力;使用Java使得它代码更强大,编程更高效。
预警模块使用JFreeChart进行仪表盘展示,机房运维人员可以更直观的查看设备状态,定位故障。
支持EXCEL方式数据批量导出,导入。将机房日志、外来人员等信息通过EXCEL方式导出,方便数据的保存与查阅。另外,支持数据通过EXCEL方式批量导入,从而减少大量数据录入工作。
5 技术难点处理
5.1 连接数据库驱动程序
为了使程序在具有安全性、完整性、健壮性的同时, 可以方便地移植,采用JDBC连接数据库更合适一些。JDBC是一种可用于执行SQL语句的Java API。通过使用JDBC,可以很方便地将SQL语句传送到几乎任何一种数据库。
5.2 分页技术
在机房运维管理系统查询展示中,需要使用分页显示,JAVA中的JDBC在这方面没有很好的解决方案。
自己编写一个分页函数,当需要分页时,调用这个函数即可
查詢出有多少条记录:
select count(*)from learning
计算分多少页:
if(counts%pageSizes==0){pageCounts=counts/pageSizes;}
else{pageCounts=counts/pageSizes+1;}
判断每一页能遍历到第几条记录
int i=(intPage-1)*pageSizes;
5.3 消除乱码
产生中文乱码是因为服务器使用的编码方式不同和浏览器对不同编码字符显示结果不同导致的。解决方法为在JSP页面里经常出现中文乱码,在页面里加如下两行代码
<%@ page contentType="text/html; charset=gb2312" language="java"%>
参考文献
[1]孙涌.现代软件工程[M].北京:希望电子出版社,2002(08).
[2]萨师煊,王珊.数据库系统概论[M].北京:高等教育出版社,2000(02).
[3]贺民译.JSP高级开发与应用[M].北京:科学出版社,2002(09).
[4]廖若雪.JSP高级编程[M].北京:机械工业出版社,2001(03).
作者简介
于文奇(1982-),男,高级/硕士。研究方向为机房运维管理。
作者单位
中国专利信息中心 北京市 100088