存储链路故障处理方法及装置、电子设备和存储介质与流程

文档序号:25991599发布日期:2021-07-23 21:03阅读:197来源:国知局
存储链路故障处理方法及装置、电子设备和存储介质与流程

本公开涉及大数据技术领域,更具体地,涉及一种存储链路故障处理方法及装置、电子设备、存储介质计算机程序产品。



背景技术:

随着信息技术的不断发展,业务的持续运作需要保证大量宝贵数据的正常调用及存储。相比于以往各网管系统分别建设、存储的方法,集中式fc(基于fiberchannel光纤协议)存储以磁盘阵列系统作为集中存储的核心设备,其优势在于能够实现数据的统一管理、以及优秀的可扩展性及超高的存取性能,可以有效保障数据的存储安全,实现数据的集中管理和应用。

在实现本公开构思的过程中,发明人发现相关技术中采用集中式fc存储至少存在如下问题,当前存储fc链路故障的处理与恢复主要依赖人为操作完成。



技术实现要素:

有鉴于此,本公开提供了一种存储链路故障处理方法及装置、电子设备、存储介质和计算机程序产品。

本公开的一个方面提供了一种存储链路故障处理方法,包括:

确定待处理存储链路队列,其中,待处理存储链路队列中包括至少一条待处理存储链路;

获取每条待处理存储链路的故障定位基本信息,其中故障定位基本信息包括每条待处理存储链路的磁盘机状态信息、多路径软件状态信息、以及网络链路状态信息,其中网络链路状态信息包括网络链路的连接状态信息、以及与网络链路对应的端口信息;

根据故障定位基本信息确定每条待处理存储链路的故障发生位置;

在每条待处理存储链路的故障发生位置处执行一次或多次远程恢复脚本,并获取待处理存储链路的故障恢复结果,其中故障恢复结果包括已恢复正常连接和未恢复正常连接。

根据本公开的实施例,上述方法还包括:

根据待处理存储链路的故障恢复结果确定可自愈存储链路和不可自愈存储链路;以及在待处理存储链路为不可自愈存储链路的情况下,将不可自愈存储链路的故障定位基本信息发送至集中监控系统,以便通过集中监控系统对不可自愈存储链路进行管理。

根据本公开的实施例,上述方法还包括:

在待处理存储链路为可自愈存储链路的情况下,确定可自愈存储链路的历史报错次数;以及将历史报错次数满足预设次数条件的目标可自愈存储链路的故障定位基本信息发送至集中监控系统,以便通过集中监控系统对目标可自愈存储链路进行管理。

根据本公开的实施例,上述方法还包括:

根据每条待处理存储链路的磁盘机状态信息确定故障磁盘机;

获取每台故障磁盘机的关联信息,其中关联信息用于表征与故障磁盘机关联的待处理存储链路的数量;

根据每台故障磁盘机的关联信息确定重点关注磁盘机;

将重点关注磁盘机的磁盘机状态信息发送至集中监控系统,以便通过集中监控系统对重点关注磁盘机进行管理。

根据本公开的实施例,其中,上述确定待处理存储链路队列包括:获取目标报错信息和每条存储链路上的服务器状态信息,其中目标报错信息包括每条存储链路上的磁盘机存储状态报错信息、网络链路连接状态报错信息、多路径软件运行状态报错信息,其中服务器状态信息包括用于表征每条存储链路上的服务器是否处于生产状态的第一状态信息、以及每条存储链路上的服务器是否正常工作的第二状态信息;以及根据目标报错信息和每条存储链路上的服务器状态信息确定待处理存储链路队列。

根据本公开的实施例,其中,根据目标报错信息和每条存储链路上的服务器状态信息确定待处理存储链路队列包括:

根据目标报错信息确定第一待检查存储链路队列,其中,第一待检查存储链路队列中包括至少一条待检查存储链路;

根据第二状态信息确定每条待检查存储链路的运行状态,其中运行状态包括正常和异常;

将运行状态正常的存储链路从第一待检查存储链路队列中滤除,以获得第二待检查存储链路队列;

根据第一状态信息确定白名单存储链路,其中白名单存储链路为不在生产状态的服务器所在存储链路;

将白名单存储链路从第二待检查存储链路队列中滤除,以确定待处理存储链路队列。

根据本公开的实施例,其中,获取目标报错信息和每条存储链路上的服务器状态信息包括:

获取每条存储链路上的服务器的系统日志信息;以及从系统日志信息中筛选出目标报错信息和每条存储链路上的服务器状态信息。

根据本公开的实施例,其中,从系统日志信息中筛选出目标报错信息和每条存储链路上的服务器状态信息包括:

将系统日志信息存储至目标数据库;以及从目标数据库中筛选出目标报错信息和每条存储链路上的服务器状态信息。

本公开的另一个方面提供了一种存储链路故障处理装置,包括:第一确定模块、获取模块、定位模块和恢复模块。

