CN115686962A - 服务器链路检测方法、装置及电子设备 - Google Patents
服务器链路检测方法、装置及电子设备 Download PDFInfo
- Publication number
- CN115686962A CN115686962A CN202211364288.1A CN202211364288A CN115686962A CN 115686962 A CN115686962 A CN 115686962A CN 202211364288 A CN202211364288 A CN 202211364288A CN 115686962 A CN115686962 A CN 115686962A
- Authority
- CN
- China
- Prior art keywords
- link
- target
- file
- name
- server
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 142
- 238000000034 method Methods 0.000 claims abstract description 73
- 230000008569 process Effects 0.000 claims abstract description 48
- 238000012360 testing method Methods 0.000 claims abstract description 24
- 238000009530 blood pressure measurement Methods 0.000 claims description 27
- 238000004590 computer program Methods 0.000 claims description 13
- 230000007246 mechanism Effects 0.000 claims description 4
- 230000004931 aggregating effect Effects 0.000 claims description 2
- 238000012423 maintenance Methods 0.000 abstract description 16
- 238000004891 communication Methods 0.000 description 4
- 238000012790 confirmation Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 2
- 230000007547 defect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Abstract
本发明提供一种服务器链路检测方法、装置及电子设备,所述方法包括:获取目标服务器的各设备名称的第一链路误码数量,对所述第一链路误码数量进行汇总并存储于第一目标文件中;执行硬盘压测程序,获取各所述设备名称经过压测过程后的第二链路误码数量,对所述第二链路误码数量进行汇总并存储于第二目标文件中;确认所述第一目标文件的文件内容和所述第二目标文件的文件内容是否一致,得到链路检测结果。本发明能够根据链路检测结果确定链路是否存在隐患,从而缩小硬盘读写报错的故障范围,提高维修效率。
Description
技术领域
本发明涉及服务器检测技术领域,尤其涉及一种服务器链路检测方法、装置及电子设备。
背景技术
SAS Expander设备主要是指存储服务器,存储服务器的主要功能是实现对硬盘的读写,但是在读写过程中由于PHY链路故障会导致读写硬盘数据出错,目前无有效方式拦截硬盘读写链路中出现的误码错误。现有技术中,通常是直接对SAS Expander存储设备行硬盘压测,硬盘压测报错后,直接对报错硬盘进行更换。
然而,硬盘压测报错不一定是硬盘问题,硬盘、背板、主板、坦克链等读写硬盘时数据所经过的PHY链路都有可能有故障,硬盘压测报错无法准确定位是哪个部件的问题,只能对和硬盘读写相关部件硬盘、背板、主板、坦克链逐个交叉验证,费时费力,效率低下。
因此,如何缩小硬盘读写报错的故障范围,提高维修效率,是当前亟需解决的技术问题。
发明内容
本发明提供一种服务器链路检测方法、装置及电子设备,用以解决现有技术中硬盘压测报错无法准确定位是哪个部件的问题的缺陷,通过对链路进行检测,确认链路是否存在隐患,从而缩小硬盘读写报错的故障范围,提高维修效率。
本发明提供一种服务器链路检测方法,包括:
获取目标服务器的各设备名称的第一链路误码数量,对所述第一链路误码数量进行汇总并存储于第一目标文件中;
执行硬盘压测程序,获取各所述设备名称经过压测过程后的第二链路误码数量,对所述第二链路误码数量进行汇总并存储于第二目标文件中;
确认所述第一目标文件的文件内容和所述第二目标文件的文件内容是否一致,得到链路检测结果。
根据本发明提供的一种服务器链路检测方法,所述获取目标服务器的各设备名称的第一链路误码数量之前,所述方法还包括:
获取所述目标服务器的设备数量以及各设备的设备名称;
基于所述设备数量和预设链路标识数,确认命令执行次数。
根据本发明提供的一种服务器链路检测方法,所述获取目标服务器的各设备名称的第一链路误码数量,对所述第一链路误码数量进行汇总并存储于第一目标文件中,包括:
基于所述命令执行次数循环执行目标指令,获取所述目标服务器的各设备名称下的第一链路误码数量;
对所述各设备名称下的第一链路误码数量进行汇总,得到所述设备名称下的全部的所述第一链路误码数量,将所述第一链路误码数量存储于第一目标文件中。
根据本发明提供的一种服务器链路检测方法,所述确认所述第一目标文件的文件内容和所述第二目标文件的文件内容是否一致,得到链路检测结果,包括:
在确认所述第一目标文件的文件内容与所述第二目标文件的文件内容一致的情况下,得到第一链路检测结果;
在确认所述第一目标文件的文件内容与所述第二目标文件的文件内容不一致的情况下,得到第二链路检测结果;
其中,所述第一链路检测结果表示链路检测通过,所述第二链路检测机构表示链路检测未通过。
根据本发明提供的一种服务器链路检测方法,所述确认所述第一目标文件的文件内容和所述第二目标文件的文件内容是否一致,得到链路检测结果之后,所述方法还包括:
在链路检测未通过的情况下,基于所述第一目标文件和第二目标文件,确认报错的目标设备名称以及目标链路标识;
基于所述目标设备名称以及目标链路标识,确认报错的设备类型以及报错的硬盘槽位。
根据本发明提供的一种服务器链路检测方法,所述基于所述目标设备名称以及目标链路标识,确认报错的设备类型以及报错的硬盘槽位,包括;
获取所述目标设备名称的目标地址,基于所述目标地址获取所述目标设备名称的产品序列号;
基于所述产品序列号确认所述目标设备名称对应的设备类型;
基于所述目标链路标识确认部件名称,基于所述部件名称确认所述报错的硬盘槽位。
根据本发明提供的一种服务器链路检测方法,所述执行硬盘压测程序,获取各所述设备名称经过压测过程后的第二链路误码数量,包括:
执行硬盘压测程序,在预设目标时间内对硬盘进行压力读写;
在所述压测程序执行完成的情况下,获取各所述设备名称经过压测过程后的第二链路误码数量。
本发明还提供一种服务器链路检测装置,包括:
第一获取模块,用于获取目标服务器的各设备名称的第一链路误码数量,对所述第一链路误码数量进行汇总并存储于第一目标文件中;
第二获取模块,用于执行硬盘压测程序,获取各所述设备名称经过压测过程后的第二链路误码数量,对所述第二链路误码数量进行汇总并存储于第二目标文件中;
链路检测模块,用于确认所述第一目标文件的文件内容和所述第二目标文件的文件内容是否一致,得到链路检测结果。
本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述服务器链路检测方法。
本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述服务器链路检测方法。
本发明还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述服务器链路检测方法。
本发明提供的服务器链路检测方法、装置及电子设备,通过获取目标服务器的各设备名称的第一链路误码数量,对第一链路误码数量进行汇总并存储于第一目标文件中,随后执行硬盘压测程序,获取各设备名称经过压测过程后的第二链路误码数量,对第二链路误码数量进行汇总并存储于第二目标文件中,最后确认第一目标文件的文件内容和第二目标文件的文件内容是否一致,得到链路检测结果。本发明能够根据链路检测结果确定链路是否存在隐患,从而缩小硬盘读写报错的故障范围,提高维修效率。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明提供的服务器链路检测方法的流程示意图之一;
图2是本发明提供的服务器链路检测方法的流程示意图之二;
图3是本发明提供的服务器链路检测装置的结构示意图;
图4是本发明提供的电子设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
首先需要说明的是,本发明提供的服务器链路检测方法方法的执行主体可以是电子设备、电子设备中的部件、集成电路、或芯片。该电子设备可以是移动电子设备,也可以为非移动电子设备。示例性的,移动电子设备可以为手机、平板电脑、笔记本电脑、掌上电脑、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本或者个人数字助理(personal digital assistant,PDA)等,非移动电子设备可以为服务器、网络附属存储器(Network Attached Storage,NAS)或个人计算机(personal computer,PC)等,本发明不作具体限定。以下以计算机执行本发明提供的服务器链路检测方法方法,对本发明的各步骤进行详细描述。
参照图1,本发明提供的服务器链路检测方法,包括以下步骤:
步骤110、获取目标服务器的各设备名称的第一链路误码数量,对所述第一链路误码数量进行汇总并存储于第一目标文件中;
步骤120、执行硬盘压测程序,获取各所述设备名称经过压测过程后的第二链路误码数量,对所述第二链路误码数量进行汇总并存储于第二目标文件中;
步骤130、确认所述第一目标文件的文件内容和所述第二目标文件的文件内容是否一致,得到链路检测结果。
在上述步骤110中,目标服务器即指的是SAS Expander服务器设备,即存储服务器,存储服务器的主要功能是实现对硬盘的读写。
目标服务器可包括多个设备,有2U12主柜和扩展柜、2U25主柜和扩展柜、3U48主柜和扩展柜,这些设备的链路为PHY链路(物理层链路)的总量为36个。需指出,2U12设备每个扩展柜只使用了20个PHY链路,2U25设备每个扩展柜只使用32个PHY链路,3U48设备每个扩展柜只使用24个PHY链路。
例如,目标服务器下有四个设备,每个设备的PHY链路均为36个。则需要抓取这四个设备中每个设备的第一链路误码数量,也就是PHY误码的计数,然后对每个设备的第一链路误码数量进行汇总综合,得到所有设备(也就是这个四个设备)的总共的PHY误码计数存储到第一目标文件中。
需要说明的是,第一目标文件在实际执行过程中,文件名称通常为:before_phy.log。
在上述步骤120中,执行硬盘压测程序,对硬盘进行压力测试,然后获取在压力测试完成之后上述步骤110中的四个设备中每个设备的第二链路误码数量,也就是经过压测之后的PHY误码计数,然后对每个设备的第二链路误码数量进行汇总综合,得到所有设备(也就是这个四个设备)的总共的PHY误码计数存储到第二目标文件中。
需要说明的是,第二目标文件在实际执行过程中,文件名称通常为:after_phy.log。
在上述步骤130中,根据上述步骤110和步骤120中的第一目标文件和第二目标文件的内容,也就是判断压力测试前后的PHY误码计数之间是否存在差异,从而得到PHY链路的检测结果。
进一步地,检测结果为检测通过和检测未通过,检测通过也就是压测前后的PHY误码计数不存在差异,也就是链路不存在故障现象;检测未通过也就是压测前后的PHY误码计数存在差异,也就是链路存在故障现象,从而缩小硬盘读写报错的故障范围,提高维修效率。
本发明提供的服务器链路检测方法,通过获取目标服务器的各设备名称的第一链路误码数量,对第一链路误码数量进行汇总并存储于第一目标文件中,随后执行硬盘压测程序,获取各设备名称经过压测过程后的第二链路误码数量,对第二链路误码数量进行汇总并存储于第二目标文件中,最后确认第一目标文件的文件内容和第二目标文件的文件内容,得到链路检测结果。本发明能够根据链路检测结果确定链路是否存在隐患,从而缩小硬盘读写报错的故障范围,提高维修效率。
在一些可选的实施例中,所述获取目标服务器的各设备名称的第一链路误码数量之前,所述方法还包括:
获取所述目标服务器的设备数量以及各设备的设备名称;
基于所述设备数量和预设链路标识数,确认命令执行次数。
具体地,在进行目标服务器的各设备名称的第一链路误码数量的抓取过程之前,需要确认目标服务器中存在多少设备,以及各个设备的设备名称。
参照上述实施例,若目标服务器中有四个expander设备,执行相应命令获取每个设备的设备名称。举例而言,以2U25主控设备连接一台2U25扩展柜为例,执行命令“ls/dev/bsg/expander*”,抓取系统下expander Name,可获知当前设备的四个expander设备名称为:8-1、8-2、8-3以及8-4。
然后根据预设链路标识数,即PHY ID总量以及设备数量确定命令执行次数,也就是抓取第一链路误码数量的次数。
本发明提供的服务器链路检测方法,通过预先获取抓取第一链路误码数量的次数,以便于得到全部设备的第一链路误码数量总和进行存储,为后续的链路检测提供了便利。
在一些可选的实施例中,所述获取目标服务器的各设备名称的第一链路误码数量,对所述第一链路误码数量进行汇总并存储于第一目标文件中,包括:
基于所述命令执行次数循环执行目标指令,获取所述目标服务器的各设备名称下的第一链路误码数量;
对所述各设备名称下的第一链路误码数量进行汇总,得到所述设备名称下的全部的所述第一链路误码数量,将所述第一链路误码数量存储于第一目标文件中。
具体地,在本实施例中,可根据上述实施例中获取的命令执行次数循环执行目标指令。目标指令即抓取第一链路误码数量的指令。在循环执行指令完成后,得到目标服务器的各设备名称下的第一链路误码数量。随之对各设备名称下的第一链路误码数量进行汇总,得到所有设备名称下的全部的第一链路误码数量,并将第一链路误码数量存储于第一目标文件中。
举例而言,本实施例中的PHY ID的数量为36,设备数量为四个,因此循环执行目标指令144次,把最终经过144次抓取得到的phy误码计数保存到文件before_phy.log中。
执行命令“smp_rep_phy_err_log-p expanderName phyId|grep'phy id'-A3"”获取当前设备指定expander Name和指定phy id的链路误码计数,循环执行命令获取所有Expander Name和Phy Id的链路误码计数,并把数据保存到文件before_phy.log中。
在一些可选的实施例中,所述确认所述第一目标文件的文件内容和所述第二目标文件的文件内容是否一致,得到链路检测结果,包括:
在确认所述第一目标文件的文件内容与所述第二目标文件的文件内容一致的情况下,得到第一链路检测结果;
在确认所述第一目标文件的文件内容与所述第二目标文件的文件内容不一致的情况下,得到第二链路检测结果;
其中,所述第一链路检测结果表示链路检测通过,所述第二链路检测机构表示链路检测未通过。
具体地,本实施例根据第一目标文件的文件内容以及第二目标文件的文件内容进行对比检测,从而确定两个目标文件中的内容是否存在差异。
若不存在差异即两个文件内容一致,则输出第一链路检测结果表示检测通过,也就是说链路没有存在故障,压测过程中不会产生phy误码。
对应地,若存在差异即两个文件内容不一致,则输出第二链路检测结果表示检测不通过,也就是说链路存在故障,压测过程中将会产生phy误码。
在实际应用过程中,即执行命令“diff before_phy.log after_phy.log”,如果两个文件一致,则说明压测过程中没有产生phy误码,PHY链路检测通过,若两个文件不一致,则说明压测过程中产生了phy误码,PHY链路检测不通过,需要排查误码产生部件。
本实施例提供的服务器链路检测方法,通过对压测前后的第一目标文件和第二目标文件进行检测,能够确定压测过程中是否产生phy误码,判断PHY链路是否存在故障,针对PHY链路进行硬件维修,从而提高了对硬件的维修效率。
在一些可选的实施例中,所述确认所述第一目标文件的文件内容和所述第二目标文件的文件内容是否一致,得到链路检测结果之后,所述方法还包括:
在链路检测未通过的情况下,基于所述第一目标文件和第二目标文件,确认报错的目标设备名称以及目标链路标识;
基于所述目标设备名称以及目标链路标识,确认报错的设备类型以及报错的硬盘槽位。
可以理解的是,本实施例为根据PHY链路检测结果进一步确认报错来源的过程。
当压测过程中会产生phy误码时,也就是链路检测未通过的情况下,根据第一目标文件和第二目标文件,确认报错的目标设备名称以及目标链路标识,然后基于目标设备名称以及目标链路标识,确认报错的设备类型以及报错的硬盘槽位。
本发明提供的服务器链路检测方法,通过对PHY链路的检测结果进行进一步地处理,得到报错设备的设备类型,以及报错的硬盘槽位,从而能够更加有针对性地进行硬盘的维修,进一步提高了硬盘维修效率。
在一些可选的实施例中,所述基于所述目标设备名称以及目标链路标识,确认报错的设备类型以及报错的硬盘槽位,包括;
获取所述目标设备名称的目标地址,基于所述目标地址获取所述目标设备名称的产品序列号;
基于所述产品序列号确认所述目标设备名称对应的设备类型;
基于所述目标链路标识确认部件名称,基于所述部件名称确认所述报错的硬盘槽位。
具体地,本实施例为确认报错来源的具体详细过程。
首先,需要获取目标设备名称的目标地址,也就是获取目标设备名称的报错节点。然后,根据该地址获取目标设备名称的产品序列号SN。
随后,根据产品序列号SN确认目标设备名称对应的设备类型。最后,根据目标链路标识确认部件名称,基于部件名称确认报错的硬盘槽位。
举例而言,设置本实施例中的目标设备名称为9:2,phy ID为31。
执行命令:smp_rep_general/dev/bsg/expander-9:2”获取目标名称为9:2的SAS地址。根据SAS地址,反查此SAS Expander设备的SAS地址刷写日志,查找报错设备的SN,确定报错设备SN是3001871。
根据产品序列号SN3001871,确定此设备是2U25设备,phy ID是31,确定此部件是SLOT 23,即23号硬盘槽位。
本发明提供的服务器链路检测方法,通过对PHY链路的检测结果进行进一步地处理,得到报错设备的设备类型,以及报错的硬盘槽位,从而能够更加有针对性地进行硬盘的维修,进一步提高了硬盘维修效率。
在一些可选的实施例中,所述执行硬盘压测程序,获取各所述设备名称经过压测过程后的第二链路误码数量,包括:
执行硬盘压测程序,在预设目标时间内对硬盘进行压力读写;
在所述压测程序执行完成的情况下,获取各所述设备名称经过压测过程后的第二链路误码数量。
具体地,本实施例为对硬盘进行压测以及抓取PHY误码计数的过程。
首先,执行硬盘压测程序disktest_randrw.py,做5个小时全盘随即写。在压测执行指令完成后,得到目标服务器的各设备名称下的第二链路误码数量。随之对各设备名称下的第二链路误码数量进行汇总,得到所有设备名称下的全部的第二链路误码数量,并将第二链路误码数量存储于第二目标文件中。
具体而言,执行命令“smp_rep_phy_err_log-p expanderName phyId|grep'phyid'-A3"”获取当前设备指定expander Name和指定phy id的链路误码计数,循环执行命令获取所有Expander Name和Phy Id的链路误码计数,并把数据保存到文件after_phy.log中。
参照图2,本发明提供的服务器链路检测方法的完整流程示意图包括:
步骤210、执行命令,获取expander设备名称和数量。
步骤220、根据设备数量和phy id数量确定循环执行次数。
步骤230、获取当前设备指定expander Name和指定phy id的链路误码计数,循环执行命令获取所有Expander Name和Phy Id的链路误码计数,并把数据保存到文件before_phy.log中。
步骤240、对所有硬盘进行大压力读写。
步骤250、获取当前设备指定expander Name和指定phy id的链路误码计数,循环执行命令获取所有Expander Name和Phy Id的链路误码计数,并把数据保存到文件after_phy.log中。
步骤260、对比before_phy.log和after_phy.log两个文件,如果两个文件有差异,则说明压测过程中产生了phy误码,检测不通过,若两个文件一致,则说明压测过程中没有产生phy误码,检测通过。
步骤270、对于检测不通过的设备,针对产生的phy误码信息,定位到phy部件。
步骤280、根据Expander Name获取报错节点SAS seed。
步骤290、根据报错节点SAS seed确定报错设备的SN。
步骤201、根据SN确定设备是2U12、2U25、3U48设备中的哪一种,根据phy id确定是哪个部件。
下面对本发明提供的服务器链路检测装置进行描述,下文描述的服务器链路检测装置与上文描述的服务器链路检测方法可相互对应参照。
参照图3,本发明提供的服务器链路检测装置,包括以下模块:
第一获取模块310,用于获取目标服务器的各设备名称的第一链路误码数量,对所述第一链路误码数量进行汇总并存储于第一目标文件中;
第二获取模块320,用于执行硬盘压测程序,获取各所述设备名称经过压测过程后的第二链路误码数量,对所述第二链路误码数量进行汇总并存储于第二目标文件中;
链路检测模块330,用于确认所述第一目标文件的文件内容和所述第二目标文件的文件内容是否一致,得到链路检测结果。
在上述第一获取模块310中,目标服务器即指的是SAS Expander服务器设备,即存储服务器,存储服务器的主要功能是实现对硬盘的读写。
目标服务器可包括多个设备,有2U12主柜和扩展柜、2U25主柜和扩展柜、3U48主柜和扩展柜,这些设备的链路为PHY链路(物理层链路)的总量为36个。需指出,2U12设备每个扩展柜只使用了20个PHY链路,2U25设备每个扩展柜只使用32个PHY链路,3U48设备每个扩展柜只使用24个PHY链路。
例如,目标服务器下有四个设备,每个设备的PHY链路均为36个。则需要抓取这四个设备中每个设备的第一链路误码数量,也就是PHY误码的计数,然后对每个设备的第一链路误码数量进行汇总综合,得到所有设备(也就是这个四个设备)的总共的PHY误码计数存储到第一目标文件中。
需要说明的是,第一目标文件在实际执行过程中,文件名称通常为:before_phy.log。
在上述第二获取模块320中,执行硬盘压测程序,对硬盘进行压力测试,然后获取在压力测试完成之后上述第一获取模块310中的四个设备中每个设备的第二链路误码数量,也就是经过压测之后的PHY误码计数,然后对每个设备的第二链路误码数量进行汇总综合,得到所有设备(也就是这个四个设备)的总共的PHY误码计数存储到第二目标文件中。
需要说明的是,第二目标文件在实际执行过程中,文件名称通常为:after_phy.log。
在上述链路检测模块330中,根据上述第一获取模块310和第二获取模块320中的第一目标文件和第二目标文件的内容,也就是判断压力测试前后的PHY误码计数之间是否存在差异,从而得到PHY链路的检测结果。
进一步地,检测结果为检测通过和检测未通过,检测通过也就是压测前后的PHY误码计数不存在差异,也就是链路不存在故障现象;检测未通过也就是压测前后的PHY误码计数存在差异,也就是链路存在故障现象,从而缩小硬盘读写报错的故障范围,提高维修效率。
本发明提供的服务器链路检测装置,通过获取目标服务器的各设备名称的第一链路误码数量,对第一链路误码数量进行汇总并存储于第一目标文件中,随后执行硬盘压测程序,获取各设备名称经过压测过程后的第二链路误码数量,对第二链路误码数量进行汇总并存储于第二目标文件中,最后确认第一目标文件的文件内容和第二目标文件的文件内容,得到链路检测结果。本发明能够根据链路检测结果确定链路是否存在隐患,从而缩小硬盘读写报错的故障范围,提高维修效率。
在一些可选的实施例中,所述装置还包括执行确认模块,所述执行确认模块具体用于:
获取所述目标服务器的设备数量以及各设备的设备名称;
基于所述设备数量和预设链路标识数,确认命令执行次数。
具体地,在进行目标服务器的各设备名称的第一链路误码数量的抓取过程之前,需要确认目标服务器中存在多少设备,以及各个设备的设备名称。
参照上述实施例,若目标服务器中有四个expander设备,执行相应命令获取每个设备的设备名称。举例而言,以2U25主控设备连接一台2U25扩展柜为例,执行命令“ls/dev/bsg/expander*”,抓取系统下expander Name,可获知当前设备的四个expander设备名称为:8-1、8-2、8-3以及8-4。
然后根据预设链路标识数,即PHY ID总量以及设备数量确定命令执行次数,也就是抓取第一链路误码数量的次数。
本发明提供的服务器链路检测装置,通过预先获取抓取第一链路误码数量的次数,以便于得到全部设备的第一链路误码数量总和进行存储,为后续的链路检测提供了便利。
在一些可选的实施例中,所述第一获取模块具体用于:
基于所述命令执行次数循环执行目标指令,获取所述目标服务器的各设备名称下的第一链路误码数量;
对所述各设备名称下的第一链路误码数量进行汇总,得到所述设备名称下的全部的所述第一链路误码数量,将所述第一链路误码数量存储于第一目标文件中。
具体地,在本实施例中,可根据上述实施例中获取的命令执行次数循环执行目标指令。目标指令即抓取第一链路误码数量的指令。在循环执行指令完成后,得到目标服务器的各设备名称下的第一链路误码数量。随之对各设备名称下的第一链路误码数量进行汇总,得到所有设备名称下的全部的第一链路误码数量,并将第一链路误码数量存储于第一目标文件中。
举例而言,本实施例中的PHY ID的数量为36,设备数量为四个,因此循环执行目标指令144次,把最终经过144次抓取得到的phy误码计数保存到文件before_phy.log中。
执行命令“smp_rep_phy_err_log-p expanderName phyId|grep'phy id'-A3"”获取当前设备指定expander Name和指定phy id的链路误码计数,循环执行命令获取所有Expander Name和Phy Id的链路误码计数,并把数据保存到文件before_phy.log中。
在一些可选的实施例中,所述链路检测模块具体用于:
在确认所述第一目标文件的文件内容与所述第二目标文件的文件内容一致的情况下,得到第一链路检测结果;
在确认所述第一目标文件的文件内容与所述第二目标文件的文件内容不一致的情况下,得到第二链路检测结果;
其中,所述第一链路检测结果表示链路检测通过,所述第二链路检测机构表示链路检测未通过。
具体地,本实施例根据第一目标文件的文件内容以及第二目标文件的文件内容进行对比检测,从而确定两个目标文件中的内容是否存在差异。
若不存在差异即两个文件内容一致,则输出第一链路检测结果表示检测通过,也就是说链路没有存在故障,压测过程中不会产生phy误码。
对应地,若存在差异即两个文件内容不一致,则输出第二链路检测结果表示检测不通过,也就是说链路存在故障,压测过程中将会产生phy误码。
在实际应用过程中,即执行命令“diff before_phy.log after_phy.log”,如果两个文件一致,则说明压测过程中没有产生phy误码,PHY链路检测通过,若两个文件不一致,则说明压测过程中产生了phy误码,PHY链路检测不通过,需要排查误码产生部件。
本实施例提供的服务器链路检测装置,通过对压测前后的第一目标文件和第二目标文件进行检测,能够确定压测过程中是否产生phy误码,判断PHY链路是否存在故障,针对PHY链路进行硬件维修,从而提高了对硬件的维修效率。
在一些可选的实施例中,所述装置还包括报错确认模块,所述报错确认模块具体用于:
在链路检测未通过的情况下,基于所述第一目标文件和第二目标文件,确认报错的目标设备名称以及目标链路标识;
基于所述目标设备名称以及目标链路标识,确认报错的设备类型以及报错的硬盘槽位。
可以理解的是,本实施例为根据PHY链路检测结果进一步确认报错来源的过程。
当压测过程中会产生phy误码时,也就是链路检测未通过的情况下,根据第一目标文件和第二目标文件,确认报错的目标设备名称以及目标链路标识,然后基于目标设备名称以及目标链路标识,确认报错的设备类型以及报错的硬盘槽位。
本发明提供的服务器链路检测装置,通过对PHY链路的检测结果进行进一步地处理,得到报错设备的设备类型,以及报错的硬盘槽位,从而能够更加有针对性地进行硬盘的维修,进一步提高了硬盘维修效率。
在一些可选的实施例中,所述报错确认模块进一步用于;
获取所述目标设备名称的目标地址,基于所述目标地址获取所述目标设备名称的产品序列号;
基于所述产品序列号确认所述目标设备名称对应的设备类型;
基于所述目标链路标识确认部件名称,基于所述部件名称确认所述报错的硬盘槽位。
具体地,本实施例为确认报错来源的具体详细过程。
首先,需要获取目标设备名称的目标地址,也就是获取目标设备名称的报错节点。然后,根据该地址获取目标设备名称的产品序列号SN。
随后,根据产品序列号SN确认目标设备名称对应的设备类型。最后,根据目标链路标识确认部件名称,基于部件名称确认报错的硬盘槽位。
举例而言,设置本实施例中的目标设备名称为9:2,phy ID为31。
执行命令:smp_rep_general/dev/bsg/expander-9:2”获取目标名称为9:2的SAS地址。根据SAS地址,反查此SAS Expander设备的SAS地址刷写日志,查找报错设备的SN,确定报错设备SN是3001871。
根据产品序列号SN3001871,确定此设备是2U25设备,phy ID是31,确定此部件是SLOT 23,即23号硬盘槽位。
本发明提供的服务器链路检测装置,通过对PHY链路的检测结果进行进一步地处理,得到报错设备的设备类型,以及报错的硬盘槽位,从而能够更加有针对性地进行硬盘的维修,进一步提高了硬盘维修效率。
在一些可选的实施例中,所述第二获取模块具体用于:
执行硬盘压测程序,在预设目标时间内对硬盘进行压力读写;
在所述压测程序执行完成的情况下,获取各所述设备名称经过压测过程后的第二链路误码数量。
具体地,本实施例为对硬盘进行压测以及抓取PHY误码计数的过程。
首先,执行硬盘压测程序disktest_randrw.py,做5个小时全盘随即写。在压测执行指令完成后,得到目标服务器的各设备名称下的第二链路误码数量。随之对各设备名称下的第二链路误码数量进行汇总,得到所有设备名称下的全部的第二链路误码数量,并将第二链路误码数量存储于第二目标文件中。
具体而言,执行命令“smp_rep_phy_err_log-p expanderName phyId|grep'phyid'-A3"”获取当前设备指定expander Name和指定phy id的链路误码计数,循环执行命令获取所有Expander Name和Phy Id的链路误码计数,并把数据保存到文件after_phy.log中。
图4示例了一种电子设备的实体结构示意图,如图4所示,该电子设备可以包括:处理器(processor)410、通信接口(Communications Interface)420、存储器(memory)430和通信总线440,其中,处理器410,通信接口420,存储器430通过通信总线440完成相互间的通信。处理器410可以调用存储器430中的逻辑指令,以执行服务器链路检测方法,该方法包括:
获取目标服务器的各设备名称的第一链路误码数量,对所述第一链路误码数量进行汇总并存储于第一目标文件中;
执行硬盘压测程序,获取各所述设备名称经过压测过程后的第二链路误码数量,对所述第二链路误码数量进行汇总并存储于第二目标文件中;
确认所述第一目标文件的文件内容和所述第二目标文件的文件内容是否一致,得到链路检测结果。
此外,上述的存储器430中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,计算机程序可存储在非暂态计算机可读存储介质上,所述计算机程序被处理器执行时,计算机能够执行上述各方法所提供的服务器链路检测方法,该方法包括:
获取目标服务器的各设备名称的第一链路误码数量,对所述第一链路误码数量进行汇总并存储于第一目标文件中;
执行硬盘压测程序,获取各所述设备名称经过压测过程后的第二链路误码数量,对所述第二链路误码数量进行汇总并存储于第二目标文件中;
确认所述第一目标文件的文件内容和所述第二目标文件的文件内容是否一致,得到链路检测结果。
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各方法提供的服务器链路检测方法,该方法包括:
获取目标服务器的各设备名称的第一链路误码数量,对所述第一链路误码数量进行汇总并存储于第一目标文件中;
执行硬盘压测程序,获取各所述设备名称经过压测过程后的第二链路误码数量,对所述第二链路误码数量进行汇总并存储于第二目标文件中;
确认所述第一目标文件的文件内容和所述第二目标文件的文件内容是否一致,得到链路检测结果。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种服务器链路检测方法,其特征在于,包括:
获取目标服务器的各设备名称的第一链路误码数量,对所述第一链路误码数量进行汇总并存储于第一目标文件中;
执行硬盘压测程序,获取各所述设备名称经过压测过程后的第二链路误码数量,对所述第二链路误码数量进行汇总并存储于第二目标文件中;
确认所述第一目标文件的文件内容和所述第二目标文件的文件内容是否一致,得到链路检测结果。
2.根据权利要求1所述的服务器链路检测方法,其特征在于,所述获取目标服务器的各设备名称的第一链路误码数量之前,所述方法还包括:
获取所述目标服务器的设备数量以及各设备的设备名称;
基于所述设备数量和预设链路标识数,确认命令执行次数。
3.根据权利要求2所述的服务器链路检测方法,其特征在于,所述获取目标服务器的各设备名称的第一链路误码数量,对所述第一链路误码数量进行汇总并存储于第一目标文件中,包括:
基于所述命令执行次数循环执行目标指令,获取所述目标服务器的各设备名称下的第一链路误码数量;
对所述各设备名称下的第一链路误码数量进行汇总,得到所述设备名称下的全部的所述第一链路误码数量,将所述第一链路误码数量存储于第一目标文件中。
4.根据权利要求1所述的服务器链路检测方法,其特征在于,所述确认所述第一目标文件的文件内容和所述第二目标文件的文件内容是否一致,得到链路检测结果,包括:
在确认所述第一目标文件的文件内容与所述第二目标文件的文件内容一致的情况下,得到第一链路检测结果;
在确认所述第一目标文件的文件内容与所述第二目标文件的文件内容不一致的情况下,得到第二链路检测结果;
其中,所述第一链路检测结果表示链路检测通过,所述第二链路检测机构表示链路检测未通过。
5.根据权利要求4所述的服务器链路检测方法,其特征在于,所述确认所述第一目标文件的文件内容和所述第二目标文件的文件内容是否一致,得到链路检测结果之后,所述方法还包括:
在链路检测未通过的情况下,基于所述第一目标文件和第二目标文件,确认报错的目标设备名称以及目标链路标识;
基于所述目标设备名称以及目标链路标识,确认报错的设备类型以及报错的硬盘槽位。
6.根据权利要求5所述的服务器链路检测方法,其特征在于,所述基于所述目标设备名称以及目标链路标识,确认报错的设备类型以及报错的硬盘槽位,包括;
获取所述目标设备名称的目标地址,基于所述目标地址获取所述目标设备名称的产品序列号;
基于所述产品序列号确认所述目标设备名称对应的设备类型;
基于所述目标链路标识确认部件名称,基于所述部件名称确认所述报错的硬盘槽位。
7.根据权利要求1所述的服务器链路检测方法,其特征在于,所述执行硬盘压测程序,获取各所述设备名称经过压测过程后的第二链路误码数量,包括:
执行硬盘压测程序,在预设目标时间内对硬盘进行压力读写;
在所述压测程序执行完成的情况下,获取各所述设备名称经过压测过程后的第二链路误码数量。
8.一种服务器链路检测装置,其特征在于,包括:
第一获取模块,用于获取目标服务器的各设备名称的第一链路误码数量,对所述第一链路误码数量进行汇总并存储于第一目标文件中;
第二获取模块,用于执行硬盘压测程序,获取各所述设备名称经过压测过程后的第二链路误码数量,对所述第二链路误码数量进行汇总并存储于第二目标文件中;
链路检测模块,用于确认所述第一目标文件的文件内容和所述第二目标文件的文件内容是否一致,得到链路检测结果。
9.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至7任一项所述服务器链路检测方法。
10.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述服务器链路检测方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211364288.1A CN115686962A (zh) | 2022-11-02 | 2022-11-02 | 服务器链路检测方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211364288.1A CN115686962A (zh) | 2022-11-02 | 2022-11-02 | 服务器链路检测方法、装置及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115686962A true CN115686962A (zh) | 2023-02-03 |
Family
ID=85048714
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211364288.1A Pending CN115686962A (zh) | 2022-11-02 | 2022-11-02 | 服务器链路检测方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115686962A (zh) |
-
2022
- 2022-11-02 CN CN202211364288.1A patent/CN115686962A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108683562B (zh) | 异常检测定位方法、装置、计算机设备及存储介质 | |
US11429574B2 (en) | Computer system diagnostic log chain | |
CN114116496A (zh) | 自动化测试方法、装置、设备及介质 | |
CN108664388A (zh) | 动态字段数据返回接口的测试系统、方法、电子设备和可读存储介质 | |
US8327189B1 (en) | Diagnosing an incident on a computer system using a diagnostics analyzer database | |
CN114201408A (zh) | 回归测试方法、装置、计算机设备及存储介质 | |
CN107451058B (zh) | 一种软件开发方法和装置 | |
CN116089285A (zh) | 一种数据库测试方法、装置、电子设备及可读介质 | |
CN110046086B (zh) | 用于测试的期望数据生成方法及装置和电子设备 | |
CN114625554A (zh) | 故障修复方法、装置、电子设备及存储介质 | |
CN113392000A (zh) | 测试用例执行结果分析方法、装置、设备及存储介质 | |
US7904754B2 (en) | Systems and methods for automated determination of out of memory handling | |
CN111124809B (zh) | 一种服务器传感器系统的测试方法及装置 | |
CN111413952B (zh) | 机器人故障检测方法、装置、电子设备及可读存储介质 | |
CN117573552A (zh) | 账务一致性测试方法、装置、设备、介质及产品 | |
CN110765005B (zh) | 软件可靠性评估方法和装置 | |
CN112256532A (zh) | 测试界面生成方法、装置、计算机设备及可读存储介质 | |
CN112087320A (zh) | 一种异常定位方法、装置、电子设备和可读存储介质 | |
CN116738091A (zh) | 页面监控方法、装置、电子设备及存储介质 | |
CN115686962A (zh) | 服务器链路检测方法、装置及电子设备 | |
CN113282496B (zh) | 接口自动测试方法、装置、设备及存储介质 | |
CN113037521B (zh) | 识别通讯设备状态的方法、通讯系统及存储介质 | |
CN109165127B (zh) | 问题接口的定位方法、装置及电子设备 | |
CN112612882B (zh) | 检阅报告生成方法、装置、设备和存储介质 | |
CN113868137A (zh) | 埋点数据的处理方法、装置、系统和服务器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |