本发明属于计算机应用技术领域,特别是涉及一种多路径存储故障的处理方法和装置。
背景技术:
随着信息化的快速发展,数据量越来越大,存储对于各个企业来说是越来越重要了,每一个企业都需要进行安全可靠的存储。因此,多路径存储也应运而生,通过多条路径来存储数据,既能快速的传输数据,也保证了在一条链路故障的时候,其他链路能正常工作,从而保证了存储的安全稳定。
但是,当链路发生故障的时候,仅仅是将该链路移除不使用,并没有做其他处理,如果未能及时发现该故障并修复,当其他链路再发生故障时,就可能导致存储失败,造成严重的后果,为了保证系统的稳定可靠,应尽快的确定故障并修复。
技术实现要素:
为解决上述问题,本发明提供了一种多路径存储故障的处理方法和装置,能够尽快确定故障并修复,保证多路径存储系统的稳定可靠。
本发明提供的一种多路径存储故障的处理方法,包括:
收集多路径存储系统的故障信息;
将所述故障信息从内核态传递到用户态;
在用户态分析故障的位置和原因;
针对故障的不同原因进行路径修复或重设驱动。
优选的,在上述多路径存储故障的处理方法中,在所述针对故障的不同原因进行路径修复或重设驱动之后,还包括:
将所述故障信息通知管理员。
优选的,在上述多路径存储故障的处理方法中,所述收集多路径存储系统的故障信息为:
在多路径存储驱动模块中挂载钩子函数,利用所述钩子函数收集多路径存储系统的故障信息。
优选的,在上述多路径存储故障的处理方法中,所述将所述故障信息从内核态传递到用户态为:
利用netlink方式通信,将所述故障信息主动从内核态传递到用户态。
本发明提供的一种多路径存储故障的处理装置,包括:
故障收集单元,用于收集多路径存储系统的故障信息;
传递单元,用于将所述故障信息从内核态传递到用户态;
分析单元,用于在用户态分析故障的位置和原因;
路径修复和重设驱动单元,用于针对故障的不同原因进行路径修复或重设驱动。
优选的,在上述多路径存储故障的处理装置中,还包括:
通知单元,用于将所述故障信息通知管理员。
优选的,在上述多路径存储故障的处理装置中,所述故障收集单元具体用于在多路径存储驱动模块中挂载钩子函数,利用所述钩子函数收集多路径存储系统的故障信息。
优选的,在上述多路径存储故障的处理装置中,所述传递单元具体用于利用netlink方式通信,将所述故障信息主动从内核态传递到用户态。
通过上述描述可知,本发明提供的上述多路径存储故障的处理方法和装置,由于该方法包括:收集多路径存储系统的故障信息;将所述故障信息从内核态传递到用户态;在用户态分析故障的位置和原因;针对故障的不同原因进行路径修复或重设驱动,因此能够尽快确定故障并修复,保证多路径存储系统的稳定可靠。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例提供的第一种多路径存储故障的处理方法的示意图;
图2为本申请实施例提供的第一种多路径存储故障的处理装置的示意图。
具体实施方式
本发明的核心思想在于提供一种多路径存储故障的处理方法和装置,能够尽快确定故障并修复,保证多路径存储系统的稳定可靠。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本申请实施例提供的第一种多路径存储故障的处理方法如图1所示,图1为本申请实施例提供的第一种多路径存储故障的处理方法的示意图。该方法包括如下步骤:
S1:收集多路径存储系统的故障信息;
需要说明的是,当多路径存储在读写数据发生故障时,可以但不限于利用挂载在多路径存储驱动中的钩子函数将故障信息收集起来。
S2:将所述故障信息从内核态传递到用户态;
需要说明的是,由于收集故障信息的位置在内核,而后续的处理过程发生在用户态,因此需要将PCIE故障信息从内核传输到用户态,而具体的传输方式包括但不限于利用netlink通道。
S3:在用户态分析故障的位置和原因;
具体的,根据规则库“一个故障或一些故障对应处理方式”,如多路径报告一条路径故障,上程序就会针对该路径做相应的恢复或者隔离,可以对所述多路径存储故障的位置和原因进行分类统计,得到分析的结果。
S4:针对故障的不同原因进行路径修复或重设驱动。
需要说明的是,在可以修复的情况下,就对发生故障的路径进行修复,而有些情况下无法修复,那么就可以采取重设驱动的方式予以解决,保证多路径存储可靠、稳定的运行。
通过上述描述可知,本申请实施例提供的上述第一种多路径存储故障的处理方法由于包括:收集多路径存储系统的故障信息;将所述故障信息从内核态传递到用户态;在用户态分析故障的位置和原因;针对故障的不同原因进行路径修复或重设驱动,因此能够尽快确定故障并修复,保证多路径存储系统的稳定可靠。
本申请实施例提供的第二种多路径存储故障的处理方法,是在上述第一种多路径存储故障的处理方法的基础上,还包括如下技术特征:
在所述针对故障的不同原因进行路径修复或重设驱动之后,还包括:
将所述故障信息通知管理员。
具体的,把故障的处理结果及详细的信息发送给管理员,可以以短信或邮件的方式进行通知,以确保合理处理故障,具体的形式包括但不限于制作图表或曲线,以辅助管理员更直观的观察故障信息。
本申请实施例提供的第三种多路径存储故障的处理方法,是在上述第二种多路径存储故障的处理方法的基础上,还包括如下技术特征:
所述收集多路径存储系统的故障信息为:
在多路径存储驱动模块中挂载钩子函数,利用所述钩子函数收集多路径存储系统的故障信息。
需要说明的是,在多路径存储使用过程中,只要发生故障,该钩子函数就将该故障信息进行收集。
本申请实施例提供的第四种多路径存储故障的处理方法,是在上述第一种至第三种多路径存储故障的处理方法中任一种的基础上,还包括如下技术特征:
所述将所述故障信息从内核态传递到用户态为:
利用netlink方式通信,将所述故障信息主动从内核态传递到用户态。
需要说明的是,netlink是Linux系统中内核态和用户态通信的方式,当发生多路径存储故障后补丁模块就会收集到相关故障信息,然后将该信息放入到netlink的通道中,发送到用户态。
本申请实施例提供的第一种多路径存储故障的处理装置如图2所示,图2为本申请实施例提供的第一种多路径存储故障的处理装置的示意图,该装置包括:
故障收集单元201,用于收集多路径存储系统的故障信息,当多路径存储在读写数据发生故障时,可以但不限于利用挂载在多路径存储驱动中的钩子函数将故障信息收集起来;
传递单元202,用于将所述故障信息从内核态传递到用户态,由于在内核收集故障信息,而后续的处理过程发生在用户态,因此需要将PCIE故障信息从内核传输到用户态,而具体的传输方式包括但不限于利用netlink通道;
分析单元203,用于在用户态分析故障的位置和原因,具体的,可以对所述多路径存储故障的位置和原因进行分类统计,得到分析的结果;
路径修复和重设驱动单元204,用于针对故障的不同原因进行路径修复或重设驱动,在可以修复的情况下,就对发生故障的路径进行修复,而有些情况下无法修复,那么就可以采取重设驱动的方式予以解决。
本申请实施例提供的第二种多路径存储故障的处理装置,是在上述第一种多路径存储故障的处理装置的基础上,还包括如下技术特征:
通知单元,用于将所述故障信息通知管理员。
具体的,把故障的处理结果及详细的信息发送给管理员,可以以短信或邮件的方式进行通知,以确保合理处理故障,具体的形式包括但不限于制作图表或曲线,以辅助管理员更直观的观察故障。
本申请实施例提供的第三种多路径存储故障的处理装置,是在上述第二种多路径存储故障的处理装置的基础上,还包括如下技术特征:
所述故障收集单元具体用于在多路径存储驱动模块中挂载钩子函数,利用所述钩子函数收集多路径存储系统的故障信息。
本申请实施例提供的第四种多路径存储故障的处理装置,是在上述第一种至第三种多路径存储故障的处理装置中任一种的基础上,还包括如下技术特征:
所述传递单元具体用于利用netlink方式通信,将所述故障信息主动从内核态传递到用户态。
需要说明的是,netlink是Linux系统中内核态和用户态通信的方式,当发生多路径存储故障后补丁模块就会收集到相关故障信息,然后将该信息放入到netlink的通道中,发送到用户态。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。