其中,第一确定模块,用于确定待处理存储链路队列,其中,待处理存储链路队列中包括至少一条待处理存储链路。

第一获取模块,用于获取每条待处理存储链路的故障定位基本信息,其中故障定位基本信息包括每条待处理存储链路的磁盘机状态信息、多路径软件状态信息、以及网络链路状态信息,其中网络链路状态信息包括网络链路的连接状态信息、以及与网络链路对应的端口信息。

定位模块,用于根据故障定位基本信息确定每条待处理存储链路的故障发生位置。

恢复模块,用于在每条待处理存储链路的故障发生位置处执行一次或多次远程恢复脚本,并获取待处理存储链路的故障恢复结果,其中故障恢复结果包括已恢复正常连接和未恢复正常连接。

根据本公开的实施例,该装置还包括:第二确定模块和第一发送模块。其中,第二确定模块,用于根据待处理存储链路的故障恢复结果确定可自愈存储链路和不可自愈存储链路。第一发送模块,在待处理存储链路为不可自愈存储链路的情况下,将不可自愈存储链路的故障定位基本信息发送至集中监控系统,以便通过集中监控系统对不可自愈存储链路进行管理。

根据本公开的实施例,上述装置还包括第三确定模块和第二发送模块。其中,第三确定模块,用于在待处理存储链路为可自愈存储链路的情况下,确定可自愈存储链路的历史报错次数。第二发送模块,用于将历史报错次数满足预设次数条件的目标可自愈存储链路的故障定位基本信息发送至集中监控系统,以便通过集中监控系统对目标可自愈存储链路进行管理。

根据本公开的实施例,还包括第四确定模块、第二获取模块、第五确定模块和第三发送模块。其中,第四确定模块,用于根据每条待处理存储链路的磁盘机状态信息确定故障磁盘机。第二获取模块,用于获取每台故障磁盘机的关联信息,其中关联信息用于表征与故障磁盘机关联的待处理存储链路的数量。第五确定模块,用于根据每台故障磁盘机的关联信息确定重点关注磁盘机。第三发送模块,用于将重点关注磁盘机的磁盘机状态信息发送至集中监控系统,以便通过集中监控系统对重点关注磁盘机进行管理。

根据本公开的实施例,其中,第一确定模块包括获取单元和确定单元。其中,获取单元,用于获取目标报错信息和每条存储链路上的服务器状态信息,其中目标报错信息包括每条存储链路上的磁盘机存储状态报错信息、网络链路连接状态报错信息、多路径软件运行状态报错信息,其中服务器状态信息包括用于表征每条存储链路上的服务器是否处于生产状态的第一状态信息、以及每条存储链路上的服务器是否正常工作的第二状态信息。其中确定单元,用于根据目标报错信息和每条存储链路上的服务器状态信息确定待处理存储链路队列。

根据本公开的实施例,其中,上述确定单元包括第一确定子单元、第二确定子单元、第一滤除子单元、第三确定子单元和第二滤除子单元。其中,第一确定子单元,用于根据目标报错信息确定第一待检查存储链路队列,其中,第一待检查存储链路队列中包括至少一条待检查存储链路。第二确定子单元,用于根据第二状态信息确定每条待检查存储链路的运行状态,其中运行状态包括正常和异常。第一滤除子单元,用于将运行状态正常的存储链路从第一待检查存储链路队列中滤除,以获得第二待检查存储链路队列。第三确定子单元,用于根据第一状态信息确定白名单存储链路,其中白名单存储链路为不在生产状态的服务器所在存储链路。第二滤除子单元,用于将白名单存储链路从第二待检查存储链路队列中滤除,以确定待处理存储链路队列。

根据本公开的实施例,其中,上述获取单元包括获取子单元和筛选子单元。其中,获取子单元,用于获取每条存储链路上的服务器的系统日志信息。筛选子单元,用于从系统日志信息中筛选出目标报错信息和每条存储链路上的服务器状态信息。

根据本公开的实施例,其中,从系统日志信息中筛选出目标报错信息和每条存储链路上的服务器状态信息包括:将系统日志信息存储至目标数据库;以及从目标数据库中筛选出目标报错信息和每条存储链路上的服务器状态信息。

本公开的另一个方面提供了一种电子设备,包括:一个或多个处理器、以及存储器,该存储器用于存储一个或多个程序,其中,当一个或多个程序被一个或多个处理器执行时,使得一个或多个处理器实现如上的方法。

本公开的另一方面提供了一种计算机可读存储介质,存储有计算机可执行指令,指令在被执行时用于实现如上的方法。

本公开的另一方面提供了一种计算机程序产品,计算机程序产品包括计算机可执行指令,指令在被执行时用于实现如上的方法。

