运行信息处理方法、装置、设备及计算机可读存储介质与流程
未命名
10-18
阅读:125
评论:0
1.本公开涉及云计算技术领域,尤其涉及一种运行信息处理方法、装置、设备及计算机可读存储介质。
背景技术:
2.随着云计算、虚拟化、云原生等技术的发展,裸金属作为云计算应用的重要场景,显得越来越重要。
3.裸金属服务器(bare metal server)是指一种没有安装操作系统或者应用程序的物理服务器。与传统的虚拟化服务器相比,裸金属服务器更接近于物理服务器,但不同于物理服务器的是,裸金属服务器依托于云硬盘的远程挂载,可以实现远程管理和自动部署。同时,在高性能计算领域,裸金属服务器的算力和物理服务器几乎是相近的,主要依赖于智能网卡(data processing unit,dpu)的虚拟化技术,且云硬盘的部署依赖于dpu虚拟化技术的支持,所以dpu卡的健康状况显得格外重要,dpu卡运行中出现错误对于云计算场景,尤其是高性能计算来说,是致命的。
4.现有情况裸金属服务器启动和运行过程中用户或者运维人员无法感知dpu卡的健康状况,导致出现不可预知的后果。
技术实现要素:
5.为了解决上述技术问题,本公开提供了一种运行信息处理方法、装置、设备及计算机可读存储介质,以详细了解智能网卡的错误原因。
6.第一方面,本公开实施例提供一种运行信息处理方法,包括:
7.响应于上电操作,启动裸金属服务器初始化进程,同时启动智能网卡初始化进程,所述智能网卡与所述裸金属服务器通信连接,所述裸金属服务器初始化进程包括按照预定顺序执行的多个初始化阶段;
8.当所述裸金属服务器初始化进程进入所述多个初始化阶段中的预设阶段时,若所述智能网卡初始化进程的执行状态不能支持所述裸金属服务器执行所述预设阶段,则收集所述智能网卡的运行信息;
9.将所述运行信息作为第一表项,加入到所述预设规范表中,所述预设规范表存储于所述裸金属服务器初始化进程中;
10.将所述运行信息存入非易失介质中,在所述裸金属服务器重新正常启动后通过可扩展固件接口从所述非易失介质中读取所述运行信息,作为第二表项加入到所述预设规范表中;
11.响应于用户输入的信息查看命令,将所述运行信息反馈至用户。
12.在一些实施例中,所述方法还包括:
13.在裸金属服务器运行操作系统时,通过智能网卡的运行进度码监控所述智能网卡的运行状态。
14.在一些实施例中,所述当所述裸金属服务器初始化进程进入所述多个初始化阶段中的预设阶段时,若所述智能网卡初始化进程的执行状态不能支持所述裸金属服务器执行所述预设阶段,则收集所述智能网卡的运行信息,包括:
15.当所述裸金属服务器初始化进程进入所述多个初始化阶段中的预设阶段时,获取所述智能网卡的初始化进度码,所述初始化进度码用于表征所述智能网卡初始化进程的执行状态;
16.判断所述智能网卡的初始化进度码是否符合预设规则;
17.若所述智能网卡的初始化进度码不符合预设规则,则确定所述智能网卡初始化进程的执行状态不能支持所述裸金属服务器执行所述预设阶段,收集所述智能网卡的运行信息。
18.在一些实施例中,所述判断所述智能网卡的初始化进度码是否符合预设规则,包括:
19.判断所述初始化进度码是否属于预设正常进度码范围;
20.若所述初始化进度码不属于正常进度码范围,则确定所述智能网卡的初始化进度码不符合预设规则。
21.在一些实施例中,在所述判断所述初始化进度码是否属于预设正常进度码范围之后,所述方法还包括:
22.若所述初始化进度码属于预设正常进度码范围,则判断所述初始化进度码是否大于或等于目标进度码;
23.若所述初始化进度码小于目标进度码,则确定所述智能网卡的初始化进度码不符合预设规则。
24.在一些实施例中,所述若所述初始化进度码小于目标进度码,则确定所述智能网卡的初始化进度码不符合预设规则,包括:
25.若所述初始化进度码小于所述目标进度码,则在预设等待时间内每隔预设周期重新获取最新初始化进度码并进行检测;
26.经过预设等待时间后,若所述最新初始化进度码小于所述目标进度码或不属于预设正常进度码范围,确定所述智能网卡的初始化进度码不符合预设规则。
27.在一些实施例中,在所述判断所述智能网卡的初始化进度码是否符合预设规则之后,所述方法还包括:
28.若所述初始化进度码符合预设规则,则执行所述预设阶段;
29.继续执行所述预设阶段的下一阶段,直至所述裸金属服务器初始化进程执行完毕,完成所述裸金属服务器的启动。
30.第二方面,本公开实施例提供一种运行信息处理装置,包括:
31.启动模块,用于响应于上电操作,启动裸金属服务器初始化进程,同时启动智能网卡初始化进程,所述智能网卡与所述裸金属服务器通信连接,所述裸金属服务器初始化进程包括按照预定顺序执行的多个初始化阶段;
32.收集模块,用于当所述裸金属服务器初始化进程进入所述多个初始化阶段中的预设阶段时,若所述智能网卡初始化进程的执行状态不能支持所述裸金属服务器执行所述预设阶段,则收集所述智能网卡的运行信息;
33.第一加入模块,用于将所述运行信息作为第一表项,加入到所述预设规范表中,所述预设规范表存储于所述裸金属服务器初始化进程中;
34.第二加入模块,用于将所述运行信息存入非易失介质中,在所述裸金属服务器重新正常启动后通过可扩展固件接口从所述非易失介质中读取所述运行信息,作为第二表项加入到所述预设规范表中;
35.反馈模块,用于响应于用户输入的信息查看命令,将所述运行信息反馈至用户。
36.第三方面,本公开实施例提供一种电子设备,包括:
37.存储器;
38.处理器;以及
39.计算机程序;
40.其中,所述计算机程序存储在所述存储器中,并被配置为由所述处理器执行以实现如第一方面所述的方法。
41.第四方面,本公开实施例提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行以实现第一方面所述的方法。
42.第五方面,本公开实施例还提供了一种计算机程序产品,该计算机程序产品包括计算机程序或指令,该计算机程序或指令被处理器执行时实现如上所述的运行信息处理方法。
43.本公开实施例提供的运行信息处理方法、装置、设备及计算机可读存储介质,提供了一种在裸金属服务器启动阶段记录智能网卡的错误信息的方法,有利于详细了解智能网卡的错误原因,保证裸金属服务器启动的可靠性。
附图说明
44.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
45.为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
46.图1为本公开实施例提供的运行信息处理方法流程图;
47.图2为本公开实施例提供的一种应用场景的示意图;
48.图3为本公开实施例提供的一种裸金属服务器运行监控流程示意图;
49.图4为本公开另一实施例提供的裸金属服务器与智能网卡通信示意图;
50.图5为本公开实施例提供的串口全双工通信示意图;
51.图6为本公开另一实施例提供的dxe阶段裸金属服务器工作流程图;
52.图7为本公开另一实施例提供的bds阶段裸金属服务器工作流程图;
53.图8为本公开另一实施例提供的裸金属服务器启动方法流程图;
54.图9为本公开实施例提供的运行信息处理装置的结构示意图;
55.图10为本公开实施例提供的电子设备的结构示意图。
具体实施方式
56.为了能够更清楚地理解本公开的上述目的、特征和优点,下面将对本公开的方案进行进一步描述。需要说明的是,在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合。
57.在下面的描述中阐述了很多具体细节以便于充分理解本公开,但本公开还可以采用其他不同于在此描述的方式来实施;显然,说明书中的实施例只是本公开的一部分实施例,而不是全部的实施例。
58.裸金属服务器(bare metal server)是指一种没有安装操作系统或者应用程序的物理服务器。与传统的虚拟化服务器相比,裸金属服务器更接近于物理服务器,但不同于物理服务器的是,裸金属服务器依托于云硬盘的远程挂载,可以实现远程管理和自动部署。现有情况裸金属服务器启动和运行过程中无法感知dpu卡的健康状况。导致裸金属服务器在运行过程中出现不可预知的后果。
59.例如,通常情况下dpu卡的启动串口信息通过sol(serial over lan)形式通过bmc输出到远端控制台,供远程管理员进行查看。如果dpu在启动中出现错误,裸金属服务器没有获取的渠道,导致罗金属服务器无法加载云硬盘,也无法记录错误原因。
60.或者,当一台裸金属服务器正运行在客户os下,若dpu卡出现异常导致对云硬盘的读写出现错误,不能保存裸金属内存的信息,裸金属服务器os将会出现卡死的情况,如果是高性能计算场景,将导致灾难性的后果。
61.针对该问题,本公开实施例提供了一种运行信息处理方法,下面结合具体的实施例对该方法进行介绍。
62.图1为本公开实施例提供的运行信息处理方法流程图。该方法可以应用于图2所示的应用场景,该应用场景中包括裸金属服务器(bare metal server)和智能网卡(data processing unit,dpu)。可以理解的是,本公开实施例提供的裸金属服务器启动方法还可以应用在其他场景中。
63.下面结合图2所示的应用场景,对图1所示的运行信息处理方法进行介绍,该方法包括的具体步骤如下:
64.s101、响应于上电操作,启动裸金属服务器初始化进程,同时启动智能网卡初始化进程,所述智能网卡与所述裸金属服务器通信连接,所述裸金属服务器初始化进程包括按照预定顺序执行的多个初始化阶段。
65.智能网卡与裸金属服务器通信连接,二者之间通过串口进行数据交换。在裸金属服务器上电后,裸金属服务器启动初始化进程(basic input output system,bios),智能网卡同时上电并启动智能网卡初始化进程。bios是计算机基本输入输出系统,是计算机加载操作系统(operating system,os)以及披平台配置的软件。
66.裸金属服务器初始化进程包括按照预定顺序执行的多个初始化阶段。在一些实施例中,如图2所示,裸金属服务器初始化进程至少包括sec(security phase)阶段、pei(pre-efi initialization)阶段、dxe阶段、bds(boot device selection)阶段。
67.其中,sec阶段是平台是裸金属服务器初始化的第一个阶段,系统上电后首先进入这个阶段。在sec阶段,裸金属服务器以中央处理器(central processing unit,cpu)的缓存(cache)作为内存(random access memory,ram)为下一阶段的执行提供存储资源,即在
这一阶段裸金属服务器进行简单的cache as ram,初始化堆栈寄存器,使得cpu进入c语言执行环境(c环境)。同时,在这一阶段中,对cpu的串口进行初始化。在一些实施例中,以x86系统为例,系统中集成了多个串口控制器,通常使用其中一组串口作为系统串口,用于输出裸金属服务器初始化信息,而其他串口一般处于未用状态,可以用来与智能网卡实现通信。
68.pei阶段用于初始化主板上的物理内存,通过遍历内存进行读写校验,设定内存的各项参数,以达到内存读写稳定的效果,为裸金属服务器初始化进程的后续阶段的运行搭建运行空间。由于大型服务器多数使用物理cpu及大内存,且内存普遍采用addc,ecc,memory mirror等内存校验加密重构高级技术,需要不断对内存进行训练(读写、纠正等)才能够使得内存参数达到稳定,导致初始化内存需要花费的时间较长。
69.dxe阶段需要遍历外部设备,判断外部设备是否已经准备就绪;bds阶段用于分析判断云硬盘是否挂载就绪,当外部设备准备就绪,云硬盘挂载就绪后,即可完成裸金属服务器初始化进程,进入业务所需的操作系统(os)。
70.s102、当所述裸金属服务器初始化进程进入所述多个初始化阶段中的预设阶段时,若所述智能网卡初始化进程的执行状态不能支持所述裸金属服务器执行所述预设阶段,则收集所述智能网卡的运行信息。
71.其中,预设阶段可以是上述dxe阶段和bds阶段中的任意一种。
72.智能网卡通常由fpga(field programmable gate array)以及系统级芯片(system on chip,soc)组成。其中,fpga是在pal(可编程阵列逻辑)、gal(通用阵列逻辑)等可编程器件的基础上进一步发展的产物。智能网卡上存储有云盘镜像,其中包括云计算业务需要使用的硬盘以及在硬盘上需要安装的os。因此,智能网卡的初始化进程决定了裸金属服务器初始化进程中的各个阶段是否能够正常进行。
73.通常情况下,裸金属服务器初始化进程所花费的时间较智能网卡初始化所花费的时间更长,因此在初始化进程执行到预设阶段时,智能网卡的初始化程度通常能够支持裸金属服务器执行预设阶段。但当智能网卡出现故障时,可能导致智能网卡初始化进程的执行状态不能支持所述裸金属服务器执行所述预设阶段,此时需要收集智能网卡的运行信息,用以分析的智能网卡的具体故障。
74.s103、将所述运行信息作为第一表项,加入到所述预设规范表中,所述预设规范表存储于所述裸金属服务器初始化进程中。
75.在裸金属服务器初始化进程(bios)中存在至少一个用于存储信息的表,其中包括符合smbios规范的预设规范表(smbios表)。smbios规范定义了用户或者应用程序存储和访问计算机系统信息的一系列数据结构以及访问方法。
76.根据smbios规范定义,smbios表中有一部分系统预留表项,还有一部分表项可以由用户自行定义。具体的,type0-type127是系统预留的,type128-type256可以由用户自行定义。本步骤将运行信息作为一个表项,加入预设规范表(smbios表)中。
77.可选的,还可以将智能网卡的错误信息额外作为一个表项(例如第三表项)加入预设规范表(smbios表)中。
78.s104、将所述运行信息存入非易失介质中,在所述裸金属服务器重新正常启动后通过可扩展固件接口从所述非易失介质中读取所述运行信息,作为第二表项加入到所述预设规范表中。
79.当智能网卡出现错误时,将运行信息存入非易失介质中。当裸金属服务器再次正常启动后,会通过统一规范的可扩展固件接口uefi从非易失介质中读取运行信息并作为另外的表项(例如第二表项)加入预设规范表(smbios表)中。
80.其中,uefi遵循efi(extensible firmware interface)规范。
81.s105、响应于用户输入的信息查看命令,将所述运行信息反馈至用户。
82.用户可以通过信息查看命令获取运行信息,对运行信息进行分析以修正智能网卡的故障。
83.例如,在linux系统下通过工具dmi decode(用于遵循smbios/dmi标准,将smbios数据解析,以可读的文本方式展示smbios中记录的系统硬件配置信息)来查看存储在bios中的smbios表,在uefi shell(用于提供用户和uefi系统之间的接口)下通过命令smbios view来查看存储在bios中的smbios表。
84.在一些实施例中,将所述运行信息作为第一表项,加入到所述预设规范表中之后,还可以上报所述裸金属服务器对应的云管理平台。具体的,uefi bios通过ipmi protocol将错误信息传递给智能平台管理系统(baseboard management controller,bmc),bmc上报云管理平台,提醒云管理平台管理员进行查看。
85.本公开实施例通过响应于上电操作,启动裸金属服务器初始化进程,同时启动智能网卡初始化进程,所述智能网卡与所述裸金属服务器通信连接,所述裸金属服务器初始化进程包括按照预定顺序执行的多个初始化阶段;当所述裸金属服务器初始化进程进入所述多个初始化阶段中的预设阶段时,若所述智能网卡初始化进程的执行状态不能支持所述裸金属服务器执行所述预设阶段,则收集所述智能网卡的运行信息;将所述运行信息作为第一表项,加入到所述预设规范表中,所述预设规范表存储于所述裸金属服务器初始化进程中;将所述运行信息存入非易失介质中,在所述裸金属服务器重新正常启动后通过可扩展固件接口从所述非易失介质中读取所述运行信息,作为第二表项加入到所述预设规范表中;响应于用户输入的信息查看命令,将所述运行信息反馈至用户,提供了一种在裸金属服务器启动阶段记录智能网卡的错误信息的方法,有利于详细了解智能网卡的错误原因,保证裸金属服务器启动的可靠性。
86.在上述实施例的基础上,所述方法还包括:在裸金属服务器运行操作系统时,通过智能网卡的运行进度码监控所述智能网卡的运行状态。
87.图3为本公开实施例提供的一种裸金属服务器运行监控流程示意图。如图3所示,裸金属服务器(即裸金属节点)获取智能网卡的运行进度码(progresscode),对智能网卡的运行状态进行监控。具体的,openstack用于管理硬件和软件加速资源框架,可以通过cyborg列出、识别和发现智能网卡设备,挂载、卸载智能网卡实例。cyborg的主要功能包括硬件资源的发现、资源上报、资源的管理等。借助于openstack的cyborg项目,修改操作系统中运行的cyborg-agent服务,在其中添加智能网卡监控机制的相关代码,具体为对运行进度码执行判断逻辑的代码。当运行进度码出现异常时,向云管理平台上报错误信息,云管平台采取相应措施(关机或者业务迁移等等)。
88.本公开实施例通过修改操作系统中的服务,在操作系统运行系统中对智能网卡的运行状态进行监控,在智能网卡运行出现异常时及时上报云管理平台,进一步提高了裸金属服务器运行的稳定性。
89.在一些实施例中,所述当所述裸金属服务器初始化进程进入所述多个初始化阶段中的预设阶段时,若所述智能网卡初始化进程的执行状态不能支持所述裸金属服务器执行所述预设阶段,则收集所述智能网卡的运行信息,包括:当所述裸金属服务器初始化进程进入所述多个初始化阶段中的预设阶段时,获取所述智能网卡的初始化进度码,所述初始化进度码用于表征所述智能网卡初始化进程的执行状态;判断所述智能网卡的初始化进度码是否符合预设规则;若所述智能网卡的初始化进度码不符合预设规则,则确定所述智能网卡初始化进程的执行状态不能支持所述裸金属服务器执行所述预设阶段,收集所述智能网卡的运行信息。
90.智能网卡通常由fpga(field programmable gate array)以及系统级芯片(system on chip,soc)组成。其中,fpga是在pal(可编程阵列逻辑)、gal(通用阵列逻辑)等可编程器件的基础上进一步发展的产物。智能网卡上存储有云盘镜像,其中包括云计算业务需要使用的硬盘以及在硬盘上需要安装的os。从智能网卡固件启动到进入dpu卡上的soc执行智能网卡初始化进程,最终准备好云盘镜像的各个阶段,都可以定义相应的初始化进度码(progress code)。
91.智能网卡在执行初始化进程的每个阶段时都会抛出当前阶段对应的初始化进度码,初始化进度码用于表征智能网卡初始化进程的执行状态,即代表当前智能网卡初始化进程所处的阶段。裸金属服务器从智能网卡处获取初始化进度码,即可实现对智能网卡初始化进度状态的侦听。
92.具体的,当所述裸金属服务器初始化进程进入所述多个初始化阶段中的预设阶段时,获取所述智能网卡的初始化进度码。其中,预设阶段可以是上述dxe阶段和bds阶段中的任意一种。
93.参见图2,在裸金属服务器进入dxe阶段时,裸金属服务器与智能网卡之间通信,获取智能网卡当前的初始化进度码;在裸金属服务器进入bds阶段时,裸金属服务器与智能网卡之间通信,获取智能网卡当前的初始化进度码。
94.如上所述,裸金属服务器初始化进程包括按照预定顺序执行的多个初始化阶段,当前一个初始化阶段执行完成后,才能够按照预定顺序执行下一个初始化阶段。初始化进度码能够反映智能网卡初始化进度状态,当初始化进度码符合预设规则时,则确定当前智能网卡的初始化状态能够满足裸金属服务器执行预设阶段的需求,继续执行预设阶段;若初始化进度码不符合预设规则,则确定所述智能网卡初始化进程的执行状态不能支持所述裸金属服务器执行所述预设阶段,收集所述智能网卡的运行信息。
95.在一些实施例中,所述判断所述智能网卡的初始化进度码是否符合预设规则,包括:判断所述初始化进度码是否属于预设正常进度码范围;若所述初始化进度码不属于正常进度码范围,则确定所述智能网卡的初始化进度码不符合预设规则。
96.判断初始化进度码是否属于预设正常进度码范围。在约定进度码规则时,同时约定正常进度码范围,该正常进度码范围涵盖智能网卡正常运行时所可能产生的初始化进度码。当初始化进度码属于整场进度码范围内时,表明当前智能网卡运行正常,进一步根据初始化进度码判断智能网卡的初始化情况。若所述初始化进度码不属于预设正常进度码范围,则确定所述智能网卡的初始化进度码不符合预设规则,需要记录其故障信息。
97.在一些实施例中,在所述判断所述初始化进度码是否属于预设正常进度码范围之
后,所述方法还包括:若所述初始化进度码属于预设正常进度码范围,则判断所述初始化进度码是否大于或等于目标进度码;若所述初始化进度码小于目标进度码,则确定所述智能网卡的初始化进度码不符合预设规则。
98.具体的,所述若所述初始化进度码小于目标进度码,则确定所述智能网卡的初始化进度码不符合预设规则,包括:若所述初始化进度码小于所述目标进度码,则在预设等待时间内每隔预设周期重新获取最新初始化进度码并进行检测;经过预设等待时间后,若所述最新初始化进度码小于所述目标进度码或不属于预设正常进度码范围,确定所述智能网卡的初始化进度码不符合预设规则。
99.当裸金属服务器获取到的初始化进度码小于目标进度码时,表明当前智能网卡的初始化程度还不能够支持裸金属服务器执行即将开始的预设阶段,但由于初始化进度码小于目标进度码通常代表智能网卡还处于目标进度码对应的阶段之前,此时不能直接判定智能网卡初始化失败或裸金属服务器初始化失败,而应当等待一段时间后再次判断智能网卡是否进入目标进度码对应的初始化阶段,即等待一段时间后再次判断最新的初始化进度码与目标进度码之间的关系。
100.但是,为了避免裸金属服务器持续等待,需要约定一预设等待时间,在在预设等待时间内每隔预设周期重新获取最新初始化进度码并进行检测;经过预设等待时间后,若所述最新初始化进度码仍然不符合预设条件,例如小于所述目标进度码或不属于预设正常进度码范围,则定所述智能网卡的初始化进度码不符合预设规则。
101.在一些实施例中,在所述判断所述智能网卡的初始化进度码是否符合预设规则之后,所述方法还包括:若所述初始化进度码符合预设规则,则执行所述预设阶段;继续执行所述预设阶段的下一阶段,直至所述裸金属服务器初始化进程执行完毕,完成所述裸金属服务器的启动。
102.如上所述,裸金属服务器初始化进程包括按照预定顺序执行的多个初始化阶段,当前一个初始化阶段执行完成后,才能够按照预定顺序执行下一个初始化阶段。初始化进度码能够反映智能网卡初始化进度状态,当初始化进度码符合预设规则时,则确定当前智能网卡的初始化状态能够满足裸金属服务器执行预设阶段的需求,继续执行预设阶段。
103.在一些实施例中,若预设阶段为dxe阶段,获取智能网卡的初始化进度码;若初始化进度码符合预设规则,则确定智能网卡已经例化好了裸金属服务器执行dxe阶段所需要的外部设备,可以支持裸金属服务器执行dxe阶段。
104.在一些实施例中,若预设阶段为bds阶段,获取智能网卡的初始化进度码;若初始化进度码符合预设规则,则确定智能网卡已经将云硬盘准备就绪,可以支持裸金属服务器执行bds阶段。
105.裸金属服务器初始化进程包括按照预定顺序执行的多个初始化阶段,当所述多个初始化阶段依次执行完毕后,裸金属服务器完成启动,进入业务所需的操作系统中。
106.上述公开实施例通过侦听智能网卡的初始化进度码并执行相应操作来实现裸金属服务器与智能网卡的初始化信息交互,在节省了裸金属服务器启动时间的同时,保证了裸金属服务器启动的可靠性。
107.图4为本公开另一实施例提供的裸金属服务器与智能网卡通信示意图。裸金属服务器与智能网卡之间相互通信,所述当所述裸金属服务器初始化进程进入所述多个初始化
阶段中的预设阶段时,获取所述智能网卡的初始化进度码,包括:当所述裸金属服务器初始化进程进入所述多个初始化阶段中的预设阶段时,向所述智能网卡发送进度码获取命令;接收所述智能网卡根据所述进度码获取命令所查找到的反馈信息,所述反馈信息中包括所述初始化进度码。
108.具体的,裸金属服务器与智能网卡之间通过串口相互通信。串口是计算机上的一种设备通信的协议,大多数计算机设备包含两个基于rs232的串口。串口同时也是仪器仪表设备的通信协议。通信基于地线、发送、接收三根线完成,由于串口通信是异步的,端口能够在一根线上发送数据同时在另一根线上接收数据,其他线用于握手。串口通信最重要的参数是波特率、数据位、停止位和奇偶校验。对于两个进行通信的端口,两者之间的这些参数必须匹配。
109.如图4所示,裸金属服务器侧与智能网卡(dpu侧)分别进行串口初始化与打开的操作,此时两侧用于串口通信的端口的参数相互匹配,裸金属服务器侧向智能网卡侧发送控制命令,具体为发送进度码获取命令;智能网卡侧根据控制命令(即进度码获取命令)查找相应的信息,并将反馈信息发送回裸金属服务器侧,最终裸金属服务器根据反馈信息中所包含的初始化进度码(progress code)进行相应的处理。
110.图5为本公开实施例提供的串口全双工通信示意图。如图5所示,在裸金属服务器侧布置有串口控制器a,dpu侧布置有串口控制器b,两个串口控制器分别通过其各自对应的电平转换芯片,基于rs232通过端口进行通信。
111.图6为本公开另一实施例提供的dxe阶段裸金属服务器工作流程图。当上述实施例中的预设阶段为dxe阶段时,如图6所示,在dxe阶段,裸金属服务器读取当前智能网卡抛出的初始化进度码(progress code),首先判断初始化进度码是否属于预设正常进度码范围,即判断初始化进度码是否为normal code。若是,则继续下一步判断;若否,则收集所述智能网卡的运行信息将所述运行信息作为第一表项,加入到所述预设规范表(smbios表)中,进一步uefi bios通过ipmi protocol将错误信息传递给智能平台管理系统(baseboard management controller,bmc),bmc上报云管理平台,uefi bios通过构建预设规范表(smbios表)记录相应的错误(至少包括时间日期等等),提醒云管理平台进行查看。另外将所述运行信息存入非易失介质中,在所述裸金属服务器重新正常启动后通过可扩展固件接口从所述非易失介质中读取所述运行信息,作为第二表项加入到所述预设规范表中。
112.进一步,若初始化进度码属于正常进度码范围,即初始化进度码为normal code,则继续通过初始化进度码是否达到dxe阶段对应的目标进度码来判断智能网卡是否已经例化好外部设备,例如pf(physical function)、vf(virtual function,)设备。pf用于如sr-iov规范中定义支持sr-iov功能的pci功能。pf包含sr-iov功能结构,用于管理sr-iov功能。pf是全功能的pcie(peripheral component interconnect express)功能,可以像其他任何pcie设备一样进行发现、管理和处理。同时pf拥有完全配置资源,可以用于配置或控制pcie设备。vf是sr-iov中pf关联的一种功能。vf是一种轻量级pcie功能,可以与物理功能以及与同一物理功能关联的其他vf共享一个或多个物理资源。vf仅允许拥有用于其自身行为的配置资源。
113.若初始化进度码大于或等于dxe阶段对应的目标进度码,则代表此时智能网卡已经例化好pf、vf设备,裸金属服务器继续执行初始化进程,进入下一阶,即bds阶段。若初始
化进度码不大于dxe阶段对应的目标进度码,则代表此时智能网卡尚未例化好pf、vf设备,裸金属服务器侧执行等待动作,在预设等待时间内每隔预设周期(例如0.5秒)重新获取最新初始化进度码,并再次判断最新初始化进度码是否符合预设规则;若是,则代表此时智能网卡已经例化好pf、vf设备,裸金属服务器继续执行初始化进程,进入下一阶,即bds阶段;若超过预设等待时间后最新初始化进度码仍不符合预设规则,则确定等待超时,收集所述智能网卡的运行信息将所述运行信息作为第一表项,加入到所述预设规范表(smbios表)中,进一步uefi bios通过ipmi protocol将错误信息传递给智能平台管理系统(baseboard management controller,bmc),bmc上报云管理平台,uefi bios通过构建预设规范表(smbios表)记录相应的错误(至少包括时间日期等等),提醒云管理平台进行查看。另外将所述运行信息存入非易失介质中,在所述裸金属服务器重新正常启动后通过可扩展固件接口从所述非易失介质中读取所述运行信息,作为第二表项加入到所述预设规范表中。同时,bmc还可以执行重启裸金属服务器或其他操作。
114.图7为本公开另一实施例提供的bds阶段裸金属服务器工作流程图。当上述实施例中的预设阶段为bds阶段时,如图7所示,在bds阶段,裸金属服务器读取当前智能网卡抛出的初始化进度码(progress code),首先判断初始化进度码是否属于预设正常进度码范围,即判断初始化进度码是否为normal code。若是,则继续下一步判断;若否,则收集所述智能网卡的运行信息将所述运行信息作为第一表项,加入到所述预设规范表(smbios表)中,进一步uefi bios通过ipmi protocol将错误信息传递给智能平台管理系统(baseboard management controller,bmc),bmc上报云管理平台,uefi bios通过构建预设规范表(smbios表)记录相应的错误(至少包括时间日期等等),提醒云管理平台进行查看。另外将所述运行信息存入非易失介质中,在所述裸金属服务器重新正常启动后通过可扩展固件接口从所述非易失介质中读取所述运行信息,作为第二表项加入到所述预设规范表中。
115.进一步,若初始化进度码属于正常进度码范围,即初始化进度码为normal code,则继续通过初始化进度码是否达到bds阶段对应的目标进度码来判断云硬盘是否挂载正常。若初始化进度码大于或等于bds阶段对应的目标进度码,则代表此时智能网卡已经挂载好云硬盘,裸金属服务器继续执行初始化进程,进入下一阶,即进入业务所需的os。若初始化进度码不大于bds阶段对应的目标进度码,则代表此时智能网卡尚未挂载好云硬盘,裸金属服务器侧执行等待动作,在预设等待时间内每隔预设周期(例如0.5秒)重新获取最新初始化进度码,并再次判断最新初始化进度码是否符合预设规则;若是,则代表此时智能网卡已经挂载好云硬盘,裸金属服务器继续执行初始化进程,进入下一阶,即进入业务所需的os;若超过预设等待时间后最新初始化进度码仍不符合预设规则,则确定等待超时,收集所述智能网卡的运行信息将所述运行信息作为第一表项,加入到所述预设规范表(smbios表)中,进一步uefi bios通过ipmi protocol将错误信息传递给智能平台管理系统(baseboard management controller,bmc),bmc上报云管理平台,uefi bios通过构建预设规范表(smbios表)记录相应的错误(至少包括时间日期等等),提醒云管理平台进行查看。另外将所述运行信息存入非易失介质中,在所述裸金属服务器重新正常启动后通过可扩展固件接口从所述非易失介质中读取所述运行信息,作为第二表项加入到所述预设规范表中。同时,bmc还可以执行重启裸金属服务器或其他操作。
116.图8为本公开另一实施例提供的裸金属服务器启动方法流程图。
117.如图8所示,该方法包括如下几个步骤:
118.s801、响应于所述裸金属服务器上电,启动裸金属服务器初始化进程,同时启动智能网卡初始化进程。
119.其中,所述智能网卡与所述裸金属服务器通信连接,所述裸金属服务器初始化进程包括按照预定顺序执行的多个初始化阶段。
120.s802、当所述裸金属服务器初始化进程进入dxe阶段时,获取所述智能网卡的第一初始化进度码。
121.s803、判断所述第一初始化进度码是否属于预设第一正常进度码范围。若是,执行s804;若否,执行s814。
122.s804、判断所述第一初始化进度码是否大于或等于第一目标进度码。若是,执行s807;若否,执行s805。
123.其中,所述第一目标进度码用于表征所述智能网卡已经具备供所述裸金属服务器执行dxe阶段的条件,即表征所述智能网卡已经例化好pf,vf设备。
124.s805、每隔第一预设周期重新获取最新第一初始化进度码。
125.s806、判断等待时间是否大于第一预设等待时间。若是,执行s814;若否,执行s804。
126.s807、所述裸金属服务器初始化进程进入bds阶段,获取所述智能网卡的第二初始化进度码。
127.s808、判断所述第二初始化进度码是否属于预设第二正常进度码范围。若是,执行s809;若否,执行s814。
128.s809、判断所述第二初始化进度码是否大于或等于第二目标进度码。若是,执行s812;若否,执行s810。
129.其中,所述第二目标进度码用于表征所述智能网卡已经具备供所述裸金属服务器执行bds阶段的条件,即表征所述智能网卡已经挂载好云硬盘。
130.s810、每隔第一预设周期重新获取最新第二初始化进度码。
131.s811、判断等待时间是否大于第二预设等待时间。若是,执行s814;若否,执行s808。
132.s812、所述裸金属服务器初始化进程执行完毕,完成所述裸金属服务器的启动。
133.s813、在裸金属服务器运行操作系统时,通过智能网卡的运行进度码监控所述智能网卡的运行状态。
134.s814、收集所述智能网卡的运行信息。
135.s815、将所述运行信息作为第一表项,加入到所述预设规范表中,所述预设规范表存储于所述裸金属服务器初始化进程中。
136.s816、将所述运行信息存入非易失介质中,在所述裸金属服务器重新正常启动后通过可扩展固件接口从所述非易失介质中读取所述运行信息,作为第二表项加入到所述预设规范表中。
137.s817、响应于用户输入的信息查看命令,将所述运行信息反馈至用户。
138.本公开实施例通过裸金属服务器与智能网卡的初始化并行启动,并且在初始化过程中实现信息交互,通过侦听智能网卡的初始化进度码了解智能网卡初始化的进度状态,
记录相应的进度,并采取相应的措施,使得裸金属服务器能够平稳而安全地启动部署在云硬盘中的os镜像,并且在智能网卡出现故障时记录智能网卡的错误信息的方法,有利于详细了解智能网卡的错误原因,保证裸金属服务器启动的可靠性。
139.图9为本公开实施例提供的运行信息处理装置的结构示意图。该运行信息处理装置可以是如上实施例所述的裸金属服务器,或者该运行信息处理装置可以该裸金属服务器中的部件或组件。本公开实施例提供的运行信息处理装置可以执行运行信息处理方法实施例提供的处理流程,如图9所示,运行信息处理装置90包括:启动模块91、收集模块92、第一加入模块93、第二加入模块94、反馈模块95;其中,启动模块91用于响应于上电操作,启动裸金属服务器初始化进程,同时启动智能网卡初始化进程,所述智能网卡与所述裸金属服务器通信连接,所述裸金属服务器初始化进程包括按照预定顺序执行的多个初始化阶段;收集模块92用于当所述裸金属服务器初始化进程进入所述多个初始化阶段中的预设阶段时,若所述智能网卡初始化进程的执行状态不能支持所述裸金属服务器执行所述预设阶段,则收集所述智能网卡的运行信息;第一加入模块93用于将所述运行信息作为第一表项,加入到所述预设规范表中,所述预设规范表存储于所述裸金属服务器初始化进程中;第二加入模块94用于将所述运行信息存入非易失介质中,在所述裸金属服务器重新正常启动后通过可扩展固件接口从所述非易失介质中读取所述运行信息,作为第二表项加入到所述预设规范表中;反馈模块95用于响应于用户输入的信息查看命令,将所述运行信息反馈至用户。
140.可选的,运行信息处理装置90还包括监控模块96,用于在裸金属服务器运行操作系统时,通过智能网卡的运行进度码监控所述智能网卡的运行状态。
141.可选的,收集模块92包括获取单元921、判断单元922、确定单元923;获取单元921用于当所述裸金属服务器初始化进程进入所述多个初始化阶段中的预设阶段时,获取所述智能网卡的初始化进度码,所述初始化进度码用于表征所述智能网卡初始化进程的执行状态;判断单元922用于判断所述智能网卡的初始化进度码是否符合预设规则;确定单元923用于若所述智能网卡的初始化进度码不符合预设规则,则确定所述智能网卡初始化进程的执行状态不能支持所述裸金属服务器执行所述预设阶段,收集所述智能网卡的运行信息。
142.可选的,判断单元922还用于判断所述初始化进度码是否属于预设正常进度码范围;若所述初始化进度码不属于正常进度码范围,则确定所述智能网卡的初始化进度码不符合预设规则。
143.可选的,判断单元922还用于若所述初始化进度码属于预设正常进度码范围,则判断所述初始化进度码是否大于或等于目标进度码;若所述初始化进度码小于目标进度码,则确定所述智能网卡的初始化进度码不符合预设规则。
144.可选的,确定单元923还用于若所述初始化进度码小于所述目标进度码,则在预设等待时间内每隔预设周期重新获取最新初始化进度码并进行检测;经过预设等待时间后,若所述最新初始化进度码小于所述目标进度码或不属于预设正常进度码范围,确定所述智能网卡的初始化进度码不符合预设规则。
145.可选的,收集模块92还包括执行单元924,用于若所述初始化进度码符合预设规则,则执行所述预设阶段;继续执行所述预设阶段的下一阶段,直至所述裸金属服务器初始化进程执行完毕,完成所述裸金属服务器的启动。
146.图9所示实施例的运行信息处理装置可用于执行上述方法实施例的技术方案,其
实现原理和技术效果类似,此处不再赘述。
147.图10为本公开实施例提供的电子设备的结构示意图。该电子设备可以是如上实施例所述的裸金属服务器。本公开实施例提供的电子设备可以执行运行信息处理方法实施例提供的处理流程,如图10所示,电子设备10包括:存储器1001、处理器1002、计算机程序和通讯接口1003;其中,计算机程序存储在存储器1001中,并被配置为由处理器1002执行如上所述的运行信息处理方法。
148.另外,本公开实施例还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行以实现上述实施例所述的运行信息处理方法。
149.此外,本公开实施例还提供了一种计算机程序产品,该计算机程序产品包括计算机程序或指令,该计算机程序或指令被处理器执行时实现如上所述的运行信息处理方法。
150.需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
151.以上所述仅是本公开的具体实施方式,使本领域技术人员能够理解或实现本公开。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本公开的精神或范围的情况下,在其它实施例中实现。因此,本公开将不会被限制于本文所述的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
技术特征:
1.一种运行信息处理方法,其特征在于,所述方法包括:响应于上电操作,启动裸金属服务器初始化进程,同时启动智能网卡初始化进程,所述智能网卡与所述裸金属服务器通信连接,所述裸金属服务器初始化进程包括按照预定顺序执行的多个初始化阶段;当所述裸金属服务器初始化进程进入所述多个初始化阶段中的预设阶段时,若所述智能网卡初始化进程的执行状态不能支持所述裸金属服务器执行所述预设阶段,则收集所述智能网卡的运行信息;将所述运行信息作为第一表项,加入到所述预设规范表中,所述预设规范表存储于所述裸金属服务器初始化进程中;将所述运行信息存入非易失介质中,在所述裸金属服务器重新正常启动后通过可扩展固件接口从所述非易失介质中读取所述运行信息,作为第二表项加入到所述预设规范表中;响应于用户输入的信息查看命令,将所述运行信息反馈至用户。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:在裸金属服务器运行操作系统时,通过智能网卡的运行进度码监控所述智能网卡的运行状态。3.根据权利要求1所述的方法,其特征在于,所述当所述裸金属服务器初始化进程进入所述多个初始化阶段中的预设阶段时,若所述智能网卡初始化进程的执行状态不能支持所述裸金属服务器执行所述预设阶段,则收集所述智能网卡的运行信息,包括:当所述裸金属服务器初始化进程进入所述多个初始化阶段中的预设阶段时,获取所述智能网卡的初始化进度码,所述初始化进度码用于表征所述智能网卡初始化进程的执行状态;判断所述智能网卡的初始化进度码是否符合预设规则;若所述智能网卡的初始化进度码不符合预设规则,则确定所述智能网卡初始化进程的执行状态不能支持所述裸金属服务器执行所述预设阶段,收集所述智能网卡的运行信息。4.根据权利要求3所述的方法,其特征在于,所述判断所述智能网卡的初始化进度码是否符合预设规则,包括:判断所述初始化进度码是否属于预设正常进度码范围;若所述初始化进度码不属于正常进度码范围,则确定所述智能网卡的初始化进度码不符合预设规则。5.根据权利要求4所述的方法,其特征在于,在所述判断所述初始化进度码是否属于预设正常进度码范围之后,所述方法还包括:若所述初始化进度码属于预设正常进度码范围,则判断所述初始化进度码是否大于或等于目标进度码;若所述初始化进度码小于目标进度码,则确定所述智能网卡的初始化进度码不符合预设规则。6.根据权利要求5所述的方法,其特征在于,所述若所述初始化进度码小于目标进度码,则确定所述智能网卡的初始化进度码不符合预设规则,包括:若所述初始化进度码小于所述目标进度码,则在预设等待时间内每隔预设周期重新获
取最新初始化进度码并进行检测;经过预设等待时间后,若所述最新初始化进度码小于所述目标进度码或不属于预设正常进度码范围,确定所述智能网卡的初始化进度码不符合预设规则。7.根据权利要求3所述的方法,其特征在于,在所述判断所述智能网卡的初始化进度码是否符合预设规则之后,所述方法还包括:若所述初始化进度码符合预设规则,则执行所述预设阶段;继续执行所述预设阶段的下一阶段,直至所述裸金属服务器初始化进程执行完毕,完成所述裸金属服务器的启动。8.一种运行信息处理装置,其特征在于,包括:启动模块,用于响应于上电操作,启动裸金属服务器初始化进程,同时启动智能网卡初始化进程,所述智能网卡与所述裸金属服务器通信连接,所述裸金属服务器初始化进程包括按照预定顺序执行的多个初始化阶段;收集模块,用于当所述裸金属服务器初始化进程进入所述多个初始化阶段中的预设阶段时,若所述智能网卡初始化进程的执行状态不能支持所述裸金属服务器执行所述预设阶段,则收集所述智能网卡的运行信息;第一加入模块,用于将所述运行信息作为第一表项,加入到所述预设规范表中,所述预设规范表存储于所述裸金属服务器初始化进程中;第二加入模块,用于将所述运行信息存入非易失介质中,在所述裸金属服务器重新正常启动后通过可扩展固件接口从所述非易失介质中读取所述运行信息,作为第二表项加入到所述预设规范表中;反馈模块,用于响应于用户输入的信息查看命令,将所述运行信息反馈至用户。9.一种电子设备,其特征在于,包括:存储器;处理器;以及计算机程序;其中,所述计算机程序存储在所述存储器中,并被配置为由所述处理器执行以实现如权利要求1-7中任一项所述的方法。10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-7中任一项所述的方法。
技术总结
本公开涉及一种运行信息处理方法、装置、设备及计算机可读存储介质。本公开通过提供了一种在裸金属服务器启动阶段记录智能网卡的错误信息的方法,有利于详细了解智能网卡的错误原因,保证裸金属服务器启动的可靠性。保证裸金属服务器启动的可靠性。保证裸金属服务器启动的可靠性。
技术研发人员:李同川 黄明亮 张宇 鄢贵海
受保护的技术使用者:中科驭数(北京)科技有限公司
技术研发日:2023.06.25
技术公布日:2023/10/11
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
