公开/公告号CN105072029A
专利类型发明专利
公开/公告日2015-11-18
原文格式PDF
申请/专利权人 浪潮(北京)电子信息产业有限公司;
申请/专利号CN201510547703.0
发明设计人 刘刚;
申请日2015-08-31
分类号H04L12/707(20130101);H04L12/26(20060101);
代理机构11227 北京集佳知识产权代理有限公司;
代理人罗满
地址 100085 北京市海淀区上地信息路2号2-1号C栋1层
入库时间 2023-12-18 12:02:04
法律状态公告日
法律状态信息
法律状态
2018-05-04
授权
授权
2015-12-16
实质审查的生效 IPC(主分类):H04L12/707 申请日:20150831
实质审查的生效
2015-11-18
公开
公开
技术领域
本发明涉及双活双控存储系统技术领域,特别是涉及一种双活双 控存储系统的冗余链路设计方法及系统。
背景技术
当今,随着信息技术的飞速发展,存储系统在IT系统的基石作用 更明显,在多数存储系统中,一般存在2个节点(即两个控制器),两 个节点间需要进行冗余交互。
目前常用的存储系统是双活双控存储系统,其工作模式为双控双 活工作模式(又被成为Active-Active工作模式),即两个控制器都处 于激活状态,可并行处理来自应用服务器的I/O请求,一旦某个控制 器出现故障或离线,另一个控制器将及时接管其工作,且不影响自己 现有的任务。该工作模式在通过互为冗余备份来确保系统高可靠性的 同时,还具有均衡业务量、充分利用资源和提升系统性能等诸多优点。
实际应用中,双活双控存储系统中两个控制器之间是通过冗余链 路实现对控制器信息的冗余备份。其中,控制器信息为双控冗余所需 的必备资源,包含数据信息、心跳信息、配置信息等必须共享的信息。
现有技术中,双活双控存储系统的冗余链路设计主要有2种:一 是单独的机箱外接链路,通过线缆来实现双节点的互连,实现数据共 享链路。但此种方式无法实现冗余,且比较容易受到外部环境的干扰。 二是在机箱内使用共享背板,实现部分数据的共享。但此时无法实现 服务业务的共享冗余。
针对以上问题,亟需一种双活双控存储系统的冗余链路设计方 法,以实现多路冗余,保证系统可靠性和业务连续性。
发明内容
有鉴于此,本发明提供了一种双活双控存储系统的冗余链路设计 方法及系统,以实现多路冗余,保证系统可靠性和业务连续性的目的。
为解决上述技术问题,本发明提供一种双活双控存储系统的冗余 链路设计方法,利用第一心跳链路传输心跳信息及利用第一数据链路 传输数据信息,该方法包括:
监测所述第一心跳链路和所述第一数据链路的工作状态;
当监测到所述第一心跳链路发生故障时,判断所述第一数据链路 是否发生故障,当判定所述第一数据链路未发生故障时,启动第二心 跳链路,并利用所述第二心跳链路传输所述心跳信息;
当判定所述第一数据链路发生故障时,启动所述第二心跳链路和 第二数据链路,并利用所述第二心跳链路传输所述心跳信息,利用第 二数据链路传输所述数据信息。
上述方法中,优选的,在所述监测到所述第一心跳链路发生故障 之前,还包括:
当监测到所述第一数据链路发生故障时,判断所述第一心跳链路 是否发生故障,当判定所述第一心跳链路未发生故障时,启动第二数 据链路,并利用所述第二数据链路传输所述数据信息;
当判定所述第一心跳链路发生故障时,启动所述第二心跳链路和 所述第二数据链路,并利用所述第二心跳链路传输所述心跳信息,利 用第二数据链路传输所述数据信息。
上述方法中,优选的,在所述启动第二心跳链路之后,还包括:
判断所述第二心跳链路是否启动成功;
当判定启动成功时,恢复所述双活双控存储系统的应用;
当判定启动失败时,启动高可用链路进行链路复位,以恢复所述 双活双控存储系统的应用。
上述方法中,优选的,在所述启动所述第二心跳链路和第二数据 链路之后,还包括:
判断所述第二心跳链路和第二数据链路是否启动成功;
当判定启动成功时,恢复所述双活双控存储系统的应用;
当判定启动失败时,启动高可用链路进行链路复位,以恢复所述 双活双控存储系统的应用。
上述方法中,优选的,在所述启动高可用链路进行链路复位之后, 还包括:
判断所述高可用链路是否复位成功;
当判定复位成功时,恢复所述双活双控存储系统的应用;
当判定复位失败时,发出错误提示警告。
本发明还提供了一种双活双控存储系统的冗余链路设计系统,包 括数据传输单元,用于利用第一心跳链路传输心跳信息及利用第一数 据链路传输数据信息;该系统还包括:
故障监测单元,用于监测所述第一心跳链路和所述第一数据链路 的工作状态;
第一链路启动单元,用于当监测到所述第一心跳链路发生故障 时,判断所述第一数据链路是否发生故障,当判定所述第一数据链路 未发生故障时,启动第二心跳链路,并使所述数据传输单元利用所述 第二心跳链路传输所述心跳信息;
第二链路启动单元,用于当判定所述第一数据链路发生故障时, 启动所述第二心跳链路和第二数据链路,并使所述数据传输单元利用 所述第二心跳链路传输所述心跳信息及利用第二数据链路传输所述数 据信息。
上述系统中,优选的,还包括:
第三链路启动单元,用于当监测到所述第一数据链路发生故障 时,判断所述第一心跳链路是否发生故障,当判定所述第一心跳链路 未发生故障时,启动第二数据链路,并利用所述第二数据链路传输所 述数据信息;
第四链路启动单元,用于当判定所述第一心跳链路发生故障时, 启动所述第二心跳链路和所述第二数据链路,并利用所述第二心跳链 路传输所述心跳信息,利用第二数据链路传输所述数据信息。
上述系统中,优选的,还包括:
第一判断单元,用于在所述启动第二心跳链路之后,判断所述第 二心跳链路是否启动成功;
第一恢复单元,用于当判定启动成功时,恢复所述双活双控存储 系统的应用;
第一高可用链路启动单元,用于当判定启动失败时,启动高可用 链路进行链路复位,以恢复所述双活双控存储系统的应用。
上述系统中,优选的,还包括:
第二判断单元,用于在所述启动所述第二心跳链路和第二数据链 路之后,判断所述第二心跳链路和第二数据链路是否启动成功;
第二恢复单元,用于当判定启动成功时,恢复所述双活双控存储 系统的应用;
第二高可用链路启动单元,用于当判定启动失败时,启动高可用 链路进行链路复位,以恢复所述双活双控存储系统的应用。
上述系统中,优选的,还包括:
第三判断单元,用于在所述启动高可用链路进行链路复位之后, 判断所述高可用链路是否复位成功;
第三恢复单元,用于当判定复位成功时,恢复所述双活双控存储 系统的应用;
错误警告单元,用于当判定复位失败时,发出错误提示警告。
以上本发明提供的双活双控存储系统的冗余链路设计方法及系 统中,存储系统运行时,优先选用第一心跳链路传输心跳信息及第一 数据链路传输数据信息,基于此,首先监测第一心跳链路和第一数据 链路的工作状态;当监测到第一心跳链路发生故障时,判断第一数据 链路是否发生故障,当判定第一数据链路未发生故障时,启动第二心 跳链路,并利用第二心跳链路传输所述心跳信息;当判定所述第一数 据链路发生故障时,启动第二心跳链路和第二数据链路,并利用第二 心跳链路传输心跳信息,利用第二数据链路传输数据信息。以上技术 方案可有效防止某些心跳信号线路异常、通信异常等原因而造成的心 跳检测异常,存储系统中控制器之间的通信线路容错性能很好,能满 足不同应用环境和网络环境,以此实现了多路冗余,保证了系统可靠 性和业务连续性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面 将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而 易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通 技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附 图获得其他的附图。
图1为本发明一种双活双控存储系统的冗余链路设计方法实施例 1的流程图;
图2为本发明一种双活双控存储系统的冗余链路设计方法实施例 2的一流程图;
图3为本发明一种双活双控存储系统的冗余链路设计方法实施例 2的另一流程图;
图4为本发明一种双活双控存储系统的冗余链路设计方法实施例 3的流程图;
图5为本发明一种双活双控存储系统的冗余链路设计系统实施例 1的结构框图示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方 案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部 分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普 通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例, 都属于本发明保护的范围。
本发明的核心是提供一种双活双控存储系统的冗余链路设计方 法及系统,以实现多路冗余,保证系统可靠性和业务连续性的目的。
为了使本技术领域的人员更好地理解本发明方案,下面结合附图 和具体实施方式对本发明作进一步的详细说明。
实际应用中,双活双控存储系统中两个控制器之间是通过冗余链 路(也称信息通道)从控制角度,分为带内和带外模式,带内模式的 信息通道为OS层面使用,由上层应用组装数据格式;带内信息通道 保护高速通道和低速通道,高速通道可以使用PCIE、SAS、10GbE、 FC等,高速通道用来传输数据信息;低速通道可以使用I2C、串口、 1GbE等,低速通道用来传输心跳和配置信息;带外模式的信息通道 为硬件逻辑线路,与上层应用无关,但需要系统从OS层面触发。带 外通道为高可用控制通道,可以使用GPIO、I2C等链路连接到对端节 点的CPLD,控制对端节点复位、重启、关机等动作。
本发明中,为在存储系统运行时,优先选择第一心跳链路和第一 数据链路来分别传输心跳信息和数据信息,若出现未响应或异常时, 认为链路出故障。基于此,参考图1,示出了本发明一种双活双控存 储系统的冗余链路设计方法实施例1的流程图,该方法具体可以包括 如下步骤:
步骤S100、监测第一心跳链路和第一数据链路的工作状态;当监 测到第一心跳链路发生故障时,进入步骤S101;
具体地,监测上述两条链路的工作状态,判断这两条链路是否发 生故障,这里发生故障的情况可以是第一心跳链路发生故障,也可以 是第一数据链路发生故障,还可以是这两条链路同时发生故障,当然, 本实施例中主要针对第一心跳链路发生故障的情况和两条链路同时发 生故障进行说明,其它情况在后文阐述。
存储系统的双节点间,私有控制器信息无需传递给对端控制器; 需要冗余的相关数据、服务、心跳等信息,优先新到对端节点,成功 返回后再写到本节点,保证信息一致性;双节点间的信息通道是双向 的,需冗余的信息需要备份到对方。
步骤S101、判断第一数据链路是否发生故障,当判定第一数据链 路未发生故障时,进入步骤S102,当判定第一数据链路发生故障时(意 味着第一心跳链路和第一数据链路均出故障),进入步骤S103;
步骤S102、启动第二心跳链路,并利用第二心跳链路传输心跳信 息;
本发明中,当某条链路发生故障后,启动其它备用的链路并利用 这条备用的链路成功地接替发生故障的链路的数据传输工作,比如在 步骤S102中,启动第二心跳链路,并利用第二心跳链路正常、成功 地传输心跳信息,解决了第一心跳链路发生的故障问题,即成为实现 了恢复双活双控存储系统的应用。
步骤S103、启动第二心跳链路和第二数据链路,并利用第二心跳 链路传输心跳信息,利用第二数据链路传输数据信息。
本发明中,无论是上述提及的第一心跳链路、第二心跳链路,还 是第一数据链路和第二数据链路,它们均是从链路传输信息的类型上 来区分的,比如,传输心跳信息的链路就叫心跳链路。显然,这是从 虚拟的功能角度来看的。在物理实现上,上述各个信息通道(即各链 路)可以在机箱内通过高速背板来实现存储系统双节点物理连接,高 速背板设计需要满足高速信号线要求;也可以带存储系统机箱外通过 线缆和交换设计连接。
以上技术方案可有效防止某些心跳信号线路异常、通信异常等原 因而造成的心跳检测异常,存储系统中控制器之间的通信线路容错性 能很好,能满足不同应用环境和网络环境,以此实现了多路冗余,保 证了系统可靠性和业务连续性。
另外,本发明所提供的技术方案技术难度适中,可以推广:利用 现有存储系统设备进行改造,在当期存储系统的基础上增加外部链路, 然后通过调整软件实现,实施、实现难度较小。
基于上述本发明实施例针对第一心跳链路发生故障的情况进行 说明的技术方案,进一步地,本发明提供了一种双活双控存储系统的 冗余链路设计方法实施例2,参考图2,具体地,在步骤S102中启动 第二心跳链路之后,还可以包括以下步骤:
步骤S200、判断第二心跳链路是否启动成功;当判定启动成功时, 进入步骤S201,当判定启动失败时,进入步骤S202;
步骤S201、恢复双活双控存储系统的应用;
步骤S202、启动高可用链路进行链路复位,以恢复双活双控存储 系统的应用。
具体地,启用高可用控制通道,进行对端节点的复位、重启等动 作,进一步保证了双控系统的准确性和可靠性。
同样的思路,在步骤S103中启动第二心跳链路和第二数据链路 之后,参考图3,还可以包括以下步骤:
步骤S300、判断第二心跳链路和第二数据链路是否启动成功;当 判定启动成功时,进入步骤S301,当判定启动失败时,进入步骤S302;
步骤S301、恢复双活双控存储系统的应用;
步骤S302、启动高可用链路进行链路复位,以恢复双活双控存储 系统的应用。
进一步地,针对上述步骤S202和步骤S302中在启动高可用链路 进行链路复位之后,还可以判断高可用链路是否复位成功;当判定复 位成功时,恢复双活双控存储系统的应用;当判定复位失败时,发出 错误提示警告。
基于上述本发明实施例是针对第一心跳链路发生故障的情况进 行说明,这里,针对第一数据链路发生故障,本发明提供了一种双活 双控存储系统的冗余链路设计方法实施例3,具体内容请参考图4:
步骤S400、当监测到第一数据链路发生故障时,进入步骤S401;
具体地,同样是监测第一心跳链路和第一数据链路的工作状态; 在监测到第一心跳链路发生故障之前,监测到第一数据链路发生故障, 则进入步骤S401。当然,实际应用中,监测某条链路是否发生故障是 不会存在先后顺序的,这里仅仅是为了本领域技术人员能够更好地理 解本发明提供的技术方案举得例子,并不做严格要求。
步骤S401、判断第一心跳链路是否发生故障,当判定第一心跳链 路未发生故障时,进入步骤S402,当判定第一心跳链路未发生故障时, 进入步骤S403;
步骤S402、启动第二数据链路,并利用第二数据链路传输数据信 息;
步骤S403、启动第二心跳链路和第二数据链路,并利用第二心跳 链路传输心跳信息,利用第二数据链路传输数据信息。
与上述本发明一种双活双控存储系统的冗余链路设计方法实施 例1相对应,本发明还提供了一种双活双控存储系统的冗余链路设计 系统实施例1,该系统500可以包括数据传输单元,用于利用第一心 跳链路传输心跳信息及利用第一数据链路传输数据信息;参考图5, 该系统500还可以包括如下内容:
故障监测单元501,用于监测第一心跳链路和第一数据链路的工 作状态;
第一链路启动单元502,用于当监测到第一心跳链路发生故障时, 判断第一数据链路是否发生故障,当判定第一数据链路未发生故障时, 启动第二心跳链路,并使数据传输单元利用第二心跳链路传输心跳信 息;
第二链路启动单元503,用于当判定第一数据链路发生故障时, 启动第二心跳链路和第二数据链路,并使数据传输单元利用第二心跳 链路传输心跳信息及利用第二数据链路传输数据信息。
本发明中,上述系统500还可以包括:
第三链路启动单元,用于当监测到第一数据链路发生故障时,判 断第一心跳链路是否发生故障,当判定第一心跳链路未发生故障时, 启动第二数据链路,并利用第二数据链路传输数据信息;
第四链路启动单元,用于当判定第一心跳链路发生故障时,启动 第二心跳链路和第二数据链路,并利用第二心跳链路传输心跳信息, 利用第二数据链路传输数据信息。
本发明中,上述系统500还可以包括第一判断单元,用于在启动 第二心跳链路之后,判断第二心跳链路是否启动成功;
第一恢复单元,用于当判定启动成功时,恢复双活双控存储系统 的应用;
第一高可用链路启动单元,用于当判定启动失败时,启动高可用 链路进行链路复位,以恢复双活双控存储系统的应用。
本发明中,上述系统500还可以包括:
第二判断单元,用于在启动第二心跳链路和第二数据链路之后, 判断第二心跳链路和第二数据链路是否启动成功;
第二恢复单元,用于当判定启动成功时,恢复双活双控存储系统 的应用;
第二高可用链路启动单元,用于当判定启动失败时,启动高可用 链路进行链路复位,以恢复双活双控存储系统的应用。
本发明中,上述系统500还可以包括:
第三判断单元,用于在启动高可用链路进行链路复位之后,判断 高可用链路是否复位成功;
第三恢复单元,用于当判定复位成功时,恢复双活双控存储系统 的应用;
错误警告单元,用于当判定复位失败时,发出错误提示警告。
需要说明的是,本说明书中的各个实施例均采用递进的方式描 述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施 例之间相同相似的部分互相参见即可。对于系统类实施例而言,由于 其与方法实施例基本相似,所以描述得比较简单,相关之处参见方法 实施例的部分说明即可。
以上对本发明所提供的一种双活双控存储系统的冗余链路设计 方法及系统进行了详细介绍。本文中应用了具体个例对本发明的原理 及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明 的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来 说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和 修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
机译: 考虑存储系统的功率特性方法和存储系统计算系统的存储系统设计方法
机译: 双控制器存储系统对日志元数据自动恢复的系统和方法
机译: 用于改善双控制器存储系统中异步复制性能的系统和方法