根据本公开的实施例,通过确定待处理故障存储链路、以及进一步获取每条待处理存储链路的故障定位基本信息,可以对故障存储链路上的每个可能存在故障的环节进行排查,故障巡检的范围较全面,至少部分解决了相关技术中可能存在故障误报、错报、漏报的问题,提高了故障处理的准确性。另外,根据本公开的实施例,通过执行一次或多次远程恢复脚本来对故障进行自动恢复,在初次恢复失败的情况下,可以在每隔预设时间间隔后再次执行远程恢复脚本,再次尝试对故障进行恢复,解决了相关技术中因依赖人为操作,存在的时效性差、容错性差以及因无法形成有效闭环管理占用较多的人力成本的问题,提高了故障排查和修复的效率。

附图说明

通过以下参照附图对本公开实施例的描述,本公开的上述以及其他目的、特征和优点将更为清楚,在附图中:

图1示意性示出了可以应用本公开的存储链路故障处理方法和装置的示例性系统架构;

图2示意性示出了根据本公开实施例的存储链路故障处理方法的流程图;

图3示意性示出了根据本公开另一实施例的存储链路故障处理方法的流程图;

图4示意性示出了根据本公开另一实施例的存储链路故障处理方法的流程图;

图5示意性示出了根据本公开实施例的存储链路故障处理装置的框图;以及

图6示意性示出了根据本公开实施例的用于实现存储链路故障处理方法的电子设备的框图。

具体实施方式

以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。

在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。

在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。

在使用类似于“a、b和c等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有a、b和c中至少一个的系统”应包括但不限于单独具有a、单独具有b、单独具有c、具有a和b、具有a和c、具有b和c、和/或具有a、b、c的系统等)。在使用类似于“a、b或c等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有a、b或c中至少一个的系统”应包括但不限于单独具有a、单独具有b、单独具有c、具有a和b、具有a和c、具有b和c、和/或具有a、b、c的系统等)。

在实现本公开的过程中发现,当前存储fc链路故障的处理与恢复主要依赖人为操作完成。具体地,相关技术中存在如下部分或全部缺点:1、发生报警,需要人工接入,时效性差;2、存在误报、错报的情况;3、恢复依赖人为操作,容错性差;4、报警需要人员跟踪,对于后续恢复无法形成有效闭环管理,在当前平台大步扩张的情况下,链路报警数量越来越多,使得存储备份组和系统值班需要投入大量的人力进行巡检和维护,占用较多的人力成本。

基于此,本公开提供了存储链路故障处理方法及装置、电子设备和存储介质。其中,存储链路故障处理方法包括:确定待处理存储链路队列;获取每条待处理存储链路的故障定位基本信息,其中故障定位基本信息包括每条待处理存储链路的磁盘机状态信息、多路径软件状态信息、以及网络链路状态信息,其中网络链路状态信息包括网络链路的连接状态信息、以及与网络链路对应的端口信息;根据故障定位基本信息确定每条待处理存储链路的故障发生位置;以及在每条待处理存储链路的故障发生位置处执行一次或多次远程恢复脚本,并获取待处理存储链路的故障恢复结果。

在对本公开的实施例进行详细阐述之前,先对本公开实施例提供的方法所涉及的系统结构以及应用场景进行如下介绍。

图1示意性示出了可以应用本公开的存储链路故障处理方法和装置的示例性系统架构100。需要注意的是,图1所示仅为可以应用本公开实施例的系统架构的示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以用于其他设备、系统、环境或场景。

本公开的实施例提供的方法可以基于集中式fc存储系统架构,集中式fc存储系统架构以磁盘阵列系统作为集中存储的核心设备,可以有效保障数据的存储安全,实现数据的集中管理和应用。如图1所示,根据该实施例的系统架构100包括服务器集群101、磁盘机102、存储链路103、数据库服务器104和远程终端设备105。

在该集中式fc存储系统架构下,存储链路103是服务器集群101和磁盘机102之间提供通信的链路,该存储链路103是基于san链路,服务器集群101中的多台服务器通过多条由光纤交换机组成的存储链路103连接到磁盘机102。磁盘机102可包括多台,设有多块存储硬盘,硬盘容量可根据客户需求分成多个分区,分别映射给所需服务器,为服务器集群101提供硬盘存储服务。

服务器集群101和磁盘机102之间的存储链路103可以采用冗余链路,即每台服务器和磁盘机102之间可设有两条不同的存储链路103,当其中有一条链路故障时,数据可以通过另外一条链路进行调用及储存,从而有效地保证了业务持续稳定的进行。

在系统运行过程中,需要及时发现和处理网络故障,避免存储数据的丢失。为了掌握每条存储链路103的状态,可将每台服务器的系统日志导入至数据库服务器104中,并通过远程终端设备105访问数据库获取到系统日志、并根据系统日志获取到每条存储链路103的状态信息,便于及时发现故障、以及对故障进行集中监控和管理。

需要说明的是,本公开实施例所提供的存储链路故障处理方法一般可以由远程终端设备105执行。相应地,本公开实施例所提供的存储链路故障处理装置一般可以设置于远程终端设备105中。本公开实施例所提供的存储链路故障处理方法也可以由不同于远程终端设备105且能够与据库服务器104通信的服务器或服务器集群执行。相应地,本公开实施例所提供的存储链路故障处理装置也可以设置于不同于远程终端设备105且能够与据库服务器104通信的服务器或服务器集群中。

