类Unix操作系统服务器离线硬件检测软件的设计与实现

2018-12-26 04:45张焕青
关键词:U盘服务器报告

李 挺, 邓 科, 蔡 昂, 张焕青, 王 汇, 冯 凝, 李 炜

(国网湖北省电力有限公司 检修公司, 武汉 430050)

类Unix操作系统(Solaris Unix操作系统、HP Unix操作系统等Unix的各种商业版本及基于Unix系统的Linux和各种Linux的商业版本)具有可靠性高、安全性强和数据库支持功能强大等优点[1],已成为最为安全、可靠、流行的大型服务器操作系统,被广泛应用于各行业的工业服务器设备。然而,此类系统存在操作复杂、普适性低以及缺乏有效监测与维护手段等问题[2],并存在重要数据丢失和系统崩溃的风险,大幅缩短了硬件设备使用寿命[3-6]。

目前常用的类Unix系统服务器硬件检测方法包括基于Linux Live技术的检测方法[7]、基于Windows to go技术的检测方法[8]和基于类Unix系统硬件检测软件的方法[9]。虽使用Linux Live技术能抽取出开源软件的源代码,灵活定制硬件自动检测软件及生成所需的精简版检测报告[10]。但由于Linux Live系统自带的软件驱动库版本老旧且不完整,在不同硬件配置机器间的检测中,需耗费大量时间从系统ISO驱动文件库中查找及安装驱动程序(>30 min),且常由于缺乏与最新服务器硬件匹配的驱动文件,造成系统无法启动[11]。基于Windows to go技术的检测方法虽拥有完整的系统,但相较于基于Linux Live技术的检测方法需要占用的U盘空间大(16 GB以上),且对于U盘的读取速度要求过高[12-14]。而基于类Unix系统硬件检测软件的方法又存在检测功能单一、兼容性不足和操作难度大的问题[15]。

综上所述,依靠现有类Unix系统检测技术来检测服务器设备难以缓解类Unix系统服务器存在的检修和维护压力。因此,开发一套高效简单且兼容所有类Unix操作系统的硬件检测方案具有较大的实际意义。本文设计与实现了一套类Unix操作系统便捷型离线硬件检测软件,以U盘启动Windows PE的方式,使用Windows绿色软件实现X86架构的类Unix操作系统服务器的跨平台自动硬件健康检测及报告自动获取功能。

1 技术分析与对策

X86架构的服务器常由于缺乏系统运行所需的硬件驱动,导致无法兼容类Unix操作系统,但其均能兼容Windows操作系统[10]。因此,本文采用U盘启动的方式,使用兼容Windows PE操作系统的硬件检测软件,来实现类Unix服务器的硬件检测。经过试验,存在以下技术要点。

1) 应用软件在Windows PE系统下难以永久安装。由于Windows PE采用虚拟内存系统运行方式,在此系统下安装任何应用软件,将会随着系统重启,造成安装配置还原消失。

2) 缺乏完整的DLL文件导致应用软件无法运行。由于Windows PE系统只包含系统的核心文件,缺乏完整的 DLL文件库。因此,基于Windows PE的类Unix操作系统的计算机硬件检测方法通常会出现多个软件无法开启的问题,且报错类型均为“缺少DLL文件”(如图1所示),从而导致多个应用软件无法运行。

图1 缺少DLL报错Fig.1 Missing DLL report error

针对问题1),本文采用将已安装完好的Windows绿色软件预先存贮在装有Windows PE系统的启动U盘内,避免了在Windows PE系统下安装应用软件重启后,安装软件消失的问题。

对于问题2),由于Windows PE系统采用虚拟内存运行方式,为防止重启系统后,造成系统配置的文件还原消失。本文采用预定制具有完整DLL动态链接库(总文件约60 MB)的Windows PE系统,为应用软件的正常使用提供了运行环境。图2和图3所示分别为在预定制Windows PE系统下使用鲁大师软件对不同硬件配置装有类Unix系统的浪潮服务器与惠普服务器进行硬件检测时的界面。由图可看出,系统能正常完成软件检测功能。

