一种不依赖于sol的带外获取和记录服务器串口日志的方法

文档序号:8258301阅读:1335来源:国知局
一种不依赖于sol的带外获取和记录服务器串口日志的方法
【技术领域】
[0001]本发明涉及到服务器监控管理领域,用于带外获取并记录服务器输出到系统串口的日志信息,便于对B1S启动过程或系统下故障发生时进行故障分析和定位。具体地说是一种不依赖于SOL的带外获取和记录服务器串口日志的方法。
【背景技术】
[0002]服务器日志信息(包括系统启动日志、服务器操作日志等)是系统故障分析和定位、系统操作日志查询的利器,而通过带外获取服务器日志信息越来越受到服务器管理员的重视。
[0003]目前BMC普遍配备SOL (Serial On Lan)功能,远程主机通过IPMI协议打开SOL功能,将系统串口信息通过BMC重定向到远程主机终端上。此方法获取串口信息有几个缺点:其一,需要通过IPMI协议打开SOL功能,不打开SOL功能将无法获得日志信息;其二,过度依赖于网络,即必须在网络通畅的情况下才能打开SOL功能,网络异常的情况下无法获取日志消息。
[0004]针对SOL以上的缺点,我们设计出此发明,该发明不依赖于SOL功能、不依赖于网络,并且不影响SOL功能本身;能够在服务器上电、BMC启动后直接进行系统串口信息的抓取和存储,记录的日志信息以文件的形式保存在Flash等非易失设备中,永不丢失。在可用性和可靠性方面远高于单纯的SOL功能。

【发明内容】

