一种服务器管理系统实现方法与流程

文档序号:11864514阅读:293来源:国知局

本发明涉及服务器管理技术领域,尤其涉及一种服务器管理系统实现方法。



背景技术:

服务器管理系统多采用Web管理界面的形式,管理多针对计算单元,对于服务器中交换单元的管理需要单独的另外一套Web管理界面或者管理软件,而且现有的基于Web管理界面的管理多是针对一个服务器中具有一个BMC(Baseboard Management Controller,基板管理控制器)的应用场景进行设计的,对于同时包含计算单元和交换单元的服务器,基于Web的管理方式并不适合,因此有必要提出一种新的服务器管理系统的实现方法。



技术实现要素:

为了解决以上问题,本发明提出了一种服务器管理系统实现方法。

本发明的技术方案包括:

一种服务器管理系统实现方法,包括Qt实现的上层图形界面应用程序和纯C实现的底层服务程序两个功能模块。通过上层图形界面应用程序进行监控信息的显示和对服务器的管理配置,通过底层服务程序获取服务器计算单元和交换单元的监控信息及进行基本的管理,上层图形界面应用程序与底层服务程序通过本地进程间通信机制进行交互。

所述的上层图形界面应用程序显示管理服务进程搜集的监控信息,并为管理员提供管理接口。

所述的底层服务程序对检测到在位的板卡进行访问,通过IPMI协议获取服务器计算单元的监控信息,通过SNMP协议获取服务器交换单元的监控信息,并获取系统运行时间信息,获取的监控信息存入相应的共享缓冲区。底层服务程序定时更新共享缓冲区中的数据到数据库,以被上层图形界面应用程序所访问。底层服务程序具有对数据的分析处理能力,如温度升高时可根据程序中设定的温度控制策略调整风扇转速。底层服务程序还具有对上层图形界面应用程序发送的用于管理的自定义命令的解析和转发能力,最终的管理工作由底层服务程序完成。

所述的上层图形界面应用程序和底层服务程序,信息的获取采用访问本机数据库的方式,自定义命令的下达采用本机Socket的方式,二者本质上都是本地进程间通信机制。

本发明和现有技术相比,所产生的有益效果是:

本发明可对具有计算单元和交换单元的服务器提供统一的管理接口,管理效率高,上层图形界面应用程序与底层服务程序相对独立,有助于提高服务器管理的可靠性。

附图说明

图1是服务器管理系统的示意图。

具体实施方式

下面结合附图和具体实施例对本发明作进一步说明,但不作为对本发明的限定。

实施例:

有刀片服务器,包括计算单元、交换单元和电源单元以及风扇单元。计算单元上有BMC,交换单元上有交换配置芯片,管理软件运行于管理主机上,管理主机通过刀片服务器上的管理交换机访问各个单元。

上层图形界面应用程序显示管理服务进程搜集的监控信息,并为管理员提供管理接口。

底层服务程序包含主线程、BoardDiscovery线程、IPMI线程、SNMP线程、SystemUptime线程、DataEngine线程、ChassisControl线程和CommandForward线程。

主线程用于初始化全局变量和共享缓冲区,以及启动各个线程。同时,主线程还对运行后的各个线程进行跟踪,以确定各个线程仍处于正常运行中。

BoardDiscovery线程通过模拟Ping命令发送ICMP数据包实现对服务器中板卡在位信息的检测,管理软件只对在位的板卡进行访问,以免对并不在位的板卡进行访问而增加程序处理时间。

IPMI线程用于获取计算单元开关机状态、厂商ID、电压和温度及其门限值等信息,IPMI访问可通过修改开源代码实现。

SNMP线程用于获取系统描述、运行时间和网络接口等相关信息,SNMP访问可通过修改开源代码实现。

SystemUptime线程启动时记录启动时间,在运行过程中获取当前时间,计算当前时间与启动时间的差值作为系统运行时间,系统运行时间在程序运行过程中会被不断地更新。

DatabaseEngine线程读取共享缓冲区中BoardDiscovery线程、IPMI线程、SNMP线程和SystemUptime线程写入的数据并统一写入到SQLite数据库,以被上层图形界面应用程序所访问。

ChassisControl线程读取共享缓冲区中的温度数据,结合程序中设定的风扇控制档位进行风扇转速的自动调控;ChassisControl线程还会读取共享缓冲区中的电压和温度数据及其相应的门限值,判断是否有超过门限的事件发生,如果有告警事件,则控制告警指示灯和告警蜂鸣器进行告警。

CommandForward线程接收上层图形界面应用程序发送的自定义命令,解析后进行具体的动作,也就是说上层图形界面应用程序并不执行具体的控制操作,而是由底层服务程序代为完成的,这里的控制操作指的是对计算单元基于IPMI协议进行的开关机操作。CommandForward线程实质上起到了协议转换的作用。

上层图形界面应用程序通过访问本机的SQLite数据库获取底层服务程序提供的监控信息,上层图形界面应用程序通过本机Socket下达自定义命令到底层服务程序,二者本质上都是本地进程间通信机制。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1