需要说明的是,本公开存的储链路故障处理方法及装置可用于大数据技术领域,也可应用于除大数据领域之外的任意领域,本公开对该储链路故障处理方法和装置的应用领域不做限定。

图2示意性示出了根据本公开实施例的存储链路故障处理方法的流程图。如图2所示,该方法包括操作s201~s204。

在操作s201,确定待处理存储链路队列,其中,待处理存储链路队列中包括至少一条待处理存储链路。根据本公开的实施例,存储链路为服务器和磁盘机之间进行通信的fc网络链路(基于fiberchannel光纤协议进行通信),每条存储链路可包括多台光纤交换机,因每台服务器和磁盘机之间都设有至少一条存储链路(为了保证数据传输的可靠性,一般采用冗余链路,即至少两条),因此服务器集群和磁盘机集群之间设有多条存储链路。

在系统运行过程中,为了排查和修复网络故障,首先需要确定可能存在网络故障的存储链路,以便后续进行排障和修复。根据本公开的实施例,上述待处理存储链路即为可能存在网络故障的存储链路,将多条可能存在网络故障的存储链路组成待处理存储链路队列,以便按照顺序进行逐条排查和处理。

根据本公开的实施例,确定可能存在网络故障的存储链路时,首先可获取每条存储链路上的服务器的系统日志信息,然后对系统日志信息进行解析处理,筛选出与存储、链路相关的报错信息,例如,磁盘机是否有报错、网络链路是否断开、路由是否反转等。之后,根据筛选出的报错信息确定待处理的存储链路,并建立待处理存储链路队列。

在操作s202,获取每条待处理存储链路的故障定位基本信息,其中故障定位基本信息包括每条待处理存储链路的磁盘机状态信息、多路径软件状态信息、以及网络链路状态信息,其中网络链路状态信息包括网络链路的连接状态信息、以及与网络链路对应的端口信息。

在操作s203,根据故障定位基本信息确定每条待处理存储链路的故障发生位置。

因在每条服务器和磁盘机之间的存储链路上,可能发生故障的位置错在多种情况,例如磁盘机可能有故障、或者用于实现服务器和磁盘机之间存储的多路径软件运行可能存在故障、或者网络交换机链路可能有故障、或者服务器可能存在故障等等。在上述操作s202和操作s203中,需要在上述操作s201中已确定可能存在网络故障的存储链路的基础上,需要进一步定位故障发生的位置,可以依据与存储、链路相关的报错信息来获取每条待处理存储链路的故障定位基本信息,即,每条待处理存储链路的磁盘机状态信息、多路径软件状态信息、以及网络链路状态信息,其中网络链路状态信息包括网络链路的连接状态信息、以及与网络链路对应的端口信息,以便进一步确定故障发生的位置,例如,磁盘机若有报错,可确定故障发生在磁盘机;若发生路由反转,可确定网络链路通信环节存在故障。

其中,上述故障定位基本信息中,磁盘机状态信息包括正常状态和非正常状态,用于确定该磁盘机以及磁盘机所在链路是否存在故障;多路径软件状态信息为与多路径软件运行状态相关的信息,用于确定多路径软件运行是否可能存在故障;网络链路状态信息中,网络链路的连接状态信息,用于确定网络链路故障属于那种情形,例如链路是否断开、网络路由器是否反转等,与网络链路对应的端口信息,用于定位故障发生在哪条链路。

在上述操作确定在存储链路上的故障发生位置后,在操作s204,在每条待处理存储链路的故障发生位置处执行一次或多次远程恢复脚本,并获取待处理存储链路的故障恢复结果,其中故障恢复结果包括已恢复正常连接和未恢复正常连接。该操作中,可以通过通过远程终端设备执行远程恢复脚本,来对故障进行自动恢复,在初次恢复失败的情况下,可以在每隔预设时间间隔后再次执行远程恢复脚本,再次尝试对故障进行恢复。

根据本公开的实施例,通过确定待处理故障存储链路、以及进一步获取每条待处理存储链路的故障定位基本信息,可以对故障存储链路上的每个可能存在故障的环节进行排查,故障巡检的范围较全面,至少部分解决了相关技术中可能存在故障误报、错报、漏报的问题,提高了故障处理的准确性。另外,根据本公开的实施例,通过执行一次或多次远程恢复脚本来对故障进行自动恢复,在初次恢复失败的情况下,可以在每隔预设时间间隔后再次执行远程恢复脚本,再次尝试对故障进行恢复,解决了相关技术中因依赖人为操作,存在的时效性差、容错性差以及因无法形成有效闭环管理占用较多的人力成本的问题,提高了故障排查和修复的效率。

图3示意性示出了根据本公开另一实施例的存储链路故障处理方法的流程图。如图3所示,该方法包括操作s301~s308。

