存储系统互联方法及装置制造方法
【专利摘要】本发明提供一种存储系统互联方法及装置,第一处理器与第二节点的第二处理器连接获取第二节点的第二处理器的心跳信号,并根据心跳信号判断第二节点是否发生故障;当第一处理器根据心跳信号判断第二节点发生故障后,第一处理器通过与第二节点之间的第一互联硬盘通道访问第二节点的至少一个第二硬盘单元。实现了在第二节点出现故障时接管第二节点的第二硬盘单元,从而在不浪费第二节点资源的前提下,保证了第二硬盘单元中数据的正常使用。
【专利说明】存储系统互联方法及装置
【技术领域】
[0001]本发明涉及通信技术,尤其涉及一种存储系统互联方法及装置。
【背景技术】
[0002]在当前的大数据时代,分布式存储系统通过把数据分散的存储在多个节点上,对外呈现统一的访问空间。每个节点既是提供容量的存储,又是支持前端访问的机头。当节点达到一定数量以后,其性能和容量将远远超过传统的存储系统,同时提供更高的可靠性和可扩展性。
[0003]在分布式存储系统中,一般采用单控存储服务器,如果单节点存储服务器出现故障失效,那么此节点中的硬盘将无法访问,严重降低数据的可用性。因此,通过软件或硬件的方法提高数据的可用性,在大容量节点将变得非常有意义。图1为现有技术中分布式节点示意图,如图1所示,节点I采用标准X86服务器,其主要由主板10、背板11、硬盘单元12组成。其中主板10的CPUlOl通过PCIE接口与SAS控制器102连接,串行小型计算机系统接口(Serial Attached Small Computer System Interface,简称:SAS)控制器 102输出SAS接口,并通过电缆或接插件的方式与背板连接11。背板通过SAS扩展器110 (SASExpander)扩展出系统所需数量的SAS通道,硬盘单元12通过接插件与背板11连接。现有技术中的节点都采用节点I的结构,节点之间的硬盘访问通道是完全独立的,所以当多个节点中某一个节点故障时,那么该节点内的所有硬盘的数据将无法访问。针对节点失效的问题,现有技术中在分布式存储系统中一般通过上层软件手段保证数据更高的可用性。比如,在业务数据写入时通过纠删码(Erasure Codes)或镜像算法(Mirror)生成冗余数据,在节点故障时再通过重构算法把数据恢复出来。
[0004]但是,采用现有技术时,往往会造成大容量节点的重构开销太大。目前大容量节点的容量大概是100TB?200TB之间,通常ITB数据的重构时间为I个小时,那么一个大容量节点的数据恢复时间将达到100小时以上。并且会降低硬盘空间的有效利用率。例如,在某些应用场景(如数据备份)需要在节点间做数据镜像,那么空间的有效利用率将降低50%,间接导致单位容量成本的上升以及容量规格的下降。
【发明内容】
[0005]本发明提供一种存储系统互联方法及装置,用于在不降低节点资源利用率的前提下,在一个节点发生故障时保证该节点的硬盘单元依然能够被访问。
[0006]本发明的第一方面是提供一种节点,包括:第一处理器;
[0007]所述第一处理器与第二节点的第二处理器连接,用于获取所述第二节点的第二处理器的心跳信号,并根据所述心跳信号判断所述第二节点是否发生故障;
[0008]所述第一处理器,还用于当所述第一处理器根据所述心跳信号判断所述第二节点发生故障后,通过与所述第二节点之间的第一互联硬盘通道访问所述第二节点的至少一个
第二硬盘单元。[0009]在第一方面的第一种可能的实现方式中,所述第一互联硬盘通道为所述第一节点的第一串行小型计算机系统接口 SAS控制器与所述第二节点的第二 SAS扩展器之间的通道;
[0010]所述第一节点的第一 SAS控制器,用于对所述第一处理器向所述第二节点的至少一个第二硬盘单元发送的访问请求进行协议转化,以使所述第二节点的至少一个第二硬盘单元接收到所述访问请求后能够进行响应,以及对所述第二节点的第二硬盘单元向所述第一处理器发送的响应消息进行协议转化,以使所述第一处理器根据所述响应消息对所述第二节点的至少一个第二硬盘单元进行读写操作。
[0011]在第一方面的第二种可能的实现方式中,所述第一互联硬盘通道为第一节点的第一串行小型计算机系统接口 SAS控制器、所述第一节点的第一 SAS扩展器以及所述第二节点的第二 SAS扩展器之间的通道;
[0012]所述第一节点的第一 SAS控制器,用于对所述第一处理器向所述第二节点的第二硬盘单元发送的访问请求进行协议转化,以使所述第二节点的第二硬盘单元接收到所述访问请求后能够进行响应,以及对所述第二节点的第二硬盘单元向所述第一处理器发送的响应消息进行协议转化,以使所述第一处理器根据所述响应消息对所述第二节点的第二硬盘单元进行读写操作;
[0013]所述第一节点的第一 SAS扩展器,用于与所述第二节点的第二 SAS扩展器连接。
[0014]在第一方面的第三种可能的实现方式中,,所述第一互联硬盘通道为所述第一节点的第三串行小型计算机系统接口 SAS控制器与所述第二节点的第二 SAS扩展器连之间的通道;
[0015]所述第一节点的第三SAS控制器,用于对所述第一处理器向所述第二节点的至少一个第二硬盘单元发送的访问请求进行协议转化,以使所述第二节点的至少一个第二硬盘单元接收到所述访问请求后能够进行响应,以及对所述第二节点的至少一个第二硬盘单元向所述第一处理器发送的响应消息进行协议转化,以使所述第一处理器根据所述响应消息对所述第二节点的至少一个第二硬盘单元进行读写操作。
[0016]结合第一方面的上述各个可能的实现方式,在第一方面的第四种可能的实现方式中,所述第一处理器,还用于当第一节点发生故障时,通过心跳信号使所述第二节点的第二处理器获知所述第一节点发生故障;
[0017]第一节点的至少一个第一硬盘单元通过第二互联硬盘通道与第二节点的第二处理器连接,所述第一处理器通过心跳信号使所述第二节点的第二处理器获知所述第一节点发生故障后,以使所述第二节点的第二处理器通过与所述第一节点之间的所述第二互联硬盘通道访问所述第一节点的至少一个第一硬盘单元;
[0018]所述第一节点的至少一个第一硬盘单元,用于存储数据。
[0019]结合第一方面的第四种可能的实现方式,在第一方面的第五种可能的实现方式中,所述第二互联硬盘通道为所述第一节点的第一 SAS扩展器与所述第二节点的第二 SAS控制器之间的通道;
[0020]所述第一节点的第一 SAS扩展器,用于将所述第二互联硬盘通道扩展至所述第一节点的至少一个第一硬盘单元。
[0021]结合第一方面的第四种可能的实现方式,在第一方面的第六种可能的实现方式中,所述第二互联硬盘通道为所述第一节点的第一 SAS扩展器、所述第二节点的第二 SAS控制器以及所述第二节点的第二 SAS扩展器之间的通道;
[0022]所述第一节点的第一 SAS扩展器,用于将所述第二互联硬盘通道扩展至所述第一节点的至少一个第一硬盘单元。
[0023]结合第一方面的第四种可能的实现方式,在第一方面的第七种可能的实现方式中,所述第二互联硬盘通道为所述第一节点的第一 SAS扩展器与第二节点的第四SAS控制器之间的通道;
[0024]所述第一节点的第一 SAS扩展器,用于将所述第二互联硬盘通道扩展至所述第一节点的至少一个第一硬盘单元。
[0025]结合第一方面以及第一方面的上述各个可能的实现方式,在第一方面的第八种可能的实现方式中,所述第一处理器与本地硬盘通道连接,用于通过所述本地硬盘通道访问所述第一硬盘单元。
[0026]结合第一方面的第八种可能的实现方式,在第一方面的第九种可能的实现方式中,所述本地硬盘通道为所述第一节点的第一 SAS控制器与所述第一节点的第一 SAS扩展器之间的通道;
[0027]所述第一节点的第一 SAS控制器,用于对所述第一处理器向所述第一节点的第一硬盘单元发送的访问请求进行协议转化,以使所述第一节点的第一硬盘单元接收到所述访问请求后能够进行响应,以及对所述第一节点的第一硬盘单元向所述第一处理器发送的响应消息进行协议转化,以使所述第一处理器根据所述响应消息对所述第一节点的第一硬盘单元进行读写操作;
[0028]所述第一节点的第一 SAS扩展器,用于将所述本地硬盘通道扩展至至少一个所述
第一硬盘单元。
[0029]结合第一方面以及第一方面的上述各个可能的实现方式,在第一方面的第十种可能的实现方式中,所述第一处理器,还用于进行硬盘发现操作,以发现所述第二节点的第二硬盘单元;
[0030]所述第一处理器,还用于建立SAS拓扑结构,所述SAS拓扑结构包含所述第一互联硬盘通道以及所述本地硬盘通道。
[0031]结合第一方面以及第一方面的上述各个可能的实现方式,在第一方面的第十一种可能的实现方式中,所述第一处理器,还用于在根据所述心跳信号判断所述第二节点发生故障后,等待所述第二节点的至少一个第二硬盘单元完成当前命令,则通过所述第一互联硬盘通道访问所述第二节点的至少一个第二硬盘单元;
[0032]或者,在根据所述心跳信号判断所述第二节点发生故障后,清除STP连接包含的所述第二节点的第二 SAS控制器与所述第二节点的至少一个第二硬盘节点的关联关系,并建立所述第一节点的第一 SAS控制器与所述第二节点的至少一个第二硬盘节点的关联关系,通过所述第一互联硬盘通道访问所述第二节点的至少一个第二硬盘单元。
[0033]结合第一方面以及第一方面的上述各个可能的实现方式,在第一方面的第十二种可能的实现方式中,所述第一节点的第一 SAS控制器与所述第一处理器设置于所述第一节点的主板上;所述第一节点的第一 SAS扩展器设置于所述第一节点的背板上;或者,
[0034]所述第一节点的第一 SAS控制器、所述第一节点的第三SAS控制器以及所述第一处理器设置于所述第一节点的主板上,所述第一节点的第一 SAS扩展器设置于所述第一节点的SAS扩展板上;
[0035]所述第一节点的系统电源、所述第一节点的风扇控制器以及所述第一节点的监控模块设置于所述第一节点的背板上;或者,
[0036]所述第一节点的系统电源、所述第一节点的风扇控制器以及所述第一节点的监控模块设置于所述第一节点的所述SAS扩展器上;
[0037]其中,所述第一节点的系统电源,用于为所述第一节点的第一 SAS控制器、所述第一处理器、所述第一节点的第一 SAS扩展器、所述第一节点的第三SAS控制器以及所述第一节点的第一硬盘单元提供电源;
[0038]所述第一节点的风扇控制器,用于控制风扇对所述第一节点的第一 SAS控制器、所述第一处理器、所述第一节点的第一 SAS扩展器、所述第一节点的第三SAS控制器以及所述第一节点的第一硬盘单元进行散热;
[0039]所述第一节点的监控模块,用于控制所述第一节点的系统电源、所述第一节点的风扇控制器,以及进行温度监控。
[0040]本发明的第二方面是提供一种存储系统互联方法,包括:
[0041]获取所述第二节点的第二处理器的心跳信号,并根据所述心跳信号判断所述第二节点是否发生故障;
[0042]若所述第二节点发生故障,则通过所述第一互联硬盘通道访问所述第二节点的至少一个第二硬盘单元。
[0043]在第二方面的第一种可能的实现方式中,所述通过所述第一互联硬盘通道访问所述第二节点的至少一个第二硬盘单元包括:
[0044]向所述第二节点的至少一个第二硬盘单元发送访问请求;
[0045]对所述访问请求进行协议转化,以使所述第二节点的至少一个第二硬盘单元接收到所述访问请求后能够进行响应;
[0046]接收所述第二节点的第二硬盘单元发送的响应消息;
[0047]对所述响应消息进行协议转化;
[0048]根据所述响应消息对所述第二节点的至少一个第二硬盘单元进行读写操作。
[0049]结合第二方面以及第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,还包括:
[0050]当第一节点发生故障时,通过心跳信号使所述第二节点的第二处理器获知所述第一节点发生故障;
[0051]当所述第二节点的第二处理器接收到所述心跳信号,并获知所述第一节点发生故障时,则允许所述第二节点的第二处理器通过所述第二互联硬盘通道访问所述第一节点的至少一个第一硬盘单元。
[0052]结合第二方面的第二种可能的实现方式,在第二方面的第三种可能的实现方式中,所述允许所述第二节点的第二处理器通过所述第二互联硬盘通道访问所述第一节点的至少一个第一硬盘单元,包括:
[0053]接收所述第二节点的第二处理器向所述第一节点的至少一个第一硬盘单元发送的访问请求;[0054]对所述访问请求进行协议转化,以使所述第一节点的至少一个第一硬盘单元接收到所述访问请求后能够进行响应;
[0055]接收所述第一节点的至少一个第一硬盘单元向所述第二节点的第二处理器发送的响应消息;
[0056]对所述响应消息进行协议转化,以使所述第二节点的第二处理器根据所述响应消息对所述第一节点的至少一个第一硬盘单元进行读写操作。
[0057]结合第二方面以及第二方面的上述各个可能的实现方式,在第二方面的第四种可能的实现方式中,还包括:通过所述本地硬盘通道访问所述第一硬盘单元。
[0058]结合第二方面的第四种可能的实现方式,在第二方面的第五种可能的实现方式中,通过所述本地硬盘通道访问所述第一硬盘单元,包括:
[0059]向所述第一节点的第一硬盘单元发送访问请求;
[0060]将所述访问请求进行协议转化,以使所述第一节点的第一硬盘单元接收到所述访问请求后能够进行响应;
[0061]接收所述第一节点的第一硬盘单元发送的响应消息;
[0062]对所述响应消息进行协议转化,以使所述第一处理器根据所述响应消息对所述第
一节点的第一硬盘单元进行读写操作。
[0063]结合第二方面以及第二方面的上述各个可能的实现方式,在第二方面的第六种可能的实现方式中,进行硬盘发现操作,以发现所述第二节点的第二硬盘单元;
[0064]建立串行小型计算机系统接口 SAS拓扑结构,所述SAS拓扑结构包含所述第一互联硬盘通道以及所述本地硬盘通道。
[0065]结合第二方面以及第二方面的上述各个可能的实现方式,在第二方面的第七种可能的实现方式中,所述根据所述心跳信号判断所述第二节点发生故障,则通过所述第一互联硬盘通道访问所述第二节点的至少一个第二硬盘单元,包括
[0066]在根据所述心跳信号判断所述第二节点发生故障后,等待所述第二节点的第二硬盘单元完成当前命令,则通过所述第一互联硬盘通道访问所述第二节点的第二硬盘单元;
[0067]或者,在根据所述心跳信号判断所述第二节点发生故障后,清除STP连接包含的所述第二节点的第二 SAS控制器与所述第二节点的第二硬盘节点的关联关系,并建立所述第一节点的第一 SAS控制器与所述第二节点的第二硬盘节点的关联关系,通过所述第一互联硬盘通道访问所述第二节点的第二硬盘单元。
[0068]本发明实施例提供的存储系统互联方法及装置,其中,通过该节点的第一处理器与第二节点的第二处理器连接,该第一处理器获取第二节点的第二处理器的心跳信号,并根据心跳信号判断第二节点是否发生故障,第一处理器通过第一互联硬盘通道与第二节点的至少一个第二硬盘单元连接,当第一处理器根据心跳信号判断第二节点发生故障后,通过第一互联硬盘通道访问第二节点的至少一个第二硬盘单元,实现了在第二节点出现故障时接管第二节点的第二硬盘单元,从而在不浪费第二节点资源的前提下,保证了第二硬盘单元中数据的正常使用。
【专利附图】
【附图说明】
[0069]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图做一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0070]图1为现有技术中分布式节点示意图;
[0071]图2为本发明实施例一提供的节点间的连接示意图;
[0072]图3为本发明实施例二提供的节点间的连接示意图;
[0073]图4为本发明实施例三提供的节点间的连接示意图;
[0074]图5为本发明实施例四提供的节点间的连接示意图;
[0075]图6为本发明实施例九提供的存储系统互联方法的流程示意图;
[0076]图7为本发明实施例十提供的存储系统互联方法的流程示意图;
[0077]图8为本发明实施例十一提供的存储系统互联方法的流程示意图。
【具体实施方式】
[0078]为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0079]本发明的个各实施例通过底层硬件提供节点之间的硬盘SAS互联通道以及心跳检测通道。在正常工作时,一个节点的处理器仅访问该节点内的硬盘,同时通过心跳信号检测对端节点的健康状态。当发现对端节点故障时,本地节点将通过串行小型计算机系统接口(Serial Attached Small Computer System Interface,简称:SAS)互联通道接管故障节点硬盘,保证失效节点的硬盘数据继续可以访问。通过这种方式,相邻节点在底层硬件层次就存在一个“互助”关系,这就避免了通过上层软件恢复数据的巨大计算开销以及空间开销。下面通过具体的实施例对本发明的方案进行详细说明。
[0080]图2为本发明实施例一提供的节点间的连接示意图,需要说明的是图2中所示第一节点20,即为本发明实施例一的执行主体。下面参照图2对第一节点20进行详细说明,其中,第一节点20,包括:第一处理器200。第二节点21,包括:第二处理器210以及至少一个第二硬盘单元211。
[0081]第一处理器200与第二节点21的第二处理器210连接,第一处理器200用于获取第二节点21的第二处理器210的心跳信号,并根据心跳信号判断第二节点21是否发生故障。
[0082]第一处理器200还用于,当第一处理器200根据心跳信号判断第二节点21发生故障后,通过与第二节点21之间的第一互联硬盘通道访问第二节点21的至少一个第二硬盘单元211。
[0083]具体的,图2中第二节点21以一个第二硬盘单元211为例进行说明,显然,第二节点21可以包含多个第二硬盘单元211,第一处理器200可以通过第一互联硬盘通道与这些第二硬盘单元211分别进行连接。
[0084]第二节点21的至少一个第二硬盘单元211,用于存储数据。
[0085]本实施例提供的节点,通过该节点的第一处理器与第二节点的第二处理器连接,该第一处理器获取第二节点的第二处理器的心跳信号,并根据心跳信号判断第二节点是否发生故障,当第一处理器根据心跳信号判断第二节点发生故障后,通过与第二节点之间的第一互联硬盘通道访问第二节点的至少一个第二硬盘单元,实现了在第二节点出现故障时接管第二节点的第二硬盘单元,从而在不浪费第二节点资源的前提下,保证了第二硬盘单元中数据的正常使用。
[0086]进一步的,针对图2中的第一互联硬盘通道,下面给出具体的实施例对其可能的实现方式进行说明。
[0087]实施例二
[0088]在图2的基础上,图3为本发明实施例二提供的节点间的连接示意图,实施例二第一节点20与第二节点21都是基于传统的x86服务器架构,具体以第一节点20为例,从主板的第一 SAS控制器203以及背板的第一 SAS扩展器202各分一路SAS通道(线缆转接插件)到第一节点20的机箱面板。相邻两个节点(图3中第一节点20与第二节点21)通过SAS线缆交叉互联,同时保留心跳信号,例如可以两个节点的处理器可以通过千兆以太网(Gigabit Ethernet,简称:GE)通道获取心跳信号。参照图2,第一互联硬盘通道为第一节点20的第一串行小型计算机系统接口 SAS控制器203与第二节点21的第二 SAS扩展器212之间的通道。
[0089]第一节点20的第一 SAS控制器203与第二节点21的第二 SAS扩展器212连接。
[0090]参照图2,第一处理器200,还用于根据心跳信号判断第二节点21发生故障后,通过第一节点20的第一 SAS控制器203、第二节点21的第二 SAS扩展器212访问第二节点21的至少一个第二硬盘单元211。
[0091]进一步的,第一节点20的第一 SAS控制器203,用于对第一处理器200向第二节点21的至少一个第二硬盘单元211发送的访问请求进行协议转化,以使第二节点21的至少一个第二硬盘单元211接收到访问请求后能够进行响应,
[0092]第一节点20的第一 SAS控制器203,还用于对第二节点21的第二硬盘单元211向第一处理器200发送的响应消息进行协议转化,以使第一处理器200根据响应消息对第二节点21的至少一个第二硬盘单元211进行读写操作。
[0093]需要说明的是,第二节点21的第二SAS扩展器212,用于将第一互联硬盘通道扩展至第二节点21的至少一个第二硬盘单元211。
[0094]具体的,参照图2,图2中以一个第二硬盘单元211为例,显然,在第二节点21钟可以包含多个第二硬盘单元211,此时,则需要第二节点21的第二 SAS扩展器212将第一互联硬盘通道扩展到多个第二硬盘单元211上。
[0095]实施例三
[0096]在图1的基础上,图4为本发明实施例二提供的节点间的连接不意图,参照图4,本实施三第一节点20与第二节点21都是基于传统的x86服务器架构,以第一节点20为例,从背板的第一 SAS扩展器202各分一路SAS通道(线缆转接插件)到第一节点20的机箱面板。相邻两个节点(即第一节点20与第二节点21)通过SAS线缆直接互联,同时保留心跳信号,例如可以两个节点的处理器可以通过GE通道获取心跳信号。第一互联硬盘通道为第一节点20的第一 SAS控制器203、第一节点20的第一 SAS扩展器203以及第二节点21的第二 SAS扩展器212之间的通道。[0097]第一处理器200,还用于当第一处理器200根据心跳信号判断第二节点21发生故障,则第一处理器200,通过第一节点20的第一 SAS控制器203、第一节点20的第一 SAS扩展器202以及第二节点21的第二 SAS扩展器212访问第二节点21的至少一个第二硬盘单元 211。
[0098]第一节点20的第一 SAS控制器203,用于对第一处理器200向第二节点21的第二硬盘单元211发送的访问请求进行协议转化,以使第二节点21的第二硬盘单元211接收到访问请求后能够进行响应,以及对第二节点21的第二硬盘单元211向第一处理器200发送的响应消息进行协议转化,以使第一处理器200根据响应消息对第二节点21的第二硬盘单元211进行读写操作。
[0099]第一节点20的第一 SAS扩展器202,用于与第二节点21的第二 SAS扩展器212连接。
[0100]需要说明的是,第二节点21的第二SAS扩展器212,用于将第一互联硬盘通道扩展至第二节点21的至少一个第二硬盘单元211。
[0101]实施例四
[0102]在图1的基础上,图5为本发明实施例四提供的节点间的连接示意图,节点中的控制主板以插框的形式实现,并增加一块SAS扩展板,均以插件(Field Replacement Unit,简称:FRU)模块的形式与背板连接。第一节点20上控制主板的的第一 SAS控制器203 (本地SAS控制器)首先通过背板与SAS扩展板的第一 SAS扩展器202连接,然后第一 SAS扩展器202扩展出所需数量的SAS通道与第一节点20的第一硬盘单元201连接。同时,控制主板上增加一个第三SAS控制器(节点互联SAS控制器),在机箱面板输出标准SAS接口(下行通道);SAS扩展板在机箱面板也输出标准SAS接口(上行通道)。相邻两个节点(第一节点20与第二节点21)通过机箱外部线缆将第一节点20的第三SAS控制器204 (互联SAS控制器)与第二节点21的第二 SAS扩展器212 (SAS扩展板)的接口进行交叉互联,同时节点间保留一个心跳信号,如GE通道。
[0103]具体的,参照图5,第一互联硬盘通道为第一节点20的第三SAS控制器204与第二节点21的第二 SAS扩展器212连之间的通道。
[0104]第一节点20的第三SAS控制器204、第二节点21的第二 SAS扩展器212连接。
[0105]第一处理器200,还用于当第一处理器200根据心跳信号判断第二节点21发生故障后,通过第一节点20的第三SAS控制器204、第二节点21的第二 SAS扩展器212访问第二节点21的至少一个第二硬盘单元211。
[0106]第一节点20的第三SAS控制器204,用于对第一处理器200向第二节点21的至少一个第二硬盘单元211发送的访问请求进行协议转化,以使第二节点21的至少一个第二硬盘单元211接收到访问请求后能够进行响应,以及对第二节点21的至少一个第二硬盘单元211向第一处理器200发送的响应消息进行协议转化,以使第一处理器200根据响应消息对第二节点21的至少一个第二硬盘单元211进行读写操作。
[0107]需要说明的是,第二节点21的第二SAS扩展器212,用于将第一互联硬盘通道扩展至第二节点21的至少一个第二硬盘单元211。
[0108]进一步的,针对实施例一至实施例四所提供的方案,其中,第一节点20除了可以在第二节点21出现故障时,接管第二节点21的第二硬盘单元211,实现对第二硬盘单元211的读写操作之外,当第一节点20出现故障时,参照实施例一至实施例四所提供的方案,类似的,第二节点21也可以通过相同的方式,访问第一节点20的第一硬盘单元201,下面给出具体的实施例对其可能的实现方式进行说明。
[0109]显然,由于第二节点21具有与第一节点20完全一样的功能,因此,当第一节点20出现故障时,第二节点21也可以接管第一节点20的第一硬盘单元201,下面通过具体实施例进行说明。
[0110]实施例五
[0111]参照图2,第一处理器200与第二节点21的第二处理器210连接,还用于当第一节点20发生故障时,通过心跳信号使第二节点21的第二处理器210获知第一节点20发生故障。
[0112]第一节点20的至少一个第一硬盘单元201通过第二互联硬盘通道与第二节点21的第二处理器210连接,第一处理器200通过心跳信号使第二节点21的第二处理器210获知第一节点20发生故障,以使第二节点21的第二处理器210通过与第一节点20之间的第二互联硬盘通道访问第一节点20的至少一个第一硬盘单元201。
[0113]第一节点20的至少一个第一硬盘单元201,用于存储数据。
[0114]实施例六
[0115]参照图3,第二互联硬盘通道为第一节点20的第一 SAS扩展器202之间的通道。
[0116]第一节点20的第一 SAS扩展器202与第二节点21的第二 SAS控制器213连接。
[0117]第一处理器200通过心跳信号使第二节点21的第二处理器210获知第一节点20发生故障,以使第二节点21的第二处理器210通过第二节点21的第二 SAS控制器213、第一节点20的第一 SAS扩展器202访问第一节点20的至少一个第一硬盘单元201。
[0118]第一节点20的第一 SAS扩展器202,用于将第二互联硬盘通道扩展至第一节点20的至少一个第一硬盘单元201。
[0119]需要说明的是,第二节点21的第二 SAS控制器213,用于对第二节点21的第二处理器210向第一节点20的至少一个第一硬盘单元201发送的访问请求进行协议转化,以使第一节点20的至少一个第一硬盘单元201接收到访问请求后能够进行响应,以及对第一节点20的至少一个第一硬盘单元201向第二节点21的第二处理器210发送的响应消息进行协议转化,以使第二节点21的第二处理器210根据响应消息对第一节点20的至少一个第一硬盘单元201进行读写操作。
[0120]实施例七
[0121]参照图4,第二互联硬盘通道为第一节点20的第一 SAS扩展器202第二节点21的第二 SAS控制器213以及第二节点21的第二 SAS扩展器212之间的通道。
[0122]第一节点20的第一 SAS扩展器202、第二节点21的第二 SAS控制器213以及第二节点21的第二 SAS扩展器212依次连接。
[0123]第一处理器200通过心跳信号使第二节点21的第二处理器210获知第一节点20发生故障后,第二节点21的第二处理器210通过第一节点20的第一 SAS扩展器202、第二节点21的第二 SAS控制器213以及第二节点21的第二 SAS扩展器212访问第一节点20的至少一个第一硬盘单元201。
[0124]第一节点20的第一 SAS扩展器202,用于将第二互联硬盘通道扩展至第一节点20的至少一个第一硬盘单元201。
[0125]需要说明的是,第二节点21的第二 SAS控制器213,用于对第二节点21的第二处理器210向第一节点20的至少一个第一硬盘单元201发送的访问请求进行协议转化,以使第一节点20的至少一个第一硬盘单元201接收到访问请求后能够进行响应,以及对第一节点20的至少一个第一硬盘单元201向第二节点21的第二处理器210发送的响应消息进行协议转化,以使第二节点21的第二处理器210根据响应消息对第一节点20的至少一个第一硬盘单元201进行读写操作。
[0126]实施例八
[0127]参照图5,第二互联硬盘通道为第一节点20的第一 SAS扩展器202与第二节点21的第四SAS控制器214之间的通道。
[0128]第一节点20的第一 SAS扩展器202与第二节点21的第四SAS控制器214连接。
[0129]第一处理器200通过心跳信号使第二节点21的第二处理器210获知第一节点20发生故障,以使第二节点21的第二处理器210通过第二节点21的第四SAS控制器214、第一节点20的第一 SAS扩展器202访问第一节点20的至少一个第一硬盘单元201。
[0130]第一节点20的第一 SAS扩展器202,用于将第二互联硬盘通道扩展至第一节点20的至少一个第一硬盘单元201。
[0131]需要说明的是,第二节点21的第四SAS控制器,用于对第二处理器210向第一节点20的至少一个第一硬盘单元201发送的访问请求进行协议转化,以使第一节点20的至少一个第一硬盘单元201接收到访问请求后能够进行响应,以及对第一节点20的至少一个第一硬盘单元201向第二处理器210发送的响应消息进行协议转化,以使第二处理器210根据响应消息对第一节点20的至少一个第一硬盘单元201进行读写操作。
[0132]进一步的,以于图1至图4中的第一节点20为例,该第一节点20的第一处理器200与第一节点20的本地硬盘通道连接,用于通过本地硬盘通道访问第一硬盘单元201。
[0133]类似的,第二节点21的第二处理器210也可以与第二节点21的本地硬盘通道连接,用于通过第二节点21的本地硬盘通道访问第二硬盘单元211。
[0134]进一步的,参照图2至图4,对于第一节点20,上述第一节点20的本地硬盘通道为第一节点20的第一 SAS控制器203、第一节点20的第一 SAS扩展器202之间的通道。
[0135]第一节点20的第一 SAS控制器203与第一节点20的第一 SAS扩展器202连接。
[0136]第一处理器200还用于通过第一节点20的第一 SAS控制器203与第一节点20的第一 SAS扩展器202访问至少一个第一硬盘单元201。
[0137]第一节点20的第一 SAS控制器203,用于对第一处理器200向第一节点20的第一硬盘单元201发送的访问请求进行协议转化,以使第一节点20的第一硬盘单元201接收到访问请求后能够进行响应,以及对第一节点20的第一硬盘单元201向第一处理器200发送的响应消息进行协议转化,以使第一处理器200根据响应消息对第一节点20的第一硬盘单元201进行读写操作。
[0138]第一节点20的第一 SAS扩展器202,用于将本地硬盘通道扩展至至少一个第一硬盘单元201。
[0139]同样,第二节点21也可以通过第二节点21的本地硬盘通道对其第二硬盘单元211进行访问,类似的,该第二节点21的本地硬盘通道为第二节点21的第二 SAS控制器213与第二节点21的第二 SAS扩展器212之间的通道,其原理与第一节点20类似,此处不再赘述。
[0140]对于上述各实施例,第一节点20的第一处理器200,还用于进行硬盘发现操作,以发现第二节点21的第二硬盘单元211。
[0141]第一处理器200,还用于建立SAS拓扑结构,SAS拓扑结构包含第一互联硬盘通道以及本地硬盘通道。
[0142]对于第一节点20,在第一处理器200根据心跳信号判断第二节点21发生故障后,其具体可以通过两种可行的实现方式,来实现接管第二节点21的方案:
[0143]方式一:第一处理器200,还用于在根据心跳信号判断第二节点21发生故障后,等待第二节点21的至少一个第二硬盘单元211完成当前命令,则通过第一互联硬盘通道访问第二节点21的至少一个第二硬盘单元211。
[0144]或者,方式二:第一处理器200,还用于在根据心跳信号判断第二节点21发生故障后,清除STP连接包含的第二节点21的第二 SAS控制器213与第二节点21的至少一个第二硬盘节点的关联关系,并建立第一节点20的第一 SAS控制器203与第二节点21的至少一个第二硬盘节点的关联关系,通过第一互联硬盘通道访问第二节点21的至少一个第二硬盘单元211。
[0145]显然,第二节点21的第二处理器210,也具有与第一处理器200类似的功能,此处不再赘述。
[0146]进一步的,对于上述各实施例以及可行的实现方式,针对第一节点20,其各个部件可以有如下两种连接方式。
[0147]方式一:第一节点20的第一 SAS控制器203与第一处理器200设置于第一节点20的主板上;第一节点20的第一 SAS扩展器202设置于第一节点20的背板上。
[0148]或者,方式二:第一节点20的第一 SAS控制器203、第一节点20的第三SAS控制器以及第一处理器200设置于第一节点20的主板上,第一节点20的第一 SAS扩展器202设置于第一节点20的SAS扩展板上。
[0149]进一步的,针对方式一或者方式二,第一节点20的系统电源、第一节点20的风扇控制器以及第一节点20的监控模块设置于第一节点20的背板上。
[0150]或者,第一节点20的系统电源、第一节点20的风扇控制器以及第一节点20的监控模块设置于第一节点20的SAS扩展器上。
[0151]系统电源、风扇控制器与监控模块从主板剥离出来,在SAS扩展器上实现。保证主板故障时,电源和风扇依然正常工作。并且,主板输出的电源控制信号通过命令包(如内部整合电路(Inter-1ntegrated Circuit,简称:I2C)命令)的形式发送,以免电平信号在主板故障时的不确定状态。保证在主板故障时,电源依然正常工作。进一步的,主板的电源与系统电源隔离,保证主板电源短路的情况下,电源依然正常工作。优选的,主板做热插拔设计,保证控制主板从机箱拔出后,硬盘访问依然正常,支持在线维护。
[0152]通过以上优化,控制主板发生任何故障(包括软件跑飞、芯片失效、电源短路),甚至从机箱中拔出,只要系统电源、SAS扩展板工作正常,那么硬盘就可以被相邻节点接管。由于SAS协议支持硬盘被多个主机同时发现和访问,而串行高级技术附件(Serial AdvancedTechnology Attachment,简称:SATA)协议只支持单个主机,其具体的硬盘接管流程视硬盘接口类型而定。[0153]其中,第一节点20的系统电源,用于为第一节点20的第一 SAS控制器203、第一处理器200、第一节点20的第一 SAS扩展器202、第一节点20的第三SAS控制器以及第一节点20的第一硬盘单元201提供电源。
[0154]第一节点20的风扇控制器,用于控制风扇对第一节点20的第一 SAS控制器203、第一处理器200、第一节点20的第一 SAS扩展器202、第一节点20的第三SAS控制器以及第一节点20的第一硬盘单元201进行散热。
[0155]第一节点20的监控模块,用于控制第一节点20的系统电源、第一节点20的风扇控制器,以及进行温度监控。
[0156]需要说明的是,第二节点21的系统电源、风扇控制器与监控模块其具体的连接方式也可以采用与第一节点20类似的连接方式,此处不再赘述。对于上述各个实施例以及可行的实现方式,均以两个节点,即第一节点与第二节点进行说明,显然,对于具有多个节点的网络,其中,相邻的具有接管功能的节点之间都可以进行上述串联,当其中一个节点发生故障时,可以根据上述各实施例以及可行的实现方式的方案,由其他节点接管故障节点的硬盘单元。类似的,本发明上述实施例不仅应用于分布式存储系统,也可用于多节点配置的独立存储设备,如多台视频监控设备、多台IPTV设备之间的互联。
[0157]图6为本发明实施例九提供的存储系统互联方法的流程示意图,其具体步骤包括:
[0158]步骤100、获取第二节点的第二处理器的心跳信号,并根据心跳信号判断第二节点是否发生故障。
[0159]步骤101、若第二节点发生故障,则通过第一互联硬盘通道访问第二节点的至少一个第二硬盘单元。
[0160]本实施例提供的存储系统互联方法,通过获取第二节点的第二处理器的心跳信号,并根据心跳信号判断第二节点是否发生故障,再根据心跳信号判断第二节点发生故障,则通过第一互联硬盘通道访问第二节点的至少一个第二硬盘单元,实现了在第二节点出现故障时接管第二节点的第二硬盘单元,从而在不浪费第二节点资源的前提下,保证了第二硬盘单元中数据的正常使用。
[0161]进一步的,步骤101中的通过第一互联硬盘通道访问第二节点的至少一个第二硬盘单元,其一种可行的实现方式为:
[0162]向第二节点的至少一个第二硬盘单元发送访问请求。
[0163]对访问请求进行协议转化,以使第二节点的至少一个第二硬盘单元接收到访问请求后能够进行响应。
[0164]接收第二节点的第二硬盘单元发送的响应消息。
[0165]对响应消息进行协议转化。
[0166]根据响应消息对第二节点的至少一个第二硬盘单元进行读写操作。
[0167]类似的,图7为本发明实施例十提供的存储系统互联方法的流程示意图,参照图7对于第一节点发生故障,需要第二节点接管第一节点的第一硬盘单元的场景进行说明,其具体步骤包括:
[0168]步骤200、当第一节点发生故障时,通过心跳信号使第二节点的第二处理器获知第一节点发生故障。[0169]步骤201、当第二节点的第二处理器接收到心跳信号,并获知第一节点发生故障时,则允许第二节点的第二处理器通过第二互联硬盘通道访问第一节点的至少一个第一硬盘单元。
[0170]进一步的,针对步骤201中的允许第二节点的第二处理器通过第二互联硬盘通道访问第一节点的至少一个第一硬盘单元,其一种可能的实现方式为:
[0171]接收第二节点的第二处理器向第一节点的至少一个第一硬盘单元发送的访问请求。
[0172]对访问请求进行协议转化,以使第一节点的至少一个第一硬盘单元接收到访问请求后能够进行响应。
[0173]接收第一节点的至少一个第一硬盘单元向第二节点的第二处理器发送的响应消
肩、O
[0174]对响应消息进行协议转化,以使第二节点的第二处理器根据响应消息对第一节点的至少一个第一硬盘单元进行读写操作。
[0175]进一步的,对于第一节点,除了在第二节点出现故障时接管第二节点的第二硬盘单元,第一节点还通过本地硬盘通道访问第一硬盘单元。
[0176]具体的,第一节点通过本地硬盘通道访问第一硬盘单元的一种可行的实现方式如下:
[0177]向第一节点的第一硬盘单元发送访问请求。
[0178]将访问请求进行协议转化,以使第一节点的第一硬盘单元接收到访问请求后能够进行响应。
[0179]接收第一节点的第一硬盘单元发送的响应消息。
[0180]对响应消息进行协议转化,以使第一处理器根据响应消息对第一节点20的第一硬盘单元进行读写操作。
[0181]针对的是第二节点发生故障的场景,图8为本发明实施例十一提供的存储系统互联方法的流程示意图,实施例十一的执行主体为第一节点,下面参照图8,对实施例十一进行说明,其具体包括如下步骤:
[0182]步骤300、进行硬盘发现操作,以发现第二节点的第二硬盘单元。
[0183]步骤301、建立串行小型计算机系统接口(Serial Attached Small ComputerSystem Interface,简称:SAS)拓扑结构。
[0184]具体的,SAS拓扑结构包含第一互联硬盘通道以及本地硬盘通道。
[0185]步骤302、通过本地硬盘通道访问第一硬盘单元。
[0186]步骤303、获取第二节点的第二处理器的心跳信号,并根据心跳信号判断第二节点是否发生故障。
[0187]步骤304、判断第二节点的第二硬盘单元接口类型。
[0188]具体的,若第二节点的第二硬盘单元接口类型为SAS,则执行步骤305 ;若第二节点的第二硬盘单元接口类型为SATA,则执行步骤306。
[0189]步骤305、在根据心跳信号判断第二节点发生故障后,等待第二节点的第二硬盘单元完成当前命令。
[0190]具体的,当第二节点的第二硬盘单元完成当前命令,则执行步骤307。[0191]步骤306、在根据心跳信号判断第二节点发生故障后,清除生成树协议(SpanningTree Protocol简称:STP)连接包含的第二节点的第二 SAS控制器与第二节点的第二硬盘节点的关联关系,并建立第一节点的第一 SAS控制器与第二节点的第二硬盘节点的关联关系O
[0192]步骤307、通过第一互联硬盘通道访问第二节点的第二硬盘单元。
[0193]本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:R0M、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
[0194]最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
【权利要求】
1.一种节点,其特征在于,包括:第一处理器; 所述第一处理器与第二节点的第二处理器连接,用于获取所述第二节点的第二处理器的心跳信号,并根据所述心跳信号判断所述第二节点是否发生故障; 所述第一处理器,还用于当所述第一处理器根据所述心跳信号判断所述第二节点发生故障后,通过与所述第二节点之间的第一互联硬盘通道访问所述第二节点的至少一个第二硬盘单元。
2.根据权利要求1所述的节点,其特征在于,所述第一互联硬盘通道为所述第一节点的第一串行小型计算机系统接口 SAS控制器与所述第二节点的第二 SAS扩展器之间的通道; 所述第一节点的第一 SAS控制器,用于对所述第一处理器向所述第二节点的至少一个第二硬盘单元发送的访问请求进行协议转化,以使所述第二节点的至少一个第二硬盘单元接收到所述访问请求后能够进行响应,以及对所述第二节点的第二硬盘单元向所述第一处理器发送的响应消息进行协议转化,以使所述第一处理器根据所述响应消息对所述第二节点的至少一个第二硬盘单元进行读写操作。
3.根据权利要求1所述的节点,其特征在于,所述第一互联硬盘通道为第一节点的第一串行小型计算机系统接口 SAS控制器、所述第一节点的第一 SAS扩展器以及所述第二节点的第二 SAS扩展器之间的通道; 所述第一节点的第一 SAS控制器,用于对所述第一处理器向所述第二节点的第二硬盘单元发送的访问请求进行协议转化,以使所述第二节点的第二硬盘单元接收到所述访问请求后能够进行响应,以及对所述第二节点的第二硬盘单元向所述第一处理器发送的响应消息进行协议转化,以使所述第一处理器根据所述响应消息对所述第二节点的第二硬盘单元进行读写操作; 所述第一节点的第一 SAS扩展器,用于与所述第二节点的第二 SAS扩展器连接。
4.根据权利要求1所述的节点,其特征在于,所述第一互联硬盘通道为所述第一节点的第三串行小型计算机系统接口 SAS控制器与所述第二节点的第二 SAS扩展器连之间的通道; 所述第一节点的第三SAS控制器,用于对所述第一处理器向所述第二节点的至少一个第二硬盘单元发送的访问请求进行协议转化,以使所述第二节点的至少一个第二硬盘单元接收到所述访问请求后能够进行响应,以及对所述第二节点的至少一个第二硬盘单元向所述第一处理器发送的响应消息进行协议转化,以使所述第一处理器根据所述响应消息对所述第二节点的至少一个第二硬盘单元进行读写操作。
5.根据权利要求2~4任意一项所述的节点,其特征在于,所述第一处理器,还用于当第一节点发生故障时,通过心跳信号使所述第二节点的第二处理器获知所述第一节点发生故障; 第一节点的至少一个第一硬盘单元通过第二互联硬盘通道与第二节点的第二处理器连接,所述第一处理器通过心跳信号使所述第二节点的第二处理器获知所述第一节点发生故障后,以使所述第二节点的第二处理器通过与所述第一节点之间的所述第二互联硬盘通道访问所述第一节点的至少一个第一硬盘单元; 所述第一节点的至少一个第一硬盘单元,用于存储数据。
6.根据权利要求5所述的节点,其特征在于,所述第二互联硬盘通道为所述第一节点的第一 SAS扩展器与所述第二节点的第二 SAS控制器之间的通道; 所述第一节点的第一 SAS扩展器,用于将所述第二互联硬盘通道扩展至所述第一节点的至少一个第一硬盘单元。
7.根据权利要求5所述的节点,其特征在于,所述第二互联硬盘通道为所述第一节点的第一 SAS扩展器、所述第二节点的第二 SAS控制器以及所述第二节点的第二 SAS扩展器之间的通道; 所述第一节点的第一 SAS扩展器,用于将所述第二互联硬盘通道扩展至所述第一节点的至少一个第一硬盘单元。
8.根据权利要求5所述的节点,其特征在于,所述第二互联硬盘通道为所述第一节点的第一 SAS扩展器与第二节点的第四SAS控制器之间的通道; 所述第一节点的第一 SAS扩展器,用于将所述第二互联硬盘通道扩展至所述第一节点的至少一个第一硬盘单元。
9.根据权利要求1~8任意一项所述的节点,其特征在于,所述第一处理器与本地硬盘通道连接,用于通过所述本地硬盘通道访问所述第一硬盘单元。
10.根据权利要求9所述的节点,其特征在于,所述本地硬盘通道为所述第一节点的第一 SAS控制器与所述第一节点的第一 SAS扩展器之间的通道; 所述第一节点的第一 SAS控制器,用于对所述第一处理器向所述第一节点的第一硬盘单元发送的访问请求进行协议转化,以使所述第一节点的第一硬盘单元接收到所述访问请求后能够进行响应,以及对所述第一节点的第一硬盘单元向所述第一处理器发送的响应消息进行协议转化,以使所述第一处理器根据所述响应消息对所述第一节点的第一硬盘单元进行读写操作; 所述第一节点的第一 SAS扩展器,用于将所述本地硬盘通道扩展至至少一个所述第一硬盘单元。
11.根据权利要求1~10任意一项所述的节点,其特征在于,所述第一处理器,还用于进行硬盘发现操作,以发现所述第二节点的第二硬盘单元; 所述第一处理器,还用于建立SAS拓扑结构,所述SAS拓扑结构包含所述第一互联硬盘通道以及所述本地硬盘通道。
12.根据权利要求1~11任意一项所述的节点,其特征在于,所述第一处理器,还用于在根据所述心跳信号判断所述第二节点发生故障后,等待所述第二节点的至少一个第二硬盘单元完成当前命令,则通过所述第一互联硬盘通道访问所述第二节点的至少一个第二硬盘单元; 或者,在根据所述心跳信号判断所述第二节点发生故障后,清除STP连接包含的所述第二节点的第二 SAS控制器与所述第二节点的至少一个第二硬盘节点的关联关系,并建立所述第一节点的第一 SAS控制器与所述第二节点的至少一个第二硬盘节点的关联关系,通过所述第一互联硬盘通道访问所述第二节点的至少一个第二硬盘单元。
13.根据权利要求1~12任意一项所述的节点,其特征在于,所述第一节点的第一SAS控制器与所述第一处理器设置于所述第一节点的主板上;所述第一节点的第一 SAS扩展器设置于所述第一节点的背板上;或者,所述第一节点的第一 SAS控制器、所述第一节点的第三SAS控制器以及所述第一处理器设置于所述第一节点的主板上,所述第一节点的第一 SAS扩展器设置于所述第一节点的SAS扩展板上; 所述第一节点的系统电源、所述第一节点的风扇控制器以及所述第一节点的监控模块设置于所述第一节点的背板上;或者, 所述第一节点的系统电源、所述第一节点的风扇控制器以及所述第一节点的监控模块设置于所述第一节点的所述SAS扩展器上; 其中,所述第一节点的系统电源,用于为所述第一节点的第一 SAS控制器、所述第一处理器、所述第一节点的第一 SAS扩展器、所述第一节点的第三SAS控制器以及所述第一节点的第一硬盘单元提供电源; 所述第一节点的风扇控制器,用于控制风扇对所述第一节点的第一 SAS控制器、所述第一处理器、所述第一节点的第一 SAS扩展器、所述第一节点的第三SAS控制器以及所述第一节点的第一硬盘单元进行散热; 所述第一节点的监控模块,用于控制所述第一节点的系统电源、所述第一节点的风扇控制器,以及进行温度监控。
14.一种存储系统互联方法,其特征在于,包括: 获取所述第二节点的第 二处理器的心跳信号,并根据所述心跳信号判断所述第二节点是否发生故障; 若所述第二节点发生故 障,则通过所述第一互联硬盘通道访问所述第二节点的至少一个第二硬盘单元。
15.根据权利要求14所述的方法,其特征在于,所述通过所述第一互联硬盘通道访问所述第二节点的至少一个第二硬盘单元包括: 向所述第二节点的至少一个第二硬盘单元发送访问请求; 对所述访问请求进行协议转化,以使所述第二节点的至少一个第二硬盘单元接收到所述访问请求后能够进行响应; 接收所述第二节点的第二硬盘单元发送的响应消息; 对所述响应消息进行协议转化; 根据所述响应消息对所述第二节点的至少一个第二硬盘单元进行读写操作。
16.根据权利要求14~15任意一项所述的方法,其特征在于,还包括: 当第一节点发生故障时,通过心跳信号使所述第二节点的第二处理器获知所述第一节点发生故障; 当所述第二节点的第二处理器接收到所述心跳信号,并获知所述第一节点发生故障时,则允许所述第二节点的第二处理器通过所述第二互联硬盘通道访问所述第一节点的至少一个第一硬盘单元。
17.根据权利要求16所述的方法,其特征在于,所述允许所述第二节点的第二处理器通过所述第二互联硬盘通道访问所述第一节点的至少一个第一硬盘单元,包括: 接收所述第二节点的第二处理器向所述第一节点的至少一个第一硬盘单元发送的访问请求; 对所述访问请求进行协议转化,以使所述第一节点的至少一个第一硬盘单元接收到所述访问请求后能够进行响应; 接收所述第一节点的至少一个第一硬盘单元向所述第二节点的第二处理器发送的响应消息; 对所述响应消息进行协议转化,以使所述第二节点的第二处理器根据所述响应消息对所述第一节点的至少一个第一硬盘单元进行读写操作。
18.根据权利要求14~17任意一项所述的方法,其特征在于,还包括:通过所述本地硬盘通道访问所述第一硬盘单元。
19.根据权利要求18所述的方法,其特征在于,通过所述本地硬盘通道访问所述第一硬盘单元,包括: 向所述第一节点的第一硬盘单元发送访问请求; 将所述访问请求进行协议转化,以使所述第一节点的第一硬盘单元接收到所述访问请求后能够进行响应; 接收所述第一节点的第一硬盘单元发送的响应消息; 对所述响应消息进行协议转化,以使所述第一处理器根据所述响应消息对所述第一节点的第一硬盘单元进行读写操作。
20.根据权利要求14~19任意一项所述的方法,其特征在于,进行硬盘发现操作,以发现所述第二节点的第二硬盘单元; 建立串行小型计算机系统接口 SAS拓扑结构,所述SAS拓扑结构包含所述第一互联硬盘通道以及所述本地硬盘通道。
21.根据权利要求14~20任意一项所述的方法,其特征在于,所述根据所述心跳信号判断所述第二节点发生故障,则通过所述第一互联硬盘通道访问所述第二节点的至少一个第二硬盘单元,包括 在根据所述心跳信号判断所述第二节点发生故障后,等待所述第二节点的第二硬盘单元完成当前命令,则通过所述第一互联硬盘通道访问所述第二节点的第二硬盘单元; 或者,在根据所述心跳信号判断所述第二节点发生故障后,清除STP连接包含的所述第二节点的第二 SAS控制器与所述第二节点的第二硬盘节点的关联关系,并建立所述第一节点的第一 SAS控制器与所述第二节点的第二硬盘节点的关联关系,通过所述第一互联硬盘通道访问所述第二节点的第二硬盘单元。
【文档编号】H04L29/08GK103475695SQ201310366842
【公开日】2013年12月25日 申请日期:2013年8月21日 优先权日:2013年8月21日
【发明者】胡浩 申请人:华为数字技术(成都)有限公司