CN108459977A - 一种存储系统中多控制器之间的io转发方法及装置 - Google Patents

一种存储系统中多控制器之间的io转发方法及装置 Download PDF

Info

Publication number
CN108459977A
CN108459977A CN201710089225.2A CN201710089225A CN108459977A CN 108459977 A CN108459977 A CN 108459977A CN 201710089225 A CN201710089225 A CN 201710089225A CN 108459977 A CN108459977 A CN 108459977A
Authority
CN
China
Prior art keywords
controller
path
storage system
local
request
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
CN201710089225.2A
Other languages
English (en)
Inventor
张瑾
张翼
刘永
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ZTE Corp
Original Assignee
ZTE Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ZTE Corp filed Critical ZTE Corp
Priority to CN201710089225.2A priority Critical patent/CN108459977A/zh
Publication of CN108459977A publication Critical patent/CN108459977A/zh
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2002Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant
    • G06F11/2007Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant using redundant communication media
    • G06F11/201Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant using redundant communication media between storage system components

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Hardware Redundancy (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种存储系统中多控制器之间的IO转发方法及装置,所述方法包括:第一控制器通知至少一个第二控制器为硬盘创建转发路径,以及从至少一个第二控制器接收创建转发路径的通知;所述第一控制器创建转发路径后,将所述转发路径注册至磁盘映射模块;当第一控制器的本地路径发生故障时,通过所述磁盘映射模块的选路策略将所述第一控制器的本地路径切换至第一控制器的转发路径;通过所述转发路径将所述第一控制器的IO请求转发到第二控制器的本地路径上,对所述第一控制器的IO请求进行处理;第一控制器接收第二控制器发送的IO响应。

Description

一种存储系统中多控制器之间的IO转发方法及装置
技术领域
本发明涉及存储技术领域,尤其涉及一种存储系统中多控制器之间的IO转发方法及装置。
背景技术
存储阵列提供存储数据的高可用服务,常采用多个控制器冗余设计。目前的多控存储阵列设计,存在如下问题:在控制器之间无交叉互连的结构中,即单控节点只能访问硬盘的一条本端路径,如果输入输出(IO,Input/Output)过程中遇到本端硬盘故障,或链路故障,系统会认为访问的硬盘故障,根据上层业务的类型,可能引起上层业务重构,或者引发控制器切换,主机侧多路径切换,这些异常处理会导致系统的可靠性降低,给系统带来不必要的开销。并且当硬盘链路故障恢复后,后端无法感知,不能进行故障恢复(failback)操作。在控制器之间有交叉互连的结构中,利用linux的磁盘映射(device-mapper)机制看似可以解决本地IO失败路径切换的问题,但是如果控制器自身故障,仍然会导致以上描述的问题。因此迫切需要磁阵后端能够进行IO转发来应对上述问题,这对于提高系统的可靠性至关重要。现有的技术中,对于IO转发主要采取了以下方案:
方案一:在业务主机和存储系统之间增加一个IO调度模块,根据每个控制器负载值,和预先设定的策略,将IO派发到存储系统多个控制器节点上并发执行。
方案二:多控磁阵内置IO协调调度模块,和应用主机协同,由IO协调模块监控CPU使用率、应用主机接口吞吐量、应用主机连接数等,进行动态路径设置、自动路径管理。
然而,方案一,方案二都是提供主机IO派发到控制器之前,在多个控制器之间进行IO调度的方法,并不能应对IO下发到控制器后,发生控制器单点故障、硬盘链路故障,需要跨控制器转发IO的情况。从技术效果来看,方案一和方案二致力于改善控制器的负载均衡,对于提高系统的可靠性并没有起到作用。
发明内容
为解决上述技术问题,本发明实施例提供了一种存储系统中多控制器之间的IO转发方法及装置,当本地链路或控制器自身发生故障后,由本地下发的主机IO能够转发到系统中的其它控制器节点上;当故障恢复后,能够将IO切换回本地路径。
本发明实施例提供的存储系统中多控制器之间的IO转发方法,包括:
第一控制器通知至少一个第二控制器为硬盘创建转发路径,以及从至少一个第二控制器接收创建转发路径的通知;
所述第一控制器创建转发路径后,将所述转发路径注册至磁盘映射模块;
当第一控制器的本地路径发生故障时,通过所述磁盘映射模块的选路策略将所述第一控制器的本地路径切换至第一控制器的转发路径;通过所述转发路径将所述第一控制器的IO请求转发到第二控制器的本地路径上,对所述第一控制器的IO请求进行处理;
第一控制器接收第二控制器发送的IO响应。
本发明实施例中,所述第一控制器通知至少一个第二控制器为硬盘创建转发路径,以及从至少一个第二控制器接收创建转发路径的通知,包括:
第一控制器启动后,如果检测到硬盘存在至少一条本地路径,则通过板间消息通知至少一个第二控制器为硬盘创建转发路径,以及从至少一个第二控制器接收创建转发路径的通知。
本发明实施例中,所述本地路径的优先级高于所述转发路径的优先级;
通过所述磁盘映射模块的选路策略将所述第一控制器的本地路径切换至第一控制器的转发路径,包括:
如果通过所述磁盘映射模块检测到所述第一控制器的本地路径全部处于失效状态,则将所述第一控制器的本地路径切换至第一控制器的转发路径。
本发明实施例中,第一控制器通过板间高速通道向第二控制器发送IO请求;第一控制器通过板间高速通道接收第二控制器发送的IO响应。
本发明实施例中,所述方法还包括:设置用于检测是否超时的定时器;
如果在超时之前,第一控制器未接收到第二控制器通过板间高速通道发送的IO响应,则确定第二控制器对所述IO请求处理失败并且控制所述第二控制器对IO相关资源进行回收;
如果所述第二控制器接收到IO请求后在其本地链路上出现超时,则所述第一控制器需等待所述第二控制器的超时返回后才能够进行返回操作。
本发明实施例中,所述方法还包括:
当第一控制器与第二控制器建立好板间高速通道后,启动心跳检测功能以检测所述板间高速通道的通信状态。
本发明实施例中,所述方法还包括:
当第一控制器的本地路径故障恢复时,通过所述磁盘映射模块刷新路径信息,重新通过本地路径对IO请求进行处理。
本发明实施例提供的存储系统中多控制器之间的IO转发装置,包括:
创建单元,用于通知至少一个第二控制器为硬盘创建转发路径,以及从至少一个第二控制器接收创建转发路径的通知;所述第一控制器创建转发路径后,将所述转发路径注册至磁盘映射模块;
切换单元,用于当第一控制器的本地路径发生故障时,通过所述磁盘映射模块的选路策略将所述第一控制器的本地路径切换至第一控制器的转发路径;通过所述转发路径将所述第一控制器的IO请求转发到第二控制器的本地路径上,对所述第一控制器的IO请求进行处理;
交互单元,用于第一控制器接收第二控制器发送的IO响应。
本发明实施例中,所述创建单元,具体用于:第一控制器启动后,如果检测到硬盘存在至少一条本地路径,则通过板间消息通知至少一个第二控制器为硬盘创建转发路径,以及从至少一个第二控制器接收创建转发路径的通知。
本发明实施例中,所述本地路径的优先级高于所述转发路径的优先级;
所述切换单元,具体用于:如果通过所述磁盘映射模块检测到所述第一控制器的本地路径全部处于失效状态,则将所述第一控制器的本地路径切换至第一控制器的转发路径。
本发明实施例中,第一控制器通过板间高速通道向第二控制器发送IO请求;第一控制器通过板间高速通道接收第二控制器发送的IO响应。
本发明实施例中,所述装置还包括:定时单元,用于设置用于检测是否超时的定时器;其中,如果在超时之前,第一控制器未接收到第二控制器通过板间高速通道发送的IO响应,则确定第二控制器对所述IO请求处理失败并且控制所述第二控制器对IO相关资源进行回收;如果所述第二控制器接收到IO请求后在其本地链路上出现超时,则所述第一控制器需等待所述第二控制器的超时返回后才能够进行返回操作。
本发明实施例中,所述装置还包括:心跳检测单元,用于当第一控制器与第二控制器建立好板间高速通道后,启动心跳检测功能以检测所述板间高速通道的通信状态。
本发明实施例中,所述装置还包括:
恢复单元,用于当第一控制器的本地路径故障恢复时,通过所述磁盘映射模块刷新路径信息,重新通过本地路径对IO请求进行处理。
本发明实施例的技术方案中,第一控制器通知至少一个第二控制器为硬盘创建转发路径,以及从至少一个第二控制器接收创建转发路径的通知;所述第一控制器创建转发路径后,将所述转发路径注册至磁盘映射模块;当第一控制器的本地路径发生故障时,通过所述磁盘映射模块的选路策略将所述第一控制器的本地路径切换至第一控制器的转发路径;通过所述转发路径将所述第一控制器的IO请求转发到第二控制器的本地路径上,对所述第一控制器的IO请求进行处理;第一控制器接收第二控制器发送的IO响应。采用本发明实施例的技术方案,当本地链路或控制器自身发生故障后,由本地下发的主机IO能够转发到系统中的其它控制器节点上;当故障恢复后,能够将IO切换回本地路径。此外,不影响存储产品已有的IO流程和管理流程,对系统架构冲击很小;原型机实测数据表明,本发明实施例的后端IO转发对主机IO性能影响很小,实用性较高。
附图说明
附图以示例而非限制的方式大体示出了本文中所讨论的各个实施例。
图1为本发明实施例的硬盘IO转发模块在系统中的位置示意图;
图2为本发明实施例的硬盘IO转发模块部署图;
图3为本发明实施例的存储系统中多控制器之间的IO转发方法的流程示意图;
图4为本发明实施例的后端硬盘IO转发流程图;
图5为本发明实施例的存储系统中多控制器之间的IO转发装置的结构组成示意图。
具体实施方式
为了能够更加详尽地了解本发明实施例的特点与技术内容,下面结合附图对本发明实施例的实现进行详细阐述,所附附图仅供参考说明之用,并非用来限定本发明实施例。
本发明实施例的技术方案的核心为硬盘IO转发模块,也即磁盘输入输出分发模块(DID,Disk IO Distribute system)模块,图1展示了DID模块在系统中的位置。DID模块位于device-mapper层之下,小型计算机系统接口(SCSI,Small Computer SystemInterface)中层之上。现有的后端多路径切换是由device-mapper框架下的dm-multipath驱动实施的,当dm-multipath发现一条路径故障,会尝试选择其他的路径进行重试,如果都失败则返回上层失败。但是dm-multipath只能局限在本地路径选择,不能跨控制器选择路径。DID模块的功能就是在本地路径都访问失败的情况下,将IO转发到其他控制器进行处理,替代直接返回上层业务。本发明实施例只是在IO流程路径中增加必要的处理,并不改变已有的IO多路径流程。
图2为DID模块的部署示意图。DID模块包含两个子模块,一个部署在用户态,负责触发创建转发路径,以及查询设备相关的信息;另一个部署在内核态,负责注册转发路径设备、心跳检测和IO转发功能,而路径选取策略放在内核的device-mapper中。用户态模块触发创建、查询会通过用户态的ioctl方式通知到内核态,内核态转发路径检测通知会通过netlink方式通知到用户态模块。
磁阵产品后端硬盘IO处理一般采用linux内核自带的机制,主要涉及linux通用块设备层、SCSI子系统,和device-mapper。SCSI子系统通过SAS驱动中断事件向内核注册块设备,然后以uevent事件的方式通知用户态multipath进行映射。用户态multipath根据上报的事件对来自同一硬盘的事件进行映射,将不同路径上报的块设备映射到同一个逻辑块设备中,然后再通知内核将该关系映射到内核,device-mapper形成一个映射设备(mappeddevice),这样上层用户就可以通过mapped device设备对硬盘进行访问,以至于同一mapped device设备的不同路径间的访问由内核device-mapper屏蔽。DID模块正是嵌入到device-mapper模块中,作为mapped device设备的一条路径。该路径的优先级排在本地路径之后,当本地路径都失效时,才会选择转发路径,系统上层业务能在“不知情”的情况下,通过板间高速通道从非本地控制器节点访问硬盘。
基于图1和图2所示的技术方案,提出本发明实施例的存储系统中多控制器之间的IO转发方法,如图3所示,所述存储系统中多控制器之间的IO转发方法包括以下步骤:
步骤301:第一控制器通知至少一个第二控制器为硬盘创建转发路径,以及从至少一个第二控制器接收创建转发路径的通知;所述第一控制器创建转发路径后,将所述转发路径注册至磁盘映射模块。
本发明实施例中,第一控制器启动后,如果检测到硬盘存在至少一条本地路径,则通过板间消息通知至少一个第二控制器为硬盘创建转发路径,以及从至少一个第二控制器接收创建转发路径的通知。
参照图4,第一控制器是指控制器A,第二控制器是指控制器B。控制器A启动以后,如果发现硬盘存在至少一条本地路径,则发送板间消息通知系统中的其他控制器为该硬盘创建转发路径。该路径以块设备的方式注册给device-mapper。
步骤302:当第一控制器的本地路径发生故障时,通过所述磁盘映射模块的选路策略将所述第一控制器的本地路径切换至第一控制器的转发路径;通过所述转发路径将所述第一控制器的IO请求转发到第二控制器的本地路径上,对所述第一控制器的IO请求进行处理。
本发明实施例中,所述本地路径的优先级高于所述转发路径的优先级;
通过所述磁盘映射模块的选路策略将所述第一控制器的本地路径切换至第一控制器的转发路径,包括:
如果通过所述磁盘映射模块检测到所述第一控制器的本地路径全部处于失效状态,则将所述第一控制器的本地路径切换至第一控制器的转发路径。
步骤303:第一控制器接收第二控制器发送的IO响应。
本发明实施例中,第一控制器通过板间高速通道向第二控制器发送IO请求;第一控制器通过板间高速通道接收第二控制器发送的IO响应。
这里,第二控制器接收到第一控制器发过来的IO请求后,根据IO请求中的硬盘的唯一索引(WWID,World Wide Identifier)找到对应的mapped device设备,然后将这个请求交给本地的device-mapper,通过其对硬盘读写,读写完成后再通过IO响应的方式返回第一控制器。
本发明实施例中,所述方法还包括:设置用于检测是否超时的定时器;
如果在超时之前,第一控制器未接收到第二控制器通过板间高速通道发送的IO响应,则确定第二控制器对所述IO请求处理失败并且控制所述第二控制器对IO相关资源进行回收;
如果所述第二控制器接收到IO请求后在其本地链路上出现超时,则所述第一控制器需等待所述第二控制器的超时返回后才能够进行返回操作。
具体地,DID模块通过板间高速通道实现IO转发时需要设置超时时间,该超时时间应大于硬盘IO对应的超时时间,如果第一控制器在规定时间内转发的IO没有返回响应,则认为该IO处理失败。如果第一控制器超时,第二控制器要考虑回收IO响应,防止资源泄露。
此外,在IO转发过程中,如果第二控制器在收到IO请求后在其本地路径上出现超时,则需要第一控制器等待接收端超时返回确认后才能返回响应,否则可能导致数据不一致。
本发明实施例中,所述方法还包括:
当第一控制器与第二控制器建立好板间高速通道后,启动心跳检测功能以检测所述板间高速通道的通信状态。
本发明实施例中,所述方法还包括:
当第一控制器的本地路径故障恢复时,通过所述磁盘映射模块刷新路径信息,重新通过本地路径对IO请求进行处理。
具体地,从性能方面考虑,本地路径的优先级总是高于转发路径,当所有本地路径都不能访问,才会选择转发路径;当本地路径故障恢复,内核态device-mapper刷新路径信息,后续IO请求的时候仍然会优先选择本地路径。
图5为本发明实施例的存储系统中多控制器之间的IO转发装置的结构组成示意图,如图5所示,所述装置包括:
创建单元51,用于通知至少一个第二控制器为硬盘创建转发路径,以及从至少一个第二控制器接收创建转发路径的通知;所述第一控制器创建转发路径后,将所述转发路径注册至磁盘映射模块;
切换单元52,用于当第一控制器的本地路径发生故障时,通过所述磁盘映射模块的选路策略将所述第一控制器的本地路径切换至第一控制器的转发路径;通过所述转发路径将所述第一控制器的IO请求转发到第二控制器的本地路径上,对所述第一控制器的IO请求进行处理;
交互单元53,用于第一控制器接收第二控制器发送的IO响应。
本发明实施例中,所述创建单元51,具体用于:第一控制器启动后,如果检测到硬盘存在至少一条本地路径,则通过板间消息通知至少一个第二控制器为硬盘创建转发路径,以及从至少一个第二控制器接收创建转发路径的通知。
本发明实施例中,所述本地路径的优先级高于所述转发路径的优先级;
所述切换单元52,具体用于:如果通过所述磁盘映射模块检测到所述第一控制器的本地路径全部处于失效状态,则将所述第一控制器的本地路径切换至第一控制器的转发路径。
本发明实施例中,第一控制器通过板间高速通道向第二控制器发送IO请求;第一控制器通过板间高速通道接收第二控制器发送的IO响应。
本发明实施例中,所述装置还包括:定时单元54,用于设置用于检测是否超时的定时器;其中,如果在超时之前,第一控制器未接收到第二控制器通过板间高速通道发送的IO响应,则确定第二控制器对所述IO请求处理失败并且控制所述第二控制器对IO相关资源进行回收;如果所述第二控制器接收到IO请求后在其本地链路上出现超时,则所述第一控制器需等待所述第二控制器的超时返回后才能够进行返回操作。
本发明实施例中,所述装置还包括:心跳检测单元55,用于当第一控制器与第二控制器建立好板间高速通道后,启动心跳检测功能以检测所述板间高速通道的通信状态。
本发明实施例中,所述装置还包括:
恢复单元56,用于当第一控制器的本地路径故障恢复时,通过所述磁盘映射模块刷新路径信息,重新通过本地路径对IO请求进行处理。
本领域技术人员应当理解,本发明实施例的存储系统中多控制器之间的IO转发装置可参照本发明实施例的上述任意方案进行理解和补充说明。本发明实施例的存储系统中多控制器之间的IO转发装置可以通过具体的逻辑电路而实现。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。

Claims (14)

1.一种存储系统中多控制器之间的输入输出IO转发方法,其特征在于,所述方法包括:
第一控制器通知至少一个第二控制器为硬盘创建转发路径,以及从至少一个第二控制器接收创建转发路径的通知;
所述第一控制器创建转发路径后,将所述转发路径注册至磁盘映射模块;
当第一控制器的本地路径发生故障时,通过所述磁盘映射模块的选路策略将所述第一控制器的本地路径切换至第一控制器的转发路径;通过所述转发路径将所述第一控制器的IO请求转发到第二控制器的本地路径上,对所述第一控制器的IO请求进行处理;
第一控制器接收第二控制器发送的IO响应。
2.根据权利要求1所述的存储系统中多控制器之间的IO转发方法,其特征在于,所述第一控制器通知至少一个第二控制器为硬盘创建转发路径,以及从至少一个第二控制器接收创建转发路径的通知,包括:
第一控制器启动后,如果检测到硬盘存在至少一条本地路径,则通过板间消息通知至少一个第二控制器为硬盘创建转发路径,以及从至少一个第二控制器接收创建转发路径的通知。
3.根据权利要求1所述的存储系统中多控制器之间的IO转发方法,其特征在于,所述本地路径的优先级高于所述转发路径的优先级;
通过所述磁盘映射模块的选路策略将所述第一控制器的本地路径切换至第一控制器的转发路径,包括:
如果通过所述磁盘映射模块检测到所述第一控制器的本地路径全部处于失效状态,则将所述第一控制器的本地路径切换至第一控制器的转发路径。
4.根据权利要求1所述的存储系统中多控制器之间的IO转发方法,其特征在于,第一控制器通过板间高速通道向第二控制器发送IO请求;第一控制器通过板间高速通道接收第二控制器发送的IO响应。
5.根据权利要求4所述的存储系统中多控制器之间的IO转发方法,其特征在于,所述方法还包括:设置用于检测是否超时的定时器;
如果在超时之前,第一控制器未接收到第二控制器通过板间高速通道发送的IO响应,则确定第二控制器对所述IO请求处理失败并且控制所述第二控制器对IO相关资源进行回收;
如果所述第二控制器接收到IO请求后在其本地链路上出现超时,则所述第一控制器需等待所述第二控制器的超时返回后才能够进行返回操作。
6.根据权利要求4所述的存储系统中多控制器之间的IO转发方法,其特征在于,所述方法还包括:
当第一控制器与第二控制器建立好板间高速通道后,启动心跳检测功能以检测所述板间高速通道的通信状态。
7.根据权利要求1至6任一项所述的存储系统中多控制器之间的IO转发方法,其特征在于,所述方法还包括:
当第一控制器的本地路径故障恢复时,通过所述磁盘映射模块刷新路径信息,重新通过本地路径对IO请求进行处理。
8.一种存储系统中多控制器之间的IO转发装置,其特征在于,所述装置包括:
创建单元,用于通知至少一个第二控制器为硬盘创建转发路径,以及从至少一个第二控制器接收创建转发路径的通知;所述第一控制器创建转发路径后,将所述转发路径注册至磁盘映射模块;
切换单元,用于当第一控制器的本地路径发生故障时,通过所述磁盘映射模块的选路策略将所述第一控制器的本地路径切换至第一控制器的转发路径;通过所述转发路径将所述第一控制器的IO请求转发到第二控制器的本地路径上,对所述第一控制器的IO请求进行处理;
交互单元,用于第一控制器接收第二控制器发送的IO响应。
9.根据权利要求8所述的存储系统中多控制器之间的IO转发装置,其特征在于,所述创建单元,具体用于:第一控制器启动后,如果检测到硬盘存在至少一条本地路径,则通过板间消息通知至少一个第二控制器为硬盘创建转发路径,以及从至少一个第二控制器接收创建转发路径的通知。
10.根据权利要求8所述的存储系统中多控制器之间的IO转发装置,其特征在于,所述本地路径的优先级高于所述转发路径的优先级;
所述切换单元,具体用于:如果通过所述磁盘映射模块检测到所述第一控制器的本地路径全部处于失效状态,则将所述第一控制器的本地路径切换至第一控制器的转发路径。
11.根据权利要求8所述的存储系统中多控制器之间的IO转发装置,其特征在于,第一控制器通过板间高速通道向第二控制器发送IO请求;第一控制器通过板间高速通道接收第二控制器发送的IO响应。
12.根据权利要求11所述的存储系统中多控制器之间的IO转发装置,其特征在于,所述装置还包括:定时单元,用于设置用于检测是否超时的定时器;其中,如果在超时之前,第一控制器未接收到第二控制器通过板间高速通道发送的IO响应,则确定第二控制器对所述IO请求处理失败并且控制所述第二控制器对IO相关资源进行回收;如果所述第二控制器接收到IO请求后在其本地链路上出现超时,则所述第一控制器需等待所述第二控制器的超时返回后才能够进行返回操作。
13.根据权利要求11所述的存储系统中多控制器之间的IO转发装置,其特征在于,所述装置还包括:心跳检测单元,用于当第一控制器与第二控制器建立好板间高速通道后,启动心跳检测功能以检测所述板间高速通道的通信状态。
14.根据权利要求8至13任一项所述的存储系统中多控制器之间的IO转发装置,其特征在于,所述装置还包括:
恢复单元,用于当第一控制器的本地路径故障恢复时,通过所述磁盘映射模块刷新路径信息,重新通过本地路径对IO请求进行处理。
CN201710089225.2A 2017-02-20 2017-02-20 一种存储系统中多控制器之间的io转发方法及装置 Withdrawn CN108459977A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710089225.2A CN108459977A (zh) 2017-02-20 2017-02-20 一种存储系统中多控制器之间的io转发方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710089225.2A CN108459977A (zh) 2017-02-20 2017-02-20 一种存储系统中多控制器之间的io转发方法及装置

Publications (1)

Publication Number Publication Date
CN108459977A true CN108459977A (zh) 2018-08-28

Family

ID=63229000

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710089225.2A Withdrawn CN108459977A (zh) 2017-02-20 2017-02-20 一种存储系统中多控制器之间的io转发方法及装置

Country Status (1)

Country Link
CN (1) CN108459977A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108959137A (zh) * 2018-09-21 2018-12-07 郑州云海信息技术有限公司 一种数据传输方法、装置、设备及可读存储介质
CN109376029A (zh) * 2018-09-27 2019-02-22 郑州云海信息技术有限公司 一种scsi硬盘异常超时的处理方法及处理系统
CN113407466A (zh) * 2021-08-18 2021-09-17 苏州浪潮智能科技有限公司 一种io路径确定方法、装置、设备及可读存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101645915A (zh) * 2008-08-06 2010-02-10 中兴通讯股份有限公司 一种磁盘阵列主机通道子卡、在线切换系统及其切换方法
US7937617B1 (en) * 2005-10-28 2011-05-03 Symantec Operating Corporation Automatic clusterwide fail-back
CN104301146A (zh) * 2014-10-23 2015-01-21 杭州华三通信技术有限公司 软件定义网络中的链路切换方法和装置
WO2016116050A1 (zh) * 2015-01-23 2016-07-28 华为技术有限公司 环保护链路故障保护方法、设备及系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7937617B1 (en) * 2005-10-28 2011-05-03 Symantec Operating Corporation Automatic clusterwide fail-back
CN101645915A (zh) * 2008-08-06 2010-02-10 中兴通讯股份有限公司 一种磁盘阵列主机通道子卡、在线切换系统及其切换方法
CN104301146A (zh) * 2014-10-23 2015-01-21 杭州华三通信技术有限公司 软件定义网络中的链路切换方法和装置
WO2016116050A1 (zh) * 2015-01-23 2016-07-28 华为技术有限公司 环保护链路故障保护方法、设备及系统

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108959137A (zh) * 2018-09-21 2018-12-07 郑州云海信息技术有限公司 一种数据传输方法、装置、设备及可读存储介质
CN109376029A (zh) * 2018-09-27 2019-02-22 郑州云海信息技术有限公司 一种scsi硬盘异常超时的处理方法及处理系统
CN109376029B (zh) * 2018-09-27 2021-11-19 郑州云海信息技术有限公司 一种scsi硬盘异常超时的处理方法及处理系统
CN113407466A (zh) * 2021-08-18 2021-09-17 苏州浪潮智能科技有限公司 一种io路径确定方法、装置、设备及可读存储介质
CN113407466B (zh) * 2021-08-18 2021-11-09 苏州浪潮智能科技有限公司 一种io路径确定方法、装置、设备及可读存储介质
WO2023019858A1 (zh) * 2021-08-18 2023-02-23 苏州浪潮智能科技有限公司 一种io路径确定方法、装置、设备及可读存储介质
US12014051B2 (en) 2021-08-18 2024-06-18 Inspur Suzhou Intelligent Technology Co., Ltd. IO path determination method and apparatus, device and readable storage medium

Similar Documents

Publication Publication Date Title
US11307943B2 (en) Disaster recovery deployment method, apparatus, and system
KR100658913B1 (ko) 광범위한 클러스터들에서의 노드 장애에 대비하여 원격액세스가능 자원들을 계속적으로 모니터링하는 확장 방법
CN105095001B (zh) 分布式环境下虚拟机异常恢复方法
US7512841B2 (en) Method and system for network fault analysis
CN105122730A (zh) 用于快速链路故障处理的系统和方法
CN109101196A (zh) 主节点切换方法、装置、电子设备及计算机存储介质
CN105681077A (zh) 故障处理方法、装置及系统
CN108459977A (zh) 一种存储系统中多控制器之间的io转发方法及装置
JP2008107896A (ja) 物理資源制御管理システム、物理資源制御管理方法および物理資源制御管理用プログラム
CN104158707A (zh) 一种检测并处理集群脑裂的方法和装置
CN103856357A (zh) 一种堆叠系统故障处理方法及堆叠系统
CN105577444A (zh) 一种无线控制器管理方法及无线控制器
CN110580198A (zh) OpenStack计算节点自适应切换为控制节点的方法及装置
CN114371912A (zh) 数据中心的虚拟网络管理方法及数据中心系统
Fang et al. A fast and load-aware controller failover mechanism for software-defined networks
CN112165429A (zh) 分布式交换设备的链路聚合收敛方法和设备
CN104518995B (zh) 基于分布式架构的交换机虚拟化系统
CN102891767B (zh) 一种链路保护方法、网元及系统
CN113254205A (zh) 负载均衡系统、方法、装置、电子设备及存储介质
Lee et al. SAFE: A scalable autonomous fault-tolerant ethernet scheme for large-scale star networks
CN106534262A (zh) 一种网络信息系统故障的切换方法
CN114124803B (zh) 设备管理方法、装置、电子设备及存储介质
US7646705B2 (en) Minimizing data loss chances during controller switching
CN107547257B (zh) 一种服务器集群实现方法及装置
CN102239669B (zh) 一种数据转发方法和路由器

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
WW01 Invention patent application withdrawn after publication

Application publication date: 20180828

WW01 Invention patent application withdrawn after publication