在该实施例中,操作s301~s304可参考图2描述的操作s201~s204。为了描述的简洁起见,这里省略对操作s301~s304的描述,仅对操作s305~s308进行说明。其中:

在操作s305,根据待处理存储链路的故障恢复结果确定可自愈存储链路和不可自愈存储链路。

在操作s306,在待处理存储链路为不可自愈存储链路的情况下,将不可自愈存储链路的故障定位基本信息发送至集中监控系统,以便通过集中监控系统对不可自愈存储链路进行管理。

根据本公开的实施例,对于存储链路上可能发生的各种故障,有些故障可以通过非人工介入,即通过通过执行远程终端设备执行远程恢复脚本来对故障进行自动恢复,例如网络路由器反转的情形。该情形属于可自愈的情形,该链路属于可自愈存储链路。另外,有些故障无法通过执行远程恢复脚本来对故障进行自动恢复,包括发生在硬件的一些故障,例如,网线断开、磁盘机损坏、服务器硬件存在故障或者其他无法自行恢复的情形等,这些情形属于不可自愈的情形,需要人工介入,这些链路属于不可自愈存储链路。

根据本公开的实施例,在对某条链路多次反复恢复失败的情况下,可将该链路确定为不可自愈存储链路,同时,将不可自愈存储链路的故障定位基本信息发送至集中监控系统,网络运维人员通过集中监控系统对不可自愈存储链路进行管理,以便人工介入,进行故障修复。

在操作s307,在待处理存储链路为可自愈存储链路的情况下,确定可自愈存储链路的历史报错次数。

在操作s308,将历史报错次数满足预设次数条件的目标可自愈存储链路的故障定位基本信息发送至集中监控系统,以便通过集中监控系统对目标可自愈存储链路进行管理。

根据本公开的实施例,针对可自愈存储链路,如果某条链路多次报错,则需要对该条链路重点关注,因此,可将该链路的故障定位基本信息发送至集中监控系统,以便网络运维人员通过人工介入对该链路进行全面排查,确定故障常发的原因。

根据本公开的实施例,通过将不可自愈存储链路的故障定位基本信息发送至集中监控系统,可便于网络运维人员及时对不可自愈存储链路进行故障修复,提高了故障处理的效率。通过将历史报错次数满足预设次数条件的目标可自愈存储链路的故障定位基本信息发送至集中监控系统,可以对故障多发链路进行重点关注和全面排查,以确定故障常发的原因,减少故障发生的频率。

图4示意性示出了根据本公开另一实施例的存储链路故障处理方法的流程图。如图4所示,该方法包括操作s401~s408。

在该实施例中,操作s401~s404可参考图2描述的操作s201~s204。为了描述的简洁起见,这里省略对操作s401~s404的描述,仅对操作s405~s408进行说明。其中:

在操作s405,根据每条待处理存储链路的磁盘机状态信息确定故障磁盘机。在操作s402获取到每条待处理存储链路的磁盘机状态信息后,可根据磁盘机状态是否正常确定磁盘机所在链路是否存在故障。

在操作s406,获取每台故障磁盘机的关联信息,其中关联信息用于表征与故障磁盘机关联的待处理存储链路的数量。

在操作s407,根据每台故障磁盘机的关联信息确定重点关注磁盘机。例如,对于某个磁盘机,如果与之关联的多条存储链路都存在故障,则需要对该磁盘机进行重点关注,有可能磁盘机存在硬件故障,需要通过人工介入对其进行重点排查。

在操作s408,将重点关注磁盘机的磁盘机状态信息发送至集中监控系统,以便网络运维人员通过人工介入对重点关注磁盘机进行管理、排查和恢复。

根据本公开的实施例,通过获取每台故障磁盘机的关联信息确定重点关注磁盘机,可以对故障多发磁盘机及其链路进行重点排查,以确定故障常发的原因,减少故障发生的频率。

根据本公开的实施例,上述如图2中所示的确定待处理存储链路队列的具体操作包括:获取目标报错信息和每条存储链路上的服务器状态信息,其中目标报错信息包括每条存储链路上的磁盘机存储状态报错信息、网络链路连接状态报错信息、多路径软件运行状态报错信息,其中服务器状态信息包括用于表征每条存储链路上的服务器是否处于生产状态的第一状态信息、以及每条存储链路上的服务器是否正常工作的第二状态信息,以及根据目标报错信息和每条存储链路上的服务器状态信息确定待处理存储链路队列。

根据本公开的实施例,在进行故障修复之前,需要先确定可能存在网络故障的存储链路,因此,需要先获取到与存储、链路相关的报错信息,即上述操作中的目标报错信息。其中目标报错信息需要涉及存储链路上可能存在故障的各个环节,因此,目标报错信息包括存储链路上可能存在故障的各个环节的报错信息,即包括每条存储链路上的磁盘机存储状态报错信息、网络链路连接状态报错信息、以及多路径软件运行状态报错信息。

