一种串口信息收集装置、方法及服务器与流程

文档序号:30308339发布日期:2022-06-05 08:15阅读:88来源:国知局
一种串口信息收集装置、方法及服务器与流程

1.本发明涉及服务器技术领域,尤其涉及一种串口信息收集装置、方法及服务器。


背景技术:

2.随着大数据应用的兴起和云计算的快速增长,大规模计算系统的应用面临有限的机房空间问题,高密度服务器就是针对云计算、数据中心、互联网应用所推出的一种优化架构的服务器设备,它可以在非常小的物理空间内集成更多的处理器和i/o(input/output,输入/输出)扩展能力,这样的设计可以极大程度的降低客户的空间成本,并且能显著的提升计算机的性能。像1u双路,2u4路等规格的多路服务器就是本着有限空间增加计算力密度的目标开发的高密度服务器,这里说多路是指多颗cpu(central processing unit,中央处理器)。高密服务器市场销量不断增长,应用场景越来越广泛,出现的问题种类也越来越多,有些问题可以在事件日志和告警日志或系统日志中直接解析定位,有些比较隐蔽的问题需要更多的信息解析,出现问题前和出现问题时的串口信息是常用的维修依据。
3.现有技术只将多路服务器的一个或几个cpu串口接到bmc(baseboard management controller,基板管理控制器),其他的串口只在机箱内留debug(调试)接口,并且bmc只存储一个串口信息,获取别的串口信息时需要接出debug串口和人为输入指定命令后才能看到,然而等多路服务器出现问题后再接出debug串口查看debug串口的串口信息,已非出问题时的有效信息,不能用于故障现象解析及故障定位,因此debug价值不大,此时需要维修人员到现场接上多根串口线来重现故障现象,耗费较多的人力和物力。


技术实现要素:

