【技术实现步骤摘要】
本专利技术涉及故障处理
,特别是涉及一种用于多控制器存储系统的故障处理方法和系统。
技术介绍
目前,在多控制器存储存储系统中,当SCST模块(主机接口层模块)通过从控制器向后端磁盘写入数据时,需要从控制器在接收到SCST模块下发的数据后,先将这些需要写入后端磁盘的数据发送给主控制器,然后由主控制器将这些需要写入的数据写入后端磁盘。然而,在目前的多控制器存储系统中,若主控制器在从控制器向其发送数据的过程中发生宕机,主控制器上的数据传输流程将因为宕机而被终止,致使需要写入的数据无法继续写入后端磁盘。目前,通常通过在多控制器存储系统中设置超时等待处理机制来解决上述问题。设置主控制器在将数据写入后端磁盘后向从控制器发送数据写入反馈,若从控制器将某数据发送给主控制器后,未在预设时间内接收到该数据相对应的数据写入反馈,则向主机重新发送该数据。然而,由于SCST模块持续向从控制器发送数据,该数据也持续由从控制器向主控制器发送,通过在多控制器存储系统中设置超时等待处理机制来解决上述问题,将可能导致先发送的数据由于主控制器宕机未能成功写入磁盘,而后发送的数据被先写入后端磁盘,先发送的数据由于超时重发机制而后于后发送的数据被写入后排磁盘中的情况发生。如此,将可能破坏写入数据的完整性和该多控制器存储系统的稳定性。同时,由于在多控制器存储系统设置的超时等待时间往往较长,一般设置超时等待时间为120秒,因此, ...
【技术保护点】
一种用于多控制器存储系统的故障处理方法,其特征在于,包括:当从控制器向主控制器传输数据时,由HA模块检测所述主控制器是否宕机,若所述HA模块检测到所述主控制器宕机,则向所述从控制器内从MCC通信模块发送异常终止信号;所述从MCC通信模块接收到所述异常终止信号后,调用所述从控制器内从IOM模块停止向所述从MCC通信模块发送数据,并将已发送至所述主控制器但还未被所述主控制器写入后端磁盘的写入失败数据和还未发送至所述主控制器的未发送数据返回所述从IOM模块;所述从IOM模块将所述写入失败数据和所述未发送数据添加至阻塞队列上层,并对SCST模块还未下发的数据进行阻塞;所述SCST模块每隔预设时间间隔对所述阻塞队列中数据按照预设顺序进行下发,直到所述阻塞队列中数据被所述主控制器写入后端磁盘。
【技术特征摘要】
1.一种用于多控制器存储系统的故障处理方法,其特征在于,包括:
当从控制器向主控制器传输数据时,由HA模块检测所述主控制器是否
宕机,若所述HA模块检测到所述主控制器宕机,则向所述从控制器内从MCC
通信模块发送异常终止信号;
所述从MCC通信模块接收到所述异常终止信号后,调用所述从控制器内
从IOM模块停止向所述从MCC通信模块发送数据,并将已发送至所述主控
制器但还未被所述主控制器写入后端磁盘的写入失败数据和还未发送至所述
主控制器的未发送数据返回所述从IOM模块;
所述从IOM模块将所述写入失败数据和所述未发送数据添加至阻塞队列
上层,并对SCST模块还未下发的数据进行阻塞;
所述SCST模块每隔预设时间间隔对所述阻塞队列中数据按照预设顺序
进行下发,直到所述阻塞队列中数据被所述主控制器写入后端磁盘。
2.根据权利要求1所述的故障处理方法,其特征在于,所述从控制器向
主控制器传输数据包括:
所述从控制器内从IOM模块接收所述SCST模块下发的数据,将所述
SCST模块下发的数据发送给所述从控制器内从MCC通信模块;
所述从MCC通信模块接收到所述从IOM模块发送的数据后,将所述从
IOM模块发送的数据发送给主控器内主MCC通信模块。
3.根据权利要求1所述的故障处理方法,其特征在于,
所述故障处理方法还包括:当从控制器向主控制器传输数据时,所述从
控制器内从MCC通信模块将所述写入失败数据记录在第一链表中,将所述还
未发送数据记录在第二链表中;
所述从MCC通信模块将写入失败数据和未发送数据返回所述从IOM模
块包括:通过查询第一链表确定写入失败数据,将所述写入失败数据返回所
述从IMO模块;通过查询第二链表确定未发送数据,将所述未发送数据返回
所述从IMO模块。
4.根据权利要求3所述的故障处理方法,其特征在于,所述从MCC通
信模块将所述写入失败数据记录在第一链表中包括:
所述从MCC通信模块确定已发送至主控制器的发送数据;
根据主控制器在将数据写入后端磁盘后返回的反馈信号,确定已经被主
控制器写入后端磁盘的写入成功数据;
根据所述发送数据和写入成功数据得到已发送至主控制器但还未被主控
制器写入后端磁盘的写入失败数据,将得到的所述写入失败数据记录在第一
链表中。
5.根据权利要求1所述的故障处理方法,其特征在于,
所述从IOM模块包括至少一虚拟卷,通过所述虚拟卷进行数据收发;
所述从MCC通信模块将写入失败数据和还未发送数据返回所述从IOM
模块包括:确定发送各所述写入失败数据的第一虚拟卷,将各所述写入失败
数据分别返回各自相对应的第一虚拟卷,确定发送各所述未发送数据的第二
虚拟卷,将各所述未发送数据分别返回各自相对的第二虚拟卷;
所述从IOM模块将所述写入失败数据和所述未发送数据添加至阻塞队列
上层包括:各所述第一虚拟卷分别将各自对应的写入失败数据添...
【专利技术属性】
技术研发人员:赵鹏,卓保特,
申请(专利权)人:浪潮北京电子信息产业有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。