[0005]本发明的目的是提供一种不依赖于SOL的带外获取和记录服务器串口日志的方法。
[0006]本发明的目的是按以下方式实现的:(I)启动日志记录进程,建立BMC UART设备文件描述符,用于直接读取串口获取日志信息;建立并打开用于在SOL打开时存储日志信息的消息队列,将该消息队列放置在SOL获取系统串口日志的逻辑,保证SOL读取系统消息能实时存储在该队列中;
检测状态切换进程分配的文件描述符,由于SOL默认为关闭,所以BMC启动后默认把串口设备描述符作为默认分配的文件描述符;实时读取已分配的描述,待有数据时记录数据到指定的文件(该文件须挂载在非易失设备下);
检测文件大小是否已经超出阈值,阈值可根据需求设定,文件大小超过阈值时,进行日志循环存储预处理,保证文件不超过阈值,并保证最新的消息不会丢失。
[0007](2)启动状态切换进程,进行系统串口初始化设置,包括波特率、停止位等信息;BMC内部连接系统串口到BMC UART设备;默认分配BMC UART设备文件描述符给“日志记录进程” ;BMC默认进入SOL功能关闭状态。
[0008]初始化后,状态切换进程进入消息等待中,通过在BMC以下状态改变的地方放置状态触发接口可进入到相应状态,并执行相应的处理程序:
SOL功能关闭状态:在SOL功能关闭时被触发,此时要授权串口描述符给日志记录进程,日志记录进程通过读取串口设备直接获取串口日志;
SOL功能开启状态:在SOL功能打开时被触发,进入该状态后,授权日志记录进程从消息队列中间接通过SOL获取串口消息,以避免与sol进程同时读取系统串口 ;
服务器开机状态:在检测到服务器开机后被触发,主要在该状态下进行串口重配置,避免串口配置被意外更改;
服务器关机状态:暂停本发明功能;
本发明功能开启:通过此状态,用户可以通过IPMI协议开启该功能;
本发明功能关闭:通过此状态,用户可以通过IPMI协议关闭该功能;
本发明的有益效果是:在不依赖于SOL和网络的情况下,基于BMC带外获取系统串口日志信息,存储于非易失设备中进行永久保存。
[0009]本发明主要特征有如下几点:
1、服务器必须搭配BMC监控管理芯片,服务器系统串口与BMCUART接口连接;
2、服务器串口日志记录功能不依赖于BMCSOL功能,区别于依赖于SOL功能的日志记录;
3、服务器串口日志记录功能不依赖于网络;
4、服务器开机即可记录串口日志,避免日志丢失;
5、可通过IPMI命令灵活关闭开启该功能;
6、记录的日志保存在非易失设备中,避免日志丢失;
7、日志采取循环存储,保证最新的日志不丢失。
【附图说明】
[0010]图1是日志记录进程流程路;
图2是状态切换进程流程图。
【具体实施方式】
[0011]参照说明书附图对本发明的方法作以下详细地说明。
[0012]从硬件上来说,服务器必须搭配BMC监控管理芯片,系统串口与BMC UART接口连接。
[0013]从软件上来说,编写BMC FW代码,启动两个进程分别用于记录日志和各种状态切换。
[0014](I)首先需要说明一点:S0L功能同样是通过读取系统串口获取日志信息,如果本发明在SOL打开的情况下继续读取系统串口,由于系统串口设备缓存中的数据会在读取一次后丢弃,所以两个进程同时读取该设备势必造成每个进程获取的信息都不完整。为了解决这个难题,我们会检测SOL状态,在SOL打开的情况下本发明不会从串口中直接读取数据,而会在SOL读取串口时,将其读取的数据实时备份到一个消息队列里,从该队列里获取相应的信息。
[0015](2)日志记录进程,用于将系统串口日志记录到文本文件中,需要在此进程中做到以下几点:
打开已连接到系统串口的BMC串口设备,用于在SOL未打开的情况下直接读取串口获取日志信息;
建立一个消息队列,用于在SOL功能打开的情况下实时保存日志信息;
检测上述打开的两个文件描述符,从已分配(命令切换进程负责描述符的切换)的文件描述符中读取数据,也就是说根据SOL功能是否打开来确定是从系统串口中直接读取还是从消息队列里获取日志,然后保存到已挂载到Flash的文本文件;
检测文件大小,超过阈值前进行循环存储预处理,保证文件大小不至于过大,并保证最新的日志信息不会丢失。
[0016](3)状态切换进程,用于本发明各状态间的切换,状态包括:S0L功能开启、SOL功能关闭、服务器开机、服务器关机、本发明功能开启、本发明功能关闭等,各状态间没有复杂的逻辑关系,可进行相互跳转,实现起来非常方便:
SOL功能关闭状态:需要在检测到SOL功能关闭的情况下分配串口描述符给日志记录进程,授权日志记录进程直接获取串口日志;
SOL功能开启状态:需要在检测到SOL功能开启后,分配消息队列描述符给日志记录进程,授权日志记录进程从消息队列获取日志信息,以避免与SOL同时读取系统串口 ;
服务器开机状态:检测到系统开机后进入该状态,主要在该状态下进行串口重配置,避免串口配置被意外更改;
服务器关机状态:暂停本发明功能;
本发明功能开启:通过此状态开启日志记录功能,用户可以通过IPMI协议进入此状态;
本发明功能关闭:通过此状态关闭日志记录功能,用户可以通过IPMI协议进入此状
??τ O
[0017]除说明书所述的技术特征外,均为本专业技术人员的已知技术。
【主权项】
1.一种不依赖于SOL的带外获取和记录服务器串口日志的方法,其特征在于包括如下步骤和内容: (1)启动日志记录进程,建立BMCUART设备文件描述符,用于直接读取串口获取日志信息;建立并打开用于在SOL打开时存储日志信息的消息队列,将该消息队列放置在SOL获取系统串口日志的逻辑,保证SOL读取系统消息能实时存储在该队列中; 检测状态切换进程分配的文件描述符,由于SOL默认为关闭,所以BMC启动后默认把串口设备描述符作为默认分配的文件描述符;实时读取已分配的描述,待有数据时记录数据到指定的文件,该文件须挂载在非易失设备下; 检测文件大小是否已经超出阈值,阈值可根据需求设定,文件大小超过阈值时,进行日志循环存储预处理,保证文件不超过阈值,并保证最新的消息不会丢失; (2)启动状态切换进程,进行系统串口初始化设置,包括波特率、停止位等信息;BMC内部连接系统串口到BMC UART设备;默认分配BMC UART设备文件描述符给“日志记录进程”;BMC默认进入SOL功能关闭状态; 初始化后,状态切换进程进入消息等待中,通过在BMC以下状态改变的地方放置状态触发接口可进入到相应状态,并执行相应的处理程序。
2.根据权利要求1所述的方法,其特征在于,SOL功能关闭状态:是在SOL功能关闭时被触发,此时要授权串口描述符给日志记录进程,日志记录进程通过读取串口设备直接获取串口日志。
3.根据权利要求1所述的方法,其特征在于,SOL功能开启状态:是在SOL功能打开时被触发,进入该状态后,授权日志记录进程从消息队列中间接通过SOL获取串口消息,以避免与sol进程同时读取系统串口。
4.根据权利要求1所述的方法,其特征在于,服务器开机状态:是在检测到服务器开机后被触发,主要在该状态下进行串口重配置,避免串口配置被意外更改;服务器关机状态:暂停SOL功能。
5.根据权利要求1所述的方法,其特征在于,功能开启:是通过此状态,用户通过IPMI协议开启该功能;功能关闭:是通过此状态,用户通过IPMI协议关闭该功能。
【专利摘要】本发明提供一种不依赖于SOL的带外获取和记录服务器串口日志的方法,是启动日志记录进程,建立BMC UART设备文件描述符,用于直接读取串口获取日志信息;建立并打开用于在SOL打开时存储日志信息的消息队列,将该消息队列放置在SOL获取系统串口日志的逻辑,保证SOL读取系统消息能实时存储在该队列中;检测状态切换进程分配的文件描述符,由于SOL默认为关闭,所以BMC启动后默认把串口设备描述符作为默认分配的文件描述符;实时读取已分配的描述,待有数据时记录数据到指定的文件;检测文件大小是否已经超出阈值,阈值可根据需求设定,文件大小超过阈值时,进行日志循环存储预处理,保证文件不超过阈值,并保证最新的消息不会丢失。
【IPC分类】G06F11-34
【公开号】CN104572421
【申请号】CN201510054824
【发明人】王兴隆, 班华堂, 刘宝阳, 李道童
【申请人】浪潮电子信息产业股份有限公司
【公开日】2015年4月29日
【申请日】2015年2月3日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1