一种存储集群恢复方法及设备与流程

文档序号:13619754阅读:227来源:国知局

本发明涉及存储技术领域,特别是涉及一种存储集群恢复方法及设备。



背景技术:

随着存储技术的发展,多数存储系统都通过采用多个存储控制器组成存储控制器集群来提高存储系统的性能和稳定性,当集群中某一个控制器节点发生故障时,其它节点能够接替该控制器的工作,使整体系统保持工作,以保证读取/写入(input/output,i/o)不中断。而且,当故障的控制器被替换或修复后,再加入集群时,集群能够自动将该控制器节点恢复成与其它控制器一致,并恢复正常工作。

然而,上面的方案无法解决一种特殊场景。由于集群中所有控制器节点的软件系统都是一致的,而且在运行过程中各节点的状态也是一致的,因而存在一种可能,当集群运行到某一状态或处理某个事件时,在所有控制器的软件系统中触发了同一个缺陷或软件错误(bug),导致所有控制器同时故障。此时所有控制器都无法工作,存储系统的i/o会中断。

因此,如何在多节点软件失效场景下,能够让控制器自动恢复到故障前的状态,并能够自动组成集群,恢复工作,是本领域技术人员亟待解决的技术问题。



技术实现要素:

有鉴于此,本发明的目的在于提供一种存储集群恢复方法及设备,可以提高存储系统在多控制器节点软件失效场景下的恢复能力,以及系统的稳定性和可维护性。其具体方案如下:

一种存储集群恢复方法,包括:

在存储系统进程发生失效导致退出时,判断当前集群中的各控制器节点的状态是否一致;

若不一致,则向各所述控制器节点发送集群恢复事件,启动集群恢复流程,同时自动重启所述存储系统进程。

优选地,在本发明实施例提供的上述存储集群恢复方法中,启动集群恢复流程,具体包括:

将所述存储系统进程重启前遗留的非关键数据清除,只保留集群恢复所需的关键数据;

根据所述关键数据,自动将所述集群恢复到失效前的状态。

优选地,在本发明实施例提供的上述存储集群恢复方法中,启动集群恢复流程,具体还包括:

将各所述控制器节点恢复前未处理的事件丢弃;

同步各所述控制器节点的状态,以使各所述控制器节点都处于同一状态。

优选地,在本发明实施例提供的上述存储集群恢复方法中,自动重启所述存储系统进程,具体包括:

所述存储系统进程进行自动重启,重新加入所述集群,开始i/o处理。

优选地,在本发明实施例提供的上述存储集群恢复方法中,当前集群中的各控制器节点的状态不一致,具体包括:

当前集群中超过半数的控制器节点同时发生软件错误。

本发明实施例还提供了一种存储集群恢复设备,包括:监控模块;

所述监控模块,用于在存储系统进程发生失效导致退出时,判断当前集群中的各控制器节点的状态是否一致;若不一致,则向各所述控制器节点发送集群恢复事件,启动集群恢复流程,同时自动重启所述存储系统进程。

优选地,在本发明实施例提供的上述存储集群恢复设备中,所述监控模块部署在所述集群中的每个所述控制器节点中。

本发明所提供的一种存储集群恢复方法及设备,包括:在存储系统进程发生失效导致退出时,判断当前集群中的各控制器节点的状态是否一致;若不一致,则向各控制器节点发送集群恢复事件,启动集群恢复流程,同时自动重启存储系统进程。本发明在存储系统进程发生失效导致退出时,能够自动重启进程,并智能判断是否需要进入集群恢复流程,提高了存储系统在多控制器节点软件失效场景下的恢复能力,提高了系统的稳定性和可维护性。

附图说明

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

图1为本发明实施例提供的存储集群恢复方法的流程图。

具体实施方式

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

本发明提供一种存储集群恢复方法,如图1所示,包括:

s101、在存储系统进程发生失效导致退出时,判断当前集群中的各控制器节点的状态是否一致;

若不一致,则执行步骤s102;

s102、向各控制器节点发送集群恢复事件,启动集群恢复流程,同时自动重启存储系统进程。

在本发明实施例提供的上述存储集群恢复方法中,首先在存储系统进程发生失效导致退出时,判断集群是否正处于事件处理的关键阶段,即此时软件系统的故障是否导致了当前集群中的各控制器节点的状态不一致;若不一致,则向各控制器节点发送集群恢复事件,启动集群恢复流程,同时自动重启存储系统进程。本发明在存储系统进程发生失效导致退出时,能够自动重启进程,并智能判断是否需要进入集群恢复流程,提高了存储系统在多控制器节点软件失效场景下的恢复能力,提高了系统的稳定性和可维护性

在具体实施时,在本发明实施例提供的上述存储集群恢复方法中,启动集群恢复流程,具体可以包括两个阶段:

第一阶段:将存储系统进程重启前遗留的非关键数据清除,以排除再次发生错误的可能,只保留集群恢复所需的关键数据;根据关键数据,自动将集群恢复到失效前的状态。

第二阶段:将各控制器节点恢复前未处理的事件丢弃;同步各控制器节点的状态,以使各控制器节点都处于同一状态。

针对多节点的软件失效场景,经过上述两个阶段,进入恢复流程后,能够自动恢复关键配置数据,并指导各控制器节点协同工作,发起集群自动恢复,将集群恢复到失效前的状态,有效防止数据丢失。

在具体实施时,在本发明实施例提供的上述存储集群恢复方法中,在恢复完成后,自动重启存储系统进程,具体可以包括:

存储系统进程进行自动重启,重新加入集群,开始i/o处理。

此时的i/o处理为正常的i/o处理。

在具体实施时,在本发明实施例提供的上述存储集群恢复方法中,上述当前集群中的各控制器节点的状态不一致的典型场景可以是当前集群中超过半数的控制器节点同时发生软件错误,导致了集群无法正常工作,无法达到一致的状态。当然,也可以是其它场景,在此不做限定。

基于同一发明构思,本发明实施例还提供了一种存储集群恢复设备,由于该设备解决问题的原理与前述一种存储集群恢复方法相似,因此该设备的实施可以参见存储集群恢复方法的实施,重复之处不再赘述。

在具体实施时,本发明实施例提供的存储集群恢复设备,具体包括:监控模块;

上述监控模块,用于在存储系统进程发生失效导致退出时,判断当前集群中的各控制器节点的状态是否一致;若不一致,则向各控制器节点发送集群恢复事件,启动集群恢复流程,同时自动重启存储系统进程。

在本发明实施例提供的上述存储集群恢复设备中,监控模块只要负责监控和管理存储系统的运行情况,可以自动重启存储系统进程,利用关键配置数据,将集群恢复到失效前的状态,进而恢复正常的i/o处理,提高了存储系统在多控制器节点软件失效场景下的恢复能力,提高了系统的稳定性和可维护性。

在具体实施时,在本发明实施例提供的上述存储集群恢复设备中,监控模块可以具体部署在集群中的每个控制器节点中。这样每个控制器节点中的监控模块都可以尝试重启存储系统进程并发送集群回复事件。

本发明实施例提供的一种存储集群恢复方法及设备,包括:在存储系统进程发生失效导致退出时,判断当前集群中的各控制器节点的状态是否一致;若不一致,则向各控制器节点发送集群恢复事件,启动集群恢复流程,同时自动重启存储系统进程。本发明在存储系统进程发生失效导致退出时,能够自动重启进程,并智能判断是否需要进入集群恢复流程,提高了存储系统在多控制器节点软件失效场景下的恢复能力,提高了系统的稳定性和可维护性。

最后,还需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

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

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