一种HBA卡故障处理方法、系统、介质及设备与流程

文档序号:15394552发布日期:2018-09-08 01:52阅读:1140来源:国知局

本发明涉及数据存储领域,特别涉及一种hba卡故障处理方法、系统、介质及设备。



背景技术:

主机总线适配器(hostbusadapter,hba)是在一个服务器和存储装置间提供输入/输出处理和物理连接的电路板或者是集成电路适配器。因为hba减轻了主处理器和检索任务的负担,并且能够提高服务器的性能,所以被广泛被应用在各种存储系统当中。但是,在现有技术当中,主机端对hba卡的故障处理都是以轮询的方式进行查询,处理时间较长,消耗系统资源比较多,针对这一技术问题,如何对存储系统中hba卡的故障进行更好的处理,是本领域技术人员亟待解决的问题。



技术实现要素:

有鉴于此,本发明的目的在于提供一种hba卡故障处理方法、系统、介质及设备,以缩短主机端对hba卡故障处理的时间,以及降低系统资源的消耗量。其具体方案如下:

一种hba卡故障处理方法,包括:

当存储系统中的存储节点运行稳定之后,执行所述存储节点上的快速节点重置文件;其中,所述快速节点重置文件为预先添加到所述存储节点上的文件,所述快速节点重置文件能够在预设时间内感知所述存储节点上hba卡的操作状态;

利用所述快速节点重置文件感知所述存储系统中hba卡的运行状态;

当所述存储系统中的hba卡发生故障时,则利用异步通知消息机制获取发生故障的hba卡的故障信息,以对所述故障信息进行处理。

优选的,所述当存储系统中的存储节点运行稳定之后,执行所述存储节点上的快速节点重置文件的过程之前,还包括:

当所述存储节点完成初始化操作后,则对与所述存储节点对应的hba卡注册所述快速节点重置文件,并执行所述快速节点重置文件;

终止所述快速节点重置文件,并再次执行所述快速节点重置文件,以使所述存储系统中的存储节点运行稳定。

优选的,所述执行所述存储节点上的快速节点重置文件的过程,包括:

利用ioctl函数执行所述存储节点上的快速节点重置文件。

优选的,还包括:

若所述快速节点重置文件在预设时间内未执行操作,则对与所述快速节点重置文件对应的hba卡进行重启。

优选的,还包括:

若所述快速节点重置文件在预设时间内未执行操作,则将与所述快速节点重置文件对应的hba卡的异常信息记录至日志。

优选的,所述利用所述快速节点重置文件感知所述存储系统中hba卡的运行状态的过程,包括:

当接收到所述存储系统发送的故障信息时,则利用所述快速节点重置文件对所述故障信息进行处理;其中,所述故障信息为当所述存储系统中的hba卡发生故障前,利用mailbox命令所触发的信息。

相应的,本发明还公开了一种hba卡故障处理系统,包括:

文件执行模块,用于当存储系统中的存储节点运行稳定之后,执行所述存储节点上的快速节点重置文件;其中,所述快速节点重置文件为预先添加到所述存储节点上的文件,所述快速节点重置文件能够在预设时间内感知所述存储节点上hba卡的操作状态;

文件感知模块,用于利用所述快速节点重置文件感知所述存储系统中hba卡的运行状态;

故障处理模块,用于当所述存储系统中的hba卡发生故障时,则利用异步通知消息机制获取发生故障的hba卡的故障信息,以对所述故障信息进行处理。

优选的,还包括:

日志记录模块,用于若所述快速节点重置文件在预设时间内未执行操作,则将与所述快速节点重置文件对应的hba卡的异常信息记录至日志。

相应的,本发明还公开了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如前述公开的hba卡故障处理方法的步骤。

相应的,本发明还公开了一种hba卡故障处理设备,包括:

存储器,用于存储计算机程序;

处理器,用于执行所述计算机程序时实现如前述公开的hba卡故障处理方法的步骤。

在本发明中,一种hba卡故障处理方法,包括:当存储系统中的存储节点运行稳定之后,执行存储节点上的快速节点重置文件;其中,快速节点重置文件为预先添加到存储节点上的文件,快速节点重置文件能够在预设时间内感知存储节点上hba卡的操作状态;利用快速节点重置文件感知存储系统中hba卡的运行状态;当存储系统中的hba卡发生故障时,则利用异步通知消息机制获取发生故障的hba卡的故障信息,以对故障信息进行处理。

可见,在本发明中,预先在存储节点上添加能够在预设时间内感知存储节点上hba卡的操作状态的快速节点重置文件,优化了主机端的感知算法逻辑,当存储系统中的存储节点运行稳定之后,执行快速节点重置文件,然后利用快速节点重置文件感知存储节点上hba卡的运行状态,并且主机端是利用异步通知消息机制获取存储系统中发生故障的hba卡的故障信息,相比于现有技术中通过轮询的方式获取hba卡的故障信息,大大提高了主机端处理hba卡故障信息的速度,减少了系统资源的消耗。相应的,本发明公开的一种hba卡故障处理系统、介质及设备,同样具有上述有益效果。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本发明实施例一公开的一种hba卡故障处理方法的流程图;

