一种双活双控存储系统的冗余链路设计方法及系统的制作方法_2

文档序号:9352768阅读:来源:国知局
例1的流程图;
[0049]图2为本发明一种双活双控存储系统的冗余链路设计方法实施例2的一流程图;
[0050]图3为本发明一种双活双控存储系统的冗余链路设计方法实施例2的另一流程图;
[0051]图4为本发明一种双活双控存储系统的冗余链路设计方法实施例3的流程图;
[0052]图5为本发明一种双活双控存储系统的冗余链路设计系统实施例1的结构框图示意图。
【具体实施方式】
[0053]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0054]本发明的核心是提供一种双活双控存储系统的冗余链路设计方法及系统,以实现多路冗余,保证系统可靠性和业务连续性的目的。
[0055]为了使本技术领域的人员更好地理解本发明方案,下面结合附图和【具体实施方式】对本发明作进一步的详细说明。
[0056]实际应用中,双活双控存储系统中两个控制器之间是通过冗余链路(也称信息通道)从控制角度,分为带内和带外模式,带内模式的信息通道为OS层面使用,由上层应用组装数据格式;带内信息通道保护高速通道和低速通道,高速通道可以使用PCIE、SAS、10GbE、FC等,高速通道用来传输数据信息;低速通道可以使用I2C、串口、IGbE等,低速通道用来传输心跳和配置信息;带外模式的信息通道为硬件逻辑线路,与上层应用无关,但需要系统从OS层面触发。带外通道为高可用控制通道,可以使用GP1、I2C等链路连接到对端节点的CPLD,控制对端节点复位、重启、关机等动作。
[0057]本发明中,为在存储系统运行时,优先选择第一心跳链路和第一数据链路来分别传输心跳信息和数据信息,若出现未响应或异常时,认为链路出故障。基于此,参考图1,示出了本发明一种双活双控存储系统的冗余链路设计方法实施例1的流程图,该方法具体可以包括如下步骤:
[0058]步骤S100、监测第一心跳链路和第一数据链路的工作状态;当监测到第一心跳链路发生故障时,进入步骤SlOl ;
[0059]具体地,监测上述两条链路的工作状态,判断这两条链路是否发生故障,这里发生故障的情况可以是第一心跳链路发生故障,也可以是第一数据链路发生故障,还可以是这两条链路同时发生故障,当然,本实施例中主要针对第一心跳链路发生故障的情况和两条链路同时发生故障进行说明,其它情况在后文阐述。
[0060]存储系统的双节点间,私有控制器信息无需传递给对端控制器;需要冗余的相关数据、服务、心跳等信息,优先新到对端节点,成功返回后再写到本节点,保证信息一致性;双节点间的信息通道是双向的,需冗余的信息需要备份到对方。
[0061]步骤S101、判断第一数据链路是否发生故障,当判定第一数据链路未发生故障时,进入步骤S102,当判定第一数据链路发生故障时(意味着第一心跳链路和第一数据链路均出故障),进入步骤S103 ;
[0062]步骤S102、启动第二心跳链路,并利用第二心跳链路传输心跳信息;
[0063]本发明中,当某条链路发生故障后,启动其它备用的链路并利用这条备用的链路成功地接替发生故障的链路的数据传输工作,比如在步骤S102中,启动第二心跳链路,并利用第二心跳链路正常、成功地传输心跳信息,解决了第一心跳链路发生的故障问题,即成为实现了恢复双活双控存储系统的应用。
[0064]步骤S103、启动第二心跳链路和第二数据链路,并利用第二心跳链路传输心跳信息,利用第二数据链路传输数据信息。
[0065]本发明中,无论是上述提及的第一心跳链路、第二心跳链路,还是第一数据链路和第二数据链路,它们均是从链路传输信息的类型上来区分的,比如,传输心跳信息的链路就叫心跳链路。显然,这是从虚拟的功能角度来看的。在物理实现上,上述各个信息通道(即各链路)可以在机箱内通过高速背板来实现存储系统双节点物理连接,高速背板设计需要满足高速信号线要求;也可以带存储系统机箱外通过线缆和交换设计连接。
[0066]以上技术方案可有效防止某些心跳信号线路异常、通信异常等原因而造成的心跳检测异常,存储系统中控制器之间的通信线路容错性能很好,能满足不同应用环境和网络环境,以此实现了多路冗余,保证了系统可靠性和业务连续性。
[0067]另外,本发明所提供的技术方案技术难度适中,可以推广:利用现有存储系统设备进行改造,在当期存储系统的基础上增加外部链路,然后通过调整软件实现,实施、实现难度较小。
[0068]基于上述本发明实施例针对第一心跳链路发生故障的情况进行说明的技术方案,进一步地,本发明提供了一种双活双控存储系统的冗余链路设计方法实施例2,参考图2,具体地,在步骤S102中启动第二心跳链路之后,还可以包括以下步骤:
[0069]步骤S200、判断第二心跳链路是否启动成功;当判定启动成功时,进入步骤S201,当判定启动失败时,进入步骤S202 ;
[0070]步骤S201、恢复双活双控存储系统的应用;
[0071]步骤S202、启动高可用链路进行链路复位,以恢复双活双控存储系统的应用。
[0072]具体地,启用高可用控制通道,进行对端节点的复位、重启等动作,进一步保证了双控系统的准确性和可靠性。
[0073]同样的思路,在步骤S103中启动第二心跳链路和第二数据链路之后,参考图3,还可以包括以下步骤:
[0074]步骤S300、判断第二心跳链路和第二数据链路是否启动成功;当判定启动成功时,进入步骤S301,当判定启动失败时,进入步骤S302 ;
[0075]步骤S301、恢复双活双控存储系统的应用;
[0076]步骤S302、启动高可用链路进行链路复位,以恢复双活双控存储系统的应用。
[0077]进一步地,针对上述步骤S202和步骤S302中在启动高可用链路进行链路复位之后,还可以判断高可用链路是否复位成功;当判定复位成功时,恢复双活双控存储系统的应用;当判定复位失败时,发出错误提示警告。
[0078]基于上述本发明实施例是针对第一心跳链路发生故障的情况进行说明,这里,针对第一数据链路发生故障,本发明提供了一种双活双控存储系统的冗余链路设计方法实施例3,具体内容请参考图4:
[0079]步骤S400、当监测到第一数据链路发生故障时,进入步骤S401 ;
[0080]具体地,同样是监测第一心跳链路和第一数据链路的工作状态;在监测到第一心跳链路发生故障之前,监测到第一数据链路发生故障,则进入步骤S401。当然,实际应用中,监测某条链路是否发生故障是不会存在先后顺序的,这里仅仅是为了本领域技术人员能够更好地理解本发明提供的技术方案举得例子,并不做严格要求。
[0081]步骤S401、判断第一心跳链路是否发生故障,当判定第一心跳链路未发生故障时,进入步骤S402,当判定第一心跳链路未发生故障时,进入步骤S403 ;
[0082]步骤S402、启动第二数据链路,并利用第二数据链路传输数据信息;
[0083]步骤S403、启动第二心跳链路和第二数据链路,并利用第二心跳链路传输心跳信息,利用第二数据链路传输数据信息。
[0084]与上述本发明一种双活双控存储系统的冗余链路设计方法实施例1相对应,本发明还提供了一种双活双控存储系统的冗余链路设计系统实施例1,该系统500可以包括数据传输单元,用于利用第一心跳链路传输心跳信息及利用第一数据链路传输数据信息;参考图5,该系统500还可以包括如下内容:
[0085]故障监测单元501,用于监测第一心跳链路和第一数据链路的工作状态;
[0086]第一链路启动单元502,用于当监测到第一心跳链路发生故障时,判断第一数据链路是否发生故障,当判定第一数据链路未发生故障时,启动第二心跳链路,并使数据传输单元利用第二心跳链路传输心跳信息
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1