此外,还需要获取到每条链路上的服务器状态信息,因可能存在一些特殊情形,例如某台服务器已不在生产状态,虽然其所在链路有故障报错,但是该链路则不属于需要关注的对象,需要将该链路排除,因此,需要获取用于表征每条存储链路上的服务器是否处于生产状态的第一状态信息。再例如,某条链路可能存在历史报错,但是目前已经恢复正常,则需要将其排除,可通过获取每条存储链路上的服务器是否正常工作的第二状态信息,据此判断该链路目前是否处于正常工作状态。

在获取到上述目标报错信息和每条存储链路上的服务器状态信息后,可依据这些信息确定待处理存储链路队列。根据本公开的实施例,上述根据目标报错信息和每条存储链路上的服务器状态信息确定待处理存储链路队列包括如下操作:

首先,根据目标报错信息确定第一待检查存储链路队列,其中,第一待检查存储链路队列中包括至少一条待检查存储链路,即根据目标报错信息初步确定可能存在故障的链路队列,例如,如果某条链路存在至少一个报错信息,则可初步确定该链路为可能存在故障的链路。

之后,根据第二状态信息确定每条待检查存储链路的运行状态,其中运行状态包括正常和异常。

然后,将运行状态正常的存储链路从第一待检查存储链路队列中滤除,以获得第二待检查存储链路队列,通过该操作,将可能存在历史报错,但是目前已经恢复正常的链路排除。

再然后,根据第一状态信息确定白名单存储链路,其中白名单存储链路为不在生产状态的服务器所在存储链路。

最后,将白名单存储链路从第二待检查存储链路队列中滤除,以确定待处理存储链路队列,通过该操作,将虽然有故障报错,但是该链路则不属于需要关注对象的链路排除。

根据本公开的实施例,通过将可能存在历史报错,但是目前已经恢复正常的链路排除、以及将虽然有故障报错,但是该链路则不属于需要关注对象的链路排除,可以避免误报错的情形,减少不必要的故障恢复操作,提高了故障处理的效率。

根据本公开的实施例,上述操作中,获取目标报错信息和每条存储链路上的服务器状态信息的具体方法为:可首先获取每条存储链路上的服务器的系统日志信息,之后从系统日志信息中筛选出目标报错信息和每条存储链路上的服务器状态信息。具体地,可通过搜索关键字(例如“i/o”、“fcport”、“error”、“waring”等)的方法从系统日志信息中筛选出目标报错信息和每条存储链路上的服务器状态信息。

根据本公开的实施例,其中,从系统日志信息中筛选出目标报错信息和每条存储链路上的服务器状态信息包括:将系统日志信息存储至目标数据库;以及从目标数据库中筛选出目标报错信息和每条存储链路上的服务器状态信息。

根据本公开的实施例,可使用syslog工具将每台服务器的系统日志信息导入至一台目标数据库服务器中,以便通过数据库服务器对系统日志信息进行集中处理,方便有效信息的快速筛选和管理。其中,数据库可使用mongodb。可通过远程终端设备访问目标数据库服务器获取到系统日志、并根据系统日志获取到每条存储链路的状态信息,便于及时发现故障、以及对故障进行集中监控和管理。

根据本公开的实施例,在故障处理过程中获取到的所有故障信息、如每条待处理存储链路的故障定位基本信息、目标报错信息和每条存储链路上的服务器状态信息,以及执行远程远程恢复脚本后获取到的故障恢复结果均保存至目标数据库服务器中,这些信息科作为基础数据,以保证该存储链路故障处理方法的执行。

图5示意性示出了根据本公开实施例的存储链路故障处理装置的框图500的框图。该存储链路故障处理装置500可以用来实现参考图2所示的方法。

如图5所示,负载预测装置500包括:第一确定模块501、获取模块502、定位模块503和恢复模块504。

其中,第一确定模块501,用于确定待处理存储链路队列,其中,待处理存储链路队列中包括至少一条待处理存储链路。第一获取模块502,用于获取每条待处理存储链路的故障定位基本信息,其中故障定位基本信息包括每条待处理存储链路的磁盘机状态信息、多路径软件状态信息、以及网络链路状态信息,其中网络链路状态信息包括网络链路的连接状态信息、以及与网络链路对应的端口信息。定位模块503,用于根据故障定位基本信息确定每条待处理存储链路的故障发生位置。恢复模块504,用于在每条待处理存储链路的故障发生位置处执行一次或多次远程恢复脚本,并获取待处理存储链路的故障恢复结果,其中故障恢复结果包括已恢复正常连接和未恢复正常连接。