图2为本发明实施例二公开的一种hba卡故障处理方法的流程图;

图3为本发明实施例公开的一种hba卡故障处理系统的结构图;

图4为本发明实施例公开的一种hba卡故障处理设备的结构图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明实施例一公开了一种hba卡故障处理方法,如图1所示,该方法包括:

步骤s11:当存储系统中的存储节点运行稳定之后,执行存储节点上的快速节点重置文件;

其中,快速节点重置文件为预先添加到存储节点上的文件,快速节点重置文件能够在预设时间内感知存储节点上hba卡的操作状态。

步骤s12:利用快速节点重置文件感知存储系统中hba卡的运行状态。

需要说明的是,hba卡(hostbusadapter,主机总线适配器)是计算机在服务器和存储设备之间提供输入/输出(i/o)处理和物理连接的电路板或者是集成电路适配器。在fc网络(fibrechannel)中,主机(如服务器)需要和fc网络、fc存储设备(如san)连接时,一般都需要一种特殊的接口卡,就如同在网络中连接以太网需要以太网卡一样,该接口卡在fc网络中,就叫做hba卡。在现有技术当中,当存储系统的中的hba卡发生故障时,主机端都是以轮询的方式对存储系统中的所有节点进行查询,以获取发生故障的hba卡上的故障信息,所以存在系统处理速度慢、开发周期长以及资源消耗较多等问题。

针对这一技术问题,在本发明中,是使用通用处理器cpu作为主机端运行主处理器,并且在主机端上运行标准的linux程序,在本实施例中,是通过对主机端存储系统中的存储节点的监控程序进行设计修改,来判断存储系统中hba卡的操作状态,也即,通过在存储系统的节点上预先添加能够感知存储系统中的hba卡是否能在规定时间内完成相应的操作动作的快速节点重置文件,从而优化了主机端对存储系统中的感知算法逻辑,进而使得主机端能够以更快的速度感知到存储系统中hba卡的操作状态。

步骤s13:当存储系统中的hba卡发生故障时,则利用异步通知消息机制获取发生故障的hba卡的故障信息,以对故障信息进行处理。

具体的,在本实施例中,主机端是采用异步通知消息机制来获取存储系统中发生故障的hba卡的故障信息,并且对获取到的故障信息进行处理。需要说明的是,现有技术当中,主机端是以轮询方式来获取存储系统中各个存储节点上hba卡的故障信息,而在本发明中,是以异步通知消息机制来获取存储系统中发生故障的hba卡的故障信息,能够想到的是,通过这样的方式,能够显著提高主机端对hba卡故障信息的处理速度,并且减少系统的消耗。也即,当存储节点上的hba卡发生故障时,会实时的将故障信息直接发送至主机,让主机对发生故障的hba卡进行并行处理,相比于现有技术中,主机端是以轮询的方式对存储系统中的hba卡的故障信息进行逐个查询,所以,利用本发明中的方法,可以大大提高主机端对存储系统中hba卡发生故障时的处理时间,缩短开发周期,同时也能够大大降低系统资源的消耗量。

可见,在本实施例中,是预先在存储节点上添加能够在预设时间内感知存储节点上hba卡的操作状态的快速节点重置文件,优化了主机端的感知算法逻辑,当存储系统中的存储节点运行稳定之后,执行快速节点重置文件,然后利用快速节点重置文件感知存储节点上hba卡的运行状态,并且主机端是利用异步通知消息机制获取存储系统中发生故障的hba卡的故障信息,相比于现有技术中通过轮询的方式获取hba卡的故障信息,大大提高了主机端处理hba卡故障信息的速度,减少了系统资源的消耗。

本发明实施例二公开了一种具体的hba卡故障处理方法,相对于上一实施例,本实施例对技术方案作了进一步的说明和优化,参见图2所示,该方法包括:

步骤s21:当存储节点完成初始化操作后,则对与存储节点对应的hba卡注册快速节点重置文件,并执行快速节点重置文件。

步骤s22:关闭快速节点重置文件,并再次执行快速节点重置文件,以使存储系统中的存储节点运行稳定。

可以理解的是,为了使得主机端能够对存储系统中的hba卡进行更好的监控,在本实施例中,首先,是需要在存储系统的每个存储节点上注册快速节点重置文件。具体的,在本实施例中,是在存储系统中的存储节点完成初始化操作以后,对与存储节点相对应的hba卡上注册快速节点重置文件,当在存储节点上注册好快速节点重置文件以后,就开始启动快速节点重置文件,然后关闭快速节点重置文件,之后再重启快速节点重置文件,显然,这样操作是为了系统能够稳定运行。需要说明的是,本实施例中只是列举了其中的一种方式,在实际操作当中,还可以通过其它的方式使得系统稳定地运行,此处不作具体的限定。

