发明内容
本发明提供了一种FC-SAN存储系统及提高光纤通道稳定性的方法,可以大大降低IO错误对FC-SAN存储系统的影响,提高整个系统的稳定性。
本发明实施例提供的一种FC-SAN存储系统,包括FC目标驱动器,所述FC-SAN存储系统还包括错误监测模块、错误恢复模块和错误通知模块;
错误监测模块用于监测FC目标驱动器中是否出现IO错误,若是,则记录下IO错误的错误类型以及该类错误出现的次数,当某类IO错误累计出现次数超出该错误类型对应的预定阈值时,错误监测模块使能错误恢复模块,并将错误类型通知错误恢复模块;
错误恢复模块用于在使能后,根据错误监测模块通知的错误类型执行恢复操作,如果所述恢复操作后IO错误消除,则结束处理;如果IO错误继续存在,错误恢复模块将所述IO错误对应的FC端口进行隔断,使能错误通知模块并将错误类型和被隔断的FC端口标识通知错误通知模块;
错误通知模块用于在使能后,将错误类型和被隔离的FC端口标识通知用户。
较佳地,所述错误类型包括:
第一类错误:由于服务器端应用软件/驱动程序引起,或者由于IO压力较大导致存储端处理IO时间过长导致的错误;
第二类错误:外部设备引起的硬件错误;以及
第三类错误:由本地存储端硬件引起的错误。
较佳地,第一类错误对应的预定阈值大于1,第二类错误和第三类错误对应的预定阈值等于1。
较佳地,所述错误恢复模块包括:
重启单元,用于错误恢复模块接收到的来自错误监测模块通知的错误类型为第一类错误时,关闭IO错误对应的FC端口,并对该FC端口进行延时重启。
较佳地,所述错误恢复模块包括:
隔离单元,用于错误恢复模块接收到的来自错误监测模块通知的错误类型为第二类错误时,隔离引起IO错误的外部设备,并通知错误通知模块向用户发送更换外部设备的提示信息;
错误通知模块在收到来自隔离单元的通知后,向用户发送更换外部设备的提示信息。
较佳地,所述错误恢复模块包括:
信号调整单元,用于错误恢复模块接收到的来自错误监测模块通知的错误类型为第三类错误时,获取硬件信号质量信息,对硬件信号质量进行动态调整。
本发明实施例提供了一种提高FC-SAN的光纤通道稳定性的方法,包括如下步骤:
A、监测FC-SAN的FC目标驱动器中是否出现IO错误,若是,则记录下IO错误的错误类型以及该类错误出现的次数,当某类IO错误累计出现次数超出该错误类型对应的预定阈值时,执行步骤B;
B、根据所述错误类型执行恢复操作,如果所述恢复操作后IO错误消除,则结束本流程;如果IO错误继续存在,则执行步骤C;
C、将所述IO错误对应的FC端口进行隔断,并将错误类型和被隔离的FC端口标识通知用户。
较佳地,所述错误类型包括:
第一类错误:由于服务器端应用软件/驱动程序引起,或者由于IO压力较大导致存储端处理IO时间过长导致的错误;
第二类错误:外部设备引起的硬件错误;以及
第三类错误:由本地存储端硬件引起的错误。
较佳地,若所述IO错误的错误类型为第一类错误,步骤B所述根据所述错误类型执行恢复操作包括:
关闭IO错误对应的FC端口,并对该FC端口进行延时重启。
较佳地,若所述IO错误的错误类型为第二类错误,步骤B所述根据所述错误类型执行恢复操作包括:
隔离引起IO错误的外部设备,并向用户发送更换外部设备的提示信息。
较佳地,若所述IO错误的错误类型为第三类错误,步骤B所述根据所述错误类型执行恢复操作包括:
获取硬件信号质量信息,对硬件信号质量进行动态调整。
从以上技术方案可以看出,在FC-SAN存储系统光纤通道发生异常时,对错误类型以及错误数目进行统计,根据统计的结果进行分类处理,将错误的影响降到最低甚至恢复错误,提高整个系统的稳定性。
具体实施方式
本发明方案的基本思想是,在FC-SAN存储系统光纤通道发生异常时,对错误类型以及错误数目进行统计,根据统计的结果进行分类处理,将错误的影响降到最低甚至恢复错误,提高整个系统的稳定性。
为使本发明技术方案的原理、特点以及技术效果更加清楚,以下通过具体实施例对本发明方案进行详细阐述。
本发明实施例提供的一种FC-SAN系统如图1所示。图1中示出的FC目标驱动器104、缓存105以及磁盘驱动器106为现有的FC-SAN已有模块。
与现有的FC-SAN存储系统相比,该FC-SAN系统中增加三个模块:错误监测模块101、错误恢复模块102和FC系统异常告警模块103。
错误监测模块101用于监测FC目标驱动器104中是否出现IO错误,若是,则记录下IO错误的类型以及该类错误出现的次数。当某类错误累计出现次数超出预定阈值时,错误监测模块101会使能错误恢复模块102,并将错误类型通知错误恢复模块102。
错误恢复模块102用于在使能后,根据错误监测模块101通知的错误类型对出现的IO错误进行恢复,如果错误得到恢复,则系统仍正常运行;如果错误恢复失败,错误恢复模块102将采取隔断措施,将错误相关的FC端口进行隔断,使能错误通知模块103,并将错误类型和被隔断的FC端口标识通知错误通知模块103。
错误通知模块103用于在使能后,将错误类型和被隔离的FC端口标识通知用户。较佳地,错误通知模块103还可以将错误的详细情况以及针对此错误做出过的处理和处理的结果反馈给用户,让用户决定如何处理。
对于光纤通道的错误,本专利将其分为三类:
第一类错误:软件错误,由于服务器端应用软件/驱动程序引起,或者由于IO压力较大导致存储端处理IO时间过长导致的错误。
第二类错误:外部设备引起的硬件错误,例如,FC HBA厂家之间的兼容性不佳引起的错误,光纤交换机使用了其他厂家光模块(SFP)引起的错误。
第三类错误:由本地存储端硬件引起的错误,如存储端FC卡出现信号质量问题引起的错误。
较佳地,所述错误恢复模块至少包括如下单元之一:
重启单元,用于错误恢复模块接收到的来自错误监测模块通知的错误类型为第一类错误时,关闭错误对应的FC端口,并对该FC端口进行延时重启;
隔离单元,用于错误恢复模块接收到的来自错误监测模块通知的错误类型为第二类错误时,隔离发生错误的外部设备,并通知错误通知模块向用户发送更换外部设备的提示信息;
信号调整单元,用于错误恢复模块接收到的来自错误监测模块通知的错误类型为第二类错误时,获取硬件信号质量信息,对硬件信号质量进行动态调整。
针对第一类错误的处理过程如下:
错误监测模块101记录出现第一类错误的次数,当该次数超过预定阈值(该域值大于1)时,使能错误恢复模块102,并将错误类型通知错误恢复模块102。
错误恢复模块102得知错误类型为第一类,进行如下恢复处理:关闭错误对应的FC端口,并对该FC端口进行延时重启。
针对第二类错误的处理过程如下:
错误监测模块101记录出现第二类错误的次数,当该次数超过预定阈值(该域值可以设置为1)时,使能错误恢复模块102,并将错误类型通知错误恢复模块102。
错误恢复模块102得知错误类型为第二类,进行如下恢复处理:隔离引起IO错误的外部设备(SFP/光纤线缆/开关等),并通知错误通知模块103向用户发送更换外部设备的提示信息;错误恢复模块102判断是否消除错误,若是,则结束处理,否则,将发生错误的FC端口进行隔断,使能错误通知模块103并将错误类型以及被隔断的所述FC端口的标识通知错误通知模块103;错误通知模块103将错误类型通知用户,并通知用户所述标识对应的FC端口不可用。
针对第三类错误的处理过程如下:
错误监测模块101记录出现第三类错误的次数,当该次数超过预定阈值(该域值可以设置为1)时,使能错误恢复模块102,并将错误类型通知错误恢复模块102。
错误恢复模块102得知错误类型为第三类,进行如下恢复处理:获取硬件信号质量信息,对硬件信号质量进行动态调整,错误恢复模块102判断是否消除错误,若是,则结束处理,否则,将发生错误的FC端口进行隔断,,使能错误通知模块103并将错误类型以及被隔断的所述FC端口的标识通知错误通知模块103;错误通知模块103将错误类型通知用户,并通知用户所述标识对应的FC端口不可用。
所述对信号质量进行动态调整的主要手段包括:
(1)发送端预加重(TX preemphasis);
(2)接收端均衡(RX equalization)。
本发明实施例还提供一种提高FC-SAN的光纤通道稳定性的方法,包括如下步骤:
A、监测FC-SAN的FC目标驱动器中是否出现IO错误,若是,则记录下IO错误的错误类型以及该类错误出现的次数,当某类IO错误累计出现次数超出该错误类型对应的预定阈值时,执行步骤B;
B、根据所述错误类型执行恢复操作,如果所述恢复操作后IO错误消除,则结束本流程;如果IO错误继续存在,则执行步骤C;
C、将所述IO错误对应的FC端口进行隔断,并将错误类型和被隔离的FC端口标识通知用户。
较佳地,所述错误类型包括:
第一类错误:由于服务器端应用软件/驱动程序引起,或者由于IO压力较大导致存储端处理IO时间过长导致的错误;
第二类错误:外部设备引起的硬件错误;以及
第三类错误:由本地存储端硬件引起的错误。
较佳地,若所述IO错误的错误类型为第一类错误,步骤B所述根据所述错误类型执行恢复操作包括:
关闭IO错误对应的FC端口,并对该FC端口进行延时重启。
较佳地,若所述IO错误的错误类型为第二类错误,步骤B所述根据所述错误类型执行恢复操作包括:
隔离引起IO错误的外部设备,并向用户发送更换外部设备的提示信息。
较佳地,若所述IO错误的错误类型为第三类错误,步骤B所述根据所述错误类型执行恢复操作包括:
获取硬件信号质量信息,对硬件信号质量进行动态调整。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。