根据本公开的实施例,通过第一确定模块501确定待处理故障存储链路、以及通过第一获取模块502进一步获取每条待处理存储链路的故障定位基本信息,可以对故障存储链路上的每个可能存在故障的环节进行排查,故障巡检的范围较全面,至少部分解决了相关技术中可能存在故障误报、错报、漏报的问题,提高了故障处理的准确性。另外,根据本公开的实施例,通过恢复模块504执行一次或多次远程恢复脚本来对故障进行自动恢复,在初次恢复失败的情况下,可以在每隔预设时间间隔后再次执行远程恢复脚本,再次尝试对故障进行恢复,解决了相关技术中因依赖人为操作,存在的时效性差、容错性差以及因无法形成有效闭环管理占用较多的人力成本的问题,提高了故障排查和修复的效率。

根据本公开的实施例,上述负载预测装置500还包括:第二确定模块和第一发送模块。

其中,第二确定模块,用于根据待处理存储链路的故障恢复结果确定可自愈存储链路和不可自愈存储链路。第一发送模块,在待处理存储链路为不可自愈存储链路的情况下,将不可自愈存储链路的故障定位基本信息发送至集中监控系统,以便通过集中监控系统对不可自愈存储链路进行管理。

根据本公开的实施例,上述负载预测装置500还包括第三确定模块和第二发送模块。

其中,第三确定模块,用于在待处理存储链路为可自愈存储链路的情况下,确定可自愈存储链路的历史报错次数。第二发送模块,用于将历史报错次数满足预设次数条件的目标可自愈存储链路的故障定位基本信息发送至集中监控系统,以便通过集中监控系统对目标可自愈存储链路进行管理。

根据本公开的实施例,上述负载预测装置500还包括第四确定模块、第二获取模块、第五确定模块和第三发送模块。

其中,第四确定模块,用于根据每条待处理存储链路的磁盘机状态信息确定故障磁盘机。第二获取模块,用于获取每台故障磁盘机的关联信息,其中关联信息用于表征与故障磁盘机关联的待处理存储链路的数量。第五确定模块,用于根据每台故障磁盘机的关联信息确定重点关注磁盘机。第三发送模块,用于将重点关注磁盘机的磁盘机状态信息发送至集中监控系统,以便通过集中监控系统对重点关注磁盘机进行管理。

根据本公开的实施例,其中,第一确定模块501包括获取单元和确定单元。

其中,获取单元,用于获取目标报错信息和每条存储链路上的服务器状态信息,其中目标报错信息包括每条存储链路上的磁盘机存储状态报错信息、网络链路连接状态报错信息、多路径软件运行状态报错信息,其中服务器状态信息包括用于表征每条存储链路上的服务器是否处于生产状态的第一状态信息、以及每条存储链路上的服务器是否正常工作的第二状态信息。其中确定单元,用于根据目标报错信息和每条存储链路上的服务器状态信息确定待处理存储链路队列。

根据本公开的实施例,其中,上述确定单元包括第一确定子单元、第二确定子单元、第一滤除子单元、第三确定子单元和第二滤除子单元。

其中,第一确定子单元,用于根据目标报错信息确定第一待检查存储链路队列,其中,第一待检查存储链路队列中包括至少一条待检查存储链路。第二确定子单元,用于根据第二状态信息确定每条待检查存储链路的运行状态,其中运行状态包括正常和异常。第一滤除子单元,用于将运行状态正常的存储链路从第一待检查存储链路队列中滤除,以获得第二待检查存储链路队列。第三确定子单元,用于根据第一状态信息确定白名单存储链路,其中白名单存储链路为不在生产状态的服务器所在存储链路。第二滤除子单元,用于将白名单存储链路从第二待检查存储链路队列中滤除,以确定待处理存储链路队列。

根据本公开的实施例,上述获取单元包括获取子单元和筛选子单元。其中,获取子单元,用于获取每条存储链路上的服务器的系统日志信息。筛选子单元,用于从系统日志信息中筛选出目标报错信息和每条存储链路上的服务器状态信息。

根据本公开的实施例,从系统日志信息中筛选出目标报错信息和每条存储链路上的服务器状态信息包括:将系统日志信息存储至目标数据库;以及从目标数据库中筛选出目标报错信息和每条存储链路上的服务器状态信息。

根据本公开的实施例的模块、子模块、单元、子单元中的任意多个、或其中任意多个的至少部分功能可以在一个模块中实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以被拆分成多个模块来实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(fpga)、可编程逻辑阵列(pla)、片上系统、基板上的系统、封装上的系统、专用集成电路(asic),或可以通过对电路进行集成或封装的任何其他的合理方式的硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,根据本公开实施例的模块、子模块、单元、子单元中的一个或多个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。

例如,第一确定模块501、获取模块502、定位模块503和恢复模块504中的任意多个可以合并在一个模块/单元/子单元中实现,或者其中的任意一个模块/单元/子单元可以被拆分成多个模块/单元/子单元。或者,这些模块/单元/子单元中的一个或多个模块/单元/子单元的至少部分功能可以与其他模块/单元/子单元的至少部分功能相结合,并在一个模块/单元/子单元中实现。根据本公开的实施例,第一确定模块501、获取模块502、定位模块503和恢复模块504中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(fpga)、可编程逻辑阵列(pla)、片上系统、基板上的系统、封装上的系统、专用集成电路(asic),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,第一确定模块501、获取模块502、定位模块503和恢复模块504中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。