4.有鉴于此,本发明提出了一种串口信息收集装置、方法及服务器,解决了现有的多路服务器无法获取完整有效的串口信息,只能由运维人员到现场接上多根串口线来重现故障现象的问题,通过分时合并记录及存储完整的有效串口信息,使运维人员能够获得发生故障前和发生故障时的完成有效日志,减少重现问题现象浪费的人力、物力及时间成本。
5.基于上述目的,本发明实施例的一方面提供了一种串口信息收集装置,串口信息收集装置具体包括:多个中央处理器、基板管理控制器和复杂可编程逻辑器件,所述中央处理器包含多个第一串口,所述基板管理控制器包含多个第二串口,所述中央处理器通过所述第一串口分别与所述第二串口和/或复杂可编程逻辑器件连接,所述基板管理控制器通过所述第二串口与所述复杂可编程逻辑器件连接;
6.所述基板管理控制器配置为轮询所述第二串口接收到的所述第一串口和/或所述复杂可编程逻辑器件输出的信息,并基于所述复杂可编程逻辑器件输出的信息判断是否通知所述复杂可编程逻辑器件更换与所述复杂可编程逻辑器件导通的第一串口。
7.在一些实施方式中,所述复杂可编程逻辑器件包括多个切换开关,所述复杂可编程逻辑器件配置为基于所述切换开关更换与所述复杂可编程逻辑器件导通的第一串口。
8.在一些实施方式中,轮询所述第二串口接收到的所述第一串口和/或所述复杂可
编程逻辑器件输出的信息包括:
9.轮询所述第二串口接收到的所述第一串口和/或所述复杂可编程逻辑器件输出的信息;
10.在所述第一串口和/或所述复杂可编程逻辑器件输出的信息前添加串口标识,并将添加了串口标识的所述第一串口和/或所述复杂可编程逻辑器件输出的信息保存到文件中。
11.在一些实施方式中,基于所述复杂可编程逻辑器件输出的信息判断是否通知所述复杂可编程逻辑器件更换与所述复杂可编程逻辑器件导通的第一串口包括:
12.响应于轮询到所述第二串口接收到信息为所述复杂可编程逻辑器件输出的信息,基于所述复杂可编程逻辑器件输出的信息判断是否向所述复杂可编程逻辑器件发送切换指令以使所述复杂可编程逻辑器件从与当前第一串口导通切换到与对应的第一串口导通。
13.在一些实施方式中,所述基板管理控制器具体配置为:
14.基于所述复杂可编程逻辑器件输出的信息,预先配置关键词;
15.轮询所述第二串口接收到所述中央处理器和/或所述复杂可编程逻辑器件输出的信息;
16.响应于轮询到所述第二串口接收到信息为所述复杂可编程逻辑器件输出的信息,判断所述信息中是否包含所述关键词;
17.若是所述信息中包含所述关键词,则基于所述关键词向所述复杂可编程逻辑器件发送对应的切换指令以使所述复杂可编程逻辑器件从与当前第一串口导通切换到与对应的第一串口导通。
18.在一些实施方式中,装置还包括与所述基板管理控制器连接的存储芯片,所述存储芯片配置为存储所述基板管理控制器基于所述第二串口接收到的信息。
19.在一些实施方式中,装置还包括与所述基板管理控制器连接的网络管理接口,所述网络管理接口配置为连接网络以使远程客户端通过所述网络访问所述基板管理控制器以使所述远程客户端获取到所述基板管理控制器基于所述第二串口接收到的信息。
20.本发明实施例的另一方面,还提供了一种串口信息收集方法,基于如上任一项所述的串口信息收集装置,执行以下步骤:
21.基板管理控制器轮询第二串口接收到的第一串口和/或复杂可编程逻辑器件输出的信息,并基于所述复杂可编程逻辑器件输出的信息判断是否通知所述复杂可编程逻辑器件更换与所述复杂可编程逻辑器件导通的第一串口。
22.在一些实施方式中,基于所述复杂可编程逻辑器件输出的信息判断是否通知所述复杂可编程逻辑器件更换与所述复杂可编程逻辑器件导通的第一串口包括:
23.响应于轮询到所述第二串口接收到信息为所述复杂可编程逻辑器件输出的信息,基于所述复杂可编程逻辑器件输出的信息判断是否向所述复杂可编程逻辑器件发送切换指令以使所述复杂可编程逻辑器件从与当前第一串口导通切换到与对应的第一串口导通。
24.本发明实施例的又一方面,还提供了一种服务器,包括如上任一项所述的串口信息收集装置。
25.本发明至少具有以下有益技术效果:通过串口信息收集装置实现了bmc能够接收并存储多个cpu串口输出的信息,方便运维人员获得服务器发生故障前和发生故障时的有
效串口信息,减少重新复现故障现象浪费的人力、物力及时间成本,大大提高了故障排查效率。
附图说明
26.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。
27.图1为本发明提供的串口信息收集装置的一实施例的示意图;
28.图2为本发明提供的用于2路服务器的串口信息收集装置的一实施例的结构示意图;
29.图3为本发明提供的串口信息收集方法的一实施例的框图;
30.图4为本发明提供的服务器的一实施例的结构示意图。
具体实施方式
31.为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明实施例进一步详细说明。
32.需要说明的是,本发明实施例中所有使用“第一”和“第二”的表述均是为了区分两个相同名称非相同的实体或者非相同的参量,可见“第一”“第二”仅为了表述的方便,不应理解为对本发明实施例的限定,后续实施例对此不再一一说明。
33.基于上述目的,本发明实施例的第一个方面,提出了一种串口信息收集装置的实施例。如图1所示,串口信息收集装置具体包括:多个中央处理器10、基板管理控制器11和复杂可编程逻辑器件12,所述中央处理器10包含多个第一串口13,所述基板管理控制器11包含多个第二串口14,所述中央处理器10通过所述第一串口13分别与所述第二串口14和/或复杂可编程逻辑器件12连接,所述基板管理控制器11通过所述第二串口14与所述复杂可编程逻辑器件12连接。
34.所述基板管理控制器12配置为轮询所述第二串口14接收到的所述第一串口13和/或所述复杂可编程逻辑器件12输出的信息,并基于所述复杂可编程逻辑器件12输出的信息判断是否通知所述复杂可编程逻辑器件12更换与所述复杂可编程逻辑器件12导通的第一串口13。
35.cpu(中央处理器)的数量与服务器有关,若服务器为多路的,cpu数量也是多个,例如,如果服务器为2路、4路、8路、12路、16路服务器中的任意一个,那么分别对应的cpu数量为2、4、8、12、16个。cpu的串口多个,视cpu的功能而定。多路服务器在运行中,一般只将主cpu的1个或几个串口接到bmc的串口,其他的串口留在机箱内,在调试时使用。并且bmc只存储一个cpu串口输出信息,获取别的cpu串口信息时需要接出debug串口和人为输入指定命令后才能看到。由此导致多路服务器出现问题后再接出debug串口查看debug串口的串口信息,已非出问题时的有效信息,不能用于故障现象解析及故障定位,因此debug价值不大,此时需要维修人员到现场接上多根串口线来重现故障现象,耗费较多的人力和物力。
36.多路服务器,包括主cpu和辅cpu,本实施例的串口信息收集装置,除了将主cpu的
少量第一串口(1~2个第一串口)与bmc的第二串口直连外,还通过cpld(复杂可编程逻辑器件)连接主cpu和辅cpu的其余各个第一串口的部分或全部,通过bmc控制cpld选择相应的第一串口与cpld导通,由此可将此时与cpld导通的第一串口的信息输出到bmc,bmc接收并存储与其直连的第一串口输出的串口信息和当前与cpld导通的第一串口输出的串口信息。
37.在接收到的串口信息为与cpld导通的第一串口输出的串口信息时,根据该串口信息判断是否切换与cpld导通的第一串口。例如当bmc检测到该串口信息包含指令输出完成消息时,通知cpld切换当前与其导通的cpu的第一串口到本cpu的其他第一串口或其他cpu的第一串口,或bmc检测到该串口信息包含启动某项功能时,通知cpld切换当前与其导通的第一串口到与某项功能对应的第一串口。由此实现了bmc能够直接或通过cpld接收并存储多个cpu的多个第一串口输出的串口信息,方便运维人员获得服务器发生故障前和发生故障时的有效串口信息,减少重新复现故障现象浪费的人力、物力及时间成本,大大提高了故障排查效率。
38.在一些实施方式中,所述复杂可编程逻辑器件包括多个切换开关,所述复杂可编程逻辑器件配置为基于所述切换开关更换与所述复杂可编程逻辑器件导通的第一串口。
39.复杂可编程逻辑器件内部通过切换开关控制与复杂可编程逻辑器件导通的第一串口。
40.在本实施例中,复杂可编程逻辑器件连接除去与bmc直连的第一串口以外的第一串口的部分或全部,复杂可编程逻辑器件连接的第一串口有很多,为了避免资源浪费,复杂可编程逻辑器件通过切换开关选择与其连接的全部第一串口的部分导通。切换开关由多选一多路选择器,切换开关的数量及型号基于cpu以及第一串口的数量以及cpu的实际工作情况等因素综合确定。
41.例如,当前服务器为2路服务,有2个cpu,分别为cpu1、cpu2,每个cpu有4个第一串口,bmc有4个第二串口,cpu1的4个第一串口均有信息输出(其中两个第一串口已与bmc的第二串口直连),cpu2有两个第一串口有信息输出,此时可以设置两个二选一多路选择器,分别对应cpu1和cpu2,分别用以切换复杂可编程逻辑器件与cpu1、cpu2导通的第一串口。
42.又例如,当前服务器为2路服务,有2个cpu,分别为cpu1、cpu2,每个cpu有4个第一串口,bmc有4个第二串口,cpu1的2个串口均有信息输出(已与bmc的第二串口直连)、cpu2有两个串口有信息输出,此时可以设置一个二选一多路选择器,对应cpu2的2个第一串口,用以切换复杂可编程逻辑器件与cpu2导通的第一串口。
43.又例如,当前服务器为4路服务,有4个cpu,分别为cpu1、cpu2、cpu3、cpu4,每个cpu有4个第一串口,bmc有4个第二串口,cpu1的2个第一串口均有信息输出(已与bmc的第二串口直连)、cpu2有两个第一串口有信息输出、cpu3和cpu4均有一个第一串口有信息输出,此时可以设置两个二选一多路选择器,一个对应cpu2的2个第一串口,一个对应cpu3和cpu4的第一串口,分别用以切换复杂可编程逻辑器件与cpu2、cpu3、cpu4导通的第一串口。
44.以上仅为对本实施的举例,但不限于此,切换开关的数量和型号根据服务器的情况自由定义,不限于2选1多路选择器。
45.在一些实施方式中,轮询所述第二串口接收到的所述第一串口和/或所述复杂可编程逻辑器件输出的信息包括:
46.轮询所述第二串口接收到的所述第一串口和/或所述复杂可编程逻辑器件输出的
信息;
47.在所述第一串口和/或所述复杂可编程逻辑器件输出的信息前添加串口标识,并将添加了串口标识的所述第一串口和/或所述复杂可编程逻辑器件输出的信息保存到文件中。
48.bmc轮询bmc上的第二串口,当第二串口接收到有信息输入时,在信息前打上串口号标识并将添加了串口号标识的信息输出到指定的文件中存储,例如串口日志文件。
49.在一些实施方式中,基于所述复杂可编程逻辑器件输出的信息判断是否通知所述复杂可编程逻辑器件更换与所述复杂可编程逻辑器件导通的第一串口包括:
50.响应于轮询到所述第二串口接收到信息为所述复杂可编程逻辑器件输出的信息,基于所述复杂可编程逻辑器件输出的信息判断是否向所述复杂可编程逻辑器件发送切换指令以使所述复杂可编程逻辑器件从与当前第一串口导通切换到与对应的第一串口导通。
51.当bmc轮询到指定串口(即与复杂可编程逻辑器件连接的第二串口)时,判断复杂可编程逻辑器件输出的信息是否包含预先设定的信息,如果有,bmc除了继续下一个第二串口的轮询外还需要按既定程序通知cpld切换与其导通的第一串口。
52.在一些实施方式中,所述基板管理控制器具体配置为:
53.基于所述输出的信息,预先配置关键词;
54.轮询所述第二串口接收到所述中央处理器和/或所述复杂可编程逻辑器件输出的信息;
55.响应于轮询到所述第二串口接收到信息为所述复杂可编程逻辑器件输出的信息,判断所述信息中是否包含所述关键词;
56.若是所述信息中包含所述关键词,则基于所述关键词向所述复杂可编程逻辑器件发送对应的切换指令以使所述复杂可编程逻辑器件从与当前第一串口导通切换到与对应的第一串口导通。
57.在bmc配置与复杂可编程逻辑器件连接的第一串口的关键词,关键词与复杂可编程逻辑器件连接的第一串口输出的信息相关联,用于体现第一串口的当前状态是可切换状态。
58.当bmc轮询到其第二串口接收的信息为与其直连的第一串口的输出信息时,直接将输出信息加上串口号标识保存到文件夹中;当bmc轮询到其第二串口接收的信息为与复杂可编程逻辑器件输出的信息时,判断复杂可编程逻辑器件输出的信息是否包含预先设定的信息,如果有,bmc除了将输出信息加上串口号标识保存到文件夹外,还按既定程序通知cpld切换与其导通的第一串口。
59.以下为bmc进行轮询的举例说明,在bmc中预先配置好关键词信息,其中,bmc有4个第二串口,分别为bmc串口1~4,有2个cpu,分别为cpu1、cpu2,每个cpu有4个第一串口,分别为cpu1串口1~4、cpu2串口1~4,cpu1中的cpu1串口1、2已分别与bmc串口1、2相连)。bmc进行轮询时,输出信息如下:
[0060][0061]
bmc通过轮询其第二串口接收到的串口信息,可以将串口信息完整的保存到文件中,以便于后续服务器出现问题时,运维人员通过存放日志信息的文件了解服务器出现问题前和出现问题时的状态,快速定位故障。
[0062]
在一些实施方式中,装置还包括与所述基板管理控制器连接的存储芯片,所述存储芯片配置为存储所述基板管理控制器基于所述第二串口接收到的信息。
[0063]
bmc将接收到的第一串口和复杂可编程逻辑器件输出的串口信息,保存到文件后,例如串口日志文件,在存储芯片中开辟两块存储空间存放串口日志文件,第一块存储空间用完时存到第二存储空间,第二存储空间用完时擦除第一块存储空间继续在第一块存储空间内存储,依次往复。
[0064]
在一些实施方式中,装置还包括与所述基板管理控制器连接的网络管理接口,所述网络管理接口配置为连接网络以使远程客户端通过所述网络访问所述基板管理控制器以使所述远程客户端获取到所述基板管理控制器基于所述第二串口接收到的信息。
[0065]
bmc通过bmc网络管理接口接上网线后,网络会为bmc分配网络ip地址,远程维护人员可以在客户端通过bmc的网络ip地址下载存储在存储芯片上的串口日志文件,通过串口日志文件查看出现问题前和出现问题时的服务器状态。
[0066]
如图2所示,为本发明提供的用于2路服务器的串口信息收集装置的一实施例的结构示意图。
[0067]
串口信息收集装置包括:cpu1、cpu2、bmc、cpld、网络管理接口和存储芯片,bmc有4个串口,分别为bmc串口1~4,cpu1有4个串口,分别为cpu1串口1~4,cpu2分别有5个串口,分别为cpu2串口1~5,cpld包括两个切换开关,分别为切换开关1和切换开关2,切换开关1、2均为2选一多路选择器,cpu1串口1、2分别与bmc串口1、2连接,cpu1串口3、4分别与切换开关1的输出端连接,cpu2串口2、4分别与切换开关2的输入端连接,切换开关1、2的输出端分别与bmc串口3、4连接,bmc与cpld通过i2c总线连接,bmc还与网络管理接口和存储芯片连接。
[0068]
cpu1串口3、4是信息输出时间间隔较长的两组串口,bmc根据cpu1串口3、4输出的信息,设计几个用于切换cpu1串口3或cpu1串口4与cpld导通的关键词,当bmc通过bmc串口1
或2识别到接收到的信息中有关键词输出时按既定程序通知cpld进行串口切换。
[0069]
同理,cpu2串口2、4按照cpu1串口3、4设计关键词方法通过bmc配置关键词,用于当bmc通过bmc串口3或4识别到接收到的信息中有关键词输出时按既定程序通知cpld进行串口切换。
[0070]
cpld和bmc的通过i2c(inter-integrated circuit,两线式串行总线)通信,cpld通过i2c接收bmc的指令,将接收到的cpu对应串口的信息传送给bmc或通过对应的切换开关切换与cpld导通的cpu的串口。
[0071]
bmc轮询bmc串口1~4,当有信息输入时在信息前打上串口号标识并输出到串口日志文件中;在轮询到bmc串口2或3时,因为bmc串口2、3与cpld连接,通过cpld间接的接收cpu1串口3或cpu1串口4或cpu2串口2或cpu2串口4输出的串口信息,判断信息是否包含对应于cpu1串口3或cpu1串口4或cpu2串口2或cpu2串口4输出的串口信息的关键词,如果有,bmc按既定程序通知cpld切换串口,并继续下一个串口的轮询。
[0072]
以上仅为本发明的串口信息收集装置用于2路服务器的举例,串口信息收集装置的实际应用不限于此,还可以应用于4路服务器、8路服务器等多路服务器,切换开关的数量和选型可以根据实际业务需求而调整。
[0073]
基于同一发明构思,根据本发明的另一个方面,如图3所示,本发明的实施例还提供了一种串口信息收集方法,基于如上任一项所述的串口信息收集装置,执行以下步骤:
[0074]
步骤s101、基板管理控制器轮询第二串口接收到的第一串口和/或复杂可编程逻辑器件输出的信息,并基于所述复杂可编程逻辑器件输出的信息判断是否通知所述复杂可编程逻辑器件更换与所述复杂可编程逻辑器件导通的第一串口。
[0075]
在一些实施方式中,基于所述复杂可编程逻辑器件输出的信息判断是否通知所述复杂可编程逻辑器件更换与所述复杂可编程逻辑器件导通的第一串口包括:
[0076]
响应于轮询到所述第二串口接收到信息为所述复杂可编程逻辑器件输出的信息,基于所述复杂可编程逻辑器件输出的信息判断是否向所述复杂可编程逻辑器件发送切换指令以使所述复杂可编程逻辑器件从与当前第一串口导通切换到与对应的第一串口导通。
[0077]
基于同一发明构思,根据本发明的另一个方面,如图4所示,本发明的实施例还提供了一种服务器40,包括如上任一项所述的串口信息收集装置410。
[0078]
本发明实施例还可以包括相应的计算机设备。计算机设备包括存储器、至少一个处理器以及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时执行上述任意一种方法。
[0079]
其中,存储器作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本技术实施例中的所述串口信息收集方法对应的程序指令/模块。处理器通过运行存储在存储器中的非易失性软件程序、指令以及模块,从而执行装置的各种功能应用以及数据处理,即实现上述方法实施例的串口信息收集方法。
[0080]
存储器可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据装置的使用所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器可选包括相对
于处理器远程设置的存储器,这些远程存储器可以通过网络连接至本地模块。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
[0081]
最后需要说明的是,本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关硬件来完成,程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,程序的存储介质可为磁碟、光盘、只读存储记忆体(rom)或随机存储记忆体(ram)等。上述计算机程序的实施例,可以达到与之对应的前述任意方法实施例相同或者相类似的效果。
[0082]
本领域技术人员还将明白的是,结合这里的公开所描述的各种示例性逻辑块、模块、电路和算法步骤可以被实现为电子硬件、计算机软件或两者的组合。为了清楚地说明硬件和软件的这种可互换性,已经就各种示意性组件、方块、模块、电路和步骤的功能对其进行了一般性的描述。这种功能是被实现为软件还是被实现为硬件取决于具体应用以及施加给整个系统的设计约束。本领域技术人员可以针对每种具体应用以各种方式来实现的功能,但是这种实现决定不应被解释为导致脱离本发明实施例公开的范围。
[0083]
以上是本发明公开的示例性实施例,但是应当注意,在不背离权利要求限定的本发明实施例公开的范围的前提下,可以进行多种改变和修改。根据这里描述的公开实施例的方法权利要求的功能、步骤和/或动作不需以任何特定顺序执行。上述本发明实施例公开实施例序号仅仅为了描述,不代表实施例的优劣。此外,尽管本发明实施例公开的元素可以以个体形式描述或要求,但除非明确限制为单数,也可以理解为多个。
[0084]
应当理解的是,在本文中使用的,除非上下文清楚地支持例外情况,单数形式“一个”旨在也包括复数形式。还应当理解的是,在本文中使用的“和/或”是指包括一个或者一个以上相关联地列出的项目的任意和所有可能组合。
[0085]
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本发明实施例公开的范围(包括权利要求)被限于这些例子;在本发明实施例的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,并存在如上的本发明实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。因此,凡在本发明实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本发明实施例的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1