图2 浪潮服务器鲁大师检测界面Fig.2 Detection interface byLudashi

图3 惠普服务器鲁大师检测界面Fig.3 HP server Lu master detection interface

3) Windows软件源代码难以抽取导致检测结果自动获取困难。由于现有Windows硬件检测软件多为非开源软件,难以采用抽取源代码进行软件定制的方式生成检测报告的常规方法。若采用重新开发检测软件的方式,将耗费大量人力、物力。

对于此问题,采用可导出检测报告支持Windows系统的现有服务器硬件检测软件进行检测。随后,再将报告文件提取后进行信息筛减,生成精简版的报告文件。

2 软件方案设计

为实现在Windows PE系统下,对类Unix系统的服务器硬件自动检测并生成精简报告的功能。方案如下:

1) DLL动态链接库文件完整预定制。预定制具有完整DLL动态链接库文件的Windows PE系统;

2) 检测软件资源综合集成。将鲁大师、aida64等Windows硬件检测绿色软件复制到Windows PE启动U盘上;

3) 应用软件功能模块顺序运行控制。定制批量处理软件对各硬件检测软件的检测模块进行顺序控制运行;

4) 检测报告依次提取。待完成服务器硬件检测后,再依次提取各检测报告;

5) 检测报告筛减与合成。对提取的各检测报告进行筛减,合成为精简的统一报告。

该软件具体工作流程,如图4所示。使用该检测方案可以实现如下功能应用:

1) 定期预防检查:使用该检测方法,采用定期检查的方式,对服务器设备硬件的健康情况进行全面检测。从而及时发现其病态运行状态,使其得到及时维护,对于即将损坏的设备提前予以更换。

2) 故障离线检测:当类Unix操作系统服务器无法进入操作系统时,可能是硬件问题,也可能是软件问题。用本检测方法对硬件故障问题进行检测,有利于缺陷原因判断。

3) 设备台账管理:该检测方法可显示服务器硬件的详细中文信息,有利于对站端设备及相关备品、备件进行详细的台账管理,提高缺陷处理速度。

4) 合理配置参考:该检测方法可以利用鲁大师软件实现对服务器的CPU、内存、显卡、主板等重要硬件设备进行量化评分。可通过站端服务器设备的运行情况,结合鲁大师软件的硬件评分体系,得出当前实际配置需求。再结合电力发展,给出一定的裕度空间,并在服务器设备采购工作中进行经济合理化硬件配置。

图4 软件方案流程图Fig.4 Software flow chart

3 实验与结果分析

为了验证上述检测软件的有效性,本部分使用研制的软件对装有不同类Unix系统的服务器进行硬件检测测试。

使用预定制了完整动态链接库的U盘启动页面,使用该软件可以方便地进入Windows PE系统。如图5所示为使用本软件最终获取的硬件设备检测报告。从图中可以看出,该检测报告列举了详细的设备硬件信息,有助于及时发现设备缺陷以及所存在的问题。

图5 检测报告Fig.5 Test report

4 结 语

本文设计和实现了X86架构下跨平台的类Unix操作系统服务器的硬件健康检测及配置信息查询软件。此外,该软件还可用于服务器系统定期预防检查、故障离线检测、设备台账管理和合理配置参考等工作。在不同类Unix系统进行硬件检测测试的结果表明,所提出的检测流程能实现轻松、高效、安全地完成各种类Unix系统服务器整个硬件检测工作。

猜你喜欢
U盘服务器报告
通信控制服务器(CCS)维护终端的设计与实现
采用U盘文件冗余方案实现TSP系统的可靠装载
自动辨认插口方向的U盘
中国服务器市场份额出炉
报告
得形忘意的服务器标准
计算机网络安全服务器入侵与防御
报告
报告
U盘“闹肚子”