图6示意性示出了根据本公开实施例的用于实现存储链路故障处理方法的电子设备的框图。图6示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。

如图6所示,根据本公开实施例的电子设备600包括处理器601,其可以根据存储在只读存储器(rom)602中的程序或者从存储部分608加载到随机访问存储器(ram)603中的程序而执行各种适当的动作和处理。处理器601例如可以包括通用微处理器(例如cpu)、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(asic)),等等。处理器601还可以包括用于缓存用途的板载存储器。处理器601可以包括用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。

在ram603中,存储有电子设备600操作所需的各种程序和数据。处理器601、rom602以及ram603通过总线604彼此相连。处理器601通过执行rom602和/或ram603中的程序来执行根据本公开实施例的方法流程的各种操作。需要注意,所述程序也可以存储在除rom602和ram603以外的一个或多个存储器中。处理器601也可以通过执行存储在所述一个或多个存储器中的程序来执行根据本公开实施例的方法流程的各种操作。

根据本公开的实施例,电子设备600还可以包括输入/输出(i/o)接口606,输入/输出(i/o)接口606也连接至总线604。系统600还可以包括连接至i/o接口605的以下部件中的一项或多项:包括键盘、鼠标等的输入部分606;包括诸如阴极射线管(crt)、液晶显示器(lcd)等以及扬声器等的输出部分607;包括硬盘等的存储部分608;以及包括诸如lan卡、调制解调器等的网络接口卡的通信部分609。通信部分609经由诸如因特网的网络执行通信处理。驱动器610也根据需要连接至i/o接口605。可拆卸介质611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器610上,以便于从其上读出的计算机程序根据需要被安装入存储部分608。

根据本公开的实施例,根据本公开实施例的方法流程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读存储介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分609从网络上被下载和安装,和/或从可拆卸介质611被安装。在该计算机程序被处理器601执行时,执行本公开实施例的系统中限定的上述功能。根据本公开的实施例,上文描述的系统、设备、装置、模块、单元等可以通过计算机程序模块来实现。

本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备/装置/系统中所包含的;也可以是单独存在,而未装配入该设备/装置/系统中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的方法。

根据本公开的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质。例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。

例如,根据本公开的实施例,计算机可读存储介质可以包括上文描述的rom602和/或ram603和/或rom602和ram603以外的一个或多个存储器。

本公开的实施例还包括一种计算机程序产品,其包括计算机程序,该计算机程序包含用于执行本公开实施例所提供的方法的程序代码,当计算机程序产品在电子设备上运行时,该程序代码用于使电子设备实现本公开实施例所提供的存储链路故障处理方法。

在该计算机程序被处理器601执行时,执行本公开实施例的系统/装置中限定的上述功能。根据本公开的实施例,上文描述的系统、装置、模块、单元等可以通过计算机程序模块来实现。

在一种实施例中,该计算机程序可以依托于光存储器件、磁存储器件等有形存储介质。在另一种实施例中,该计算机程序也可以在网络介质上以信号的形式进行传输、分发,并通过通信部分609被下载和安装,和/或从可拆卸介质611被安装。该计算机程序包含的程序代码可以用任何适当的网络介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。

根据本公开的实施例,可以以一种或多种程序设计语言的任意组合来编写用于执行本公开实施例提供的计算机程序的程序代码,具体地,可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。程序设计语言包括但不限于诸如java,c++,python,“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(lan)或广域网(wan),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。

根据本公开的实施例,通过执行上述存储链路故障处理方法,可确定待处理故障存储链路、以及进一步获取每条待处理存储链路的故障定位基本信息,可以对故障存储链路上的每个可能存在故障的环节进行排查,故障巡检的范围较全面,至少部分解决了相关技术中可能存在故障误报、错报、漏报的问题,提高了故障处理的准确性。另外,根据本公开的实施例,通过执行一次或多次远程恢复脚本来对故障进行自动恢复,在初次恢复失败的情况下,可以在每隔预设时间间隔后再次执行远程恢复脚本,再次尝试对故障进行恢复,解决了相关技术中因依赖人为操作,存在的时效性差、容错性差以及因无法形成有效闭环管理占用较多的人力成本的问题,提高了故障排查和修复的效率。

附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合,即使这样的组合或结合没有明确记载于本公开中。特别地,在不脱离本公开精神和教导的情况下,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本公开的范围。

以上对本公开的实施例进行了描述。但是,这些实施例仅仅是为了说明的目的,而并非为了限制本公开的范围。尽管在以上分别描述了各实施例,但是这并不意味着各个实施例中的措施不能有利地结合使用。本公开的范围由所附权利要求及其等同物限定。不脱离本公开的范围,本领域技术人员可以做出多种替代和修改,这些替代和修改都应落在本公开的范围之内。

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