步骤s23:当存储系统中的存储节点运行稳定之后,利用ioctl函数执行存储节点上的快速节点重置文件。

需要说明的是,ioctl函数是设备驱动程序中对各个设备的i/o通道进行管理的函数,也即,通过ioctl函数来控制各个设备串口的传输波特率、马达的转速等等。具体的,在本实施例中,是当存储系统中的存储节点运行稳定之后,利用ioctl函数执行存储节点上的快速节点重置文件。

步骤s24:当接收到存储系统发送的故障信息时,则利用快速节点重置文件对故障信息进行处理;

其中,故障信息为当存储系统中的hba卡发生故障前,利用mailbox命令所触发的信息。

具体的,在本实施例中,当存储系统中的hba卡在发生故障之前,会利用mailbox命令向主机端触发故障消息,当主机端接收到hba卡触发的故障消息时,就会利用已经启动的快速节点重置文件来对故障信息进行处理,以使得主机端能够预先感知到存储系统中hba卡的运行状态,从而能够对存储系统中的hba卡进行更好的管理。

步骤s25:当存储系统中的hba卡发生故障时,则利用异步通知消息机制获取发生故障的hba卡的故障信息,以对故障信息进行处理。

步骤s26:若快速节点重置文件在预设时间内未执行操作,则对与快速节点重置文件对应的hba卡进行重启。

步骤s27:若快速节点重置文件在预设时间内未执行操作,则将与快速节点重置文件对应的hba卡的异常信息记录至日志。

可以理解的是,步骤s25与上述实施例中的步骤s13相对应,在本实施例中,对其不再赘述。步骤s26和步骤s27是列举了系统发生异常状况的两种情况。具体如下:

当存储节点上的快速节点重置文件在预设时间内没有执行操作,此时主机端可以对与快速节点重置文件所对应的hba卡进行重启,以保证后续流程的继续执行,也即,通过对hba卡进行重启,从而确保端口的继续可用。

当存储系统中的快速节点重置文件在预设时间内未执行操作,此种情况下,主机端可以将与快速节点重置文件对应的hba卡的异常信息记录至日志,可以理解的是,将hba卡的异常信息记录在日志里,就可以方便后期工作人员对故障信息维护时提供有效的故障定位依据。

相应的,本发明还公开了一种hba卡故障处理系统,如图3所示,该系统包括:

文件执行模块31,用于当存储系统中的存储节点运行稳定之后,执行存储节点上的快速节点重置文件;其中,快速节点重置文件为预先添加到存储节点上的文件,快速节点重置文件能够在预设时间内感知存储系统上hba卡的操作状态。

文件感知模块32,用于利用快速节点重置文件感知存储系统中hba卡的运行状态。

故障处理模块33,用于当存储系统中的hba卡发生故障时,则利用异步通知消息机制获取发生故障的hba卡的故障信息,以对故障信息进行处理。

优选的,该hba卡故障处理系统还包括:

文件注册模块,用于当存储系统中的存储节点运行稳定之后,执行存储节点上的快速节点重置文件的过程之前,当存储节点完成初始化操作后,则对与存储节点对应的hba卡注册快速节点重置文件,并执行快速节点重置文件。

文件重启模块,用于终止快速节点重置文件,并再次执行快速节点重置文件,以使存储系统中的存储节点运行稳定。

优选的,文件执行模块31包括:

文件执行单元,用于利用ioctl函数执行存储节点上的快速节点重置文件。

优选的,该hba卡故障处理系统还包括:

文件重启模块,用于若快速节点重置文件在预设时间内未执行操作,则对与快速节点重置文件对应的hba卡进行重启。

优选的,该hba卡故障处理系统还包括:

日志记录模块,用于若快速节点重置文件在预设时间内未执行操作,则将与快速节点重置文件对应的hba卡的异常信息记录至日志。

优选的,文件感知模块32包括:

文件感知单元,用于当接收到存储系统发送的故障信息时,则利用快速节点重置文件对故障信息进行处理;其中,故障信息为当存储系统中的hba卡发生故障前,利用mailbox命令所触发的信息。

相应的,本发明还公开了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如前述公开的hba卡故障处理方法的步骤。

相应的,本发明还公开了一种hba卡故障处理设备,如图4所示,包括:

存储器41,用于存储计算机程序;

处理器42,用于执行计算机程序时实现如前述公开的hba卡故障处理方法的步骤。

最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

以上对本发明所提供的一种hba卡的故障处理方法、系统、介质及设备进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

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