CN107766181A - 一种基于PCIe非透明桥的双控制器存储高可用子系统 - Google Patents

一种基于PCIe非透明桥的双控制器存储高可用子系统 Download PDF

Info

Publication number
CN107766181A
CN107766181A CN201710817651.3A CN201710817651A CN107766181A CN 107766181 A CN107766181 A CN 107766181A CN 201710817651 A CN201710817651 A CN 201710817651A CN 107766181 A CN107766181 A CN 107766181A
Authority
CN
China
Prior art keywords
service network
opposite end
local terminal
controller
network port
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.)
Granted
Application number
CN201710817651.3A
Other languages
English (en)
Other versions
CN107766181B (zh
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.)
CETC 52 Research Institute
Original Assignee
CETC 52 Research Institute
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 CETC 52 Research Institute filed Critical CETC 52 Research Institute
Priority to CN201710817651.3A priority Critical patent/CN107766181B/zh
Publication of CN107766181A publication Critical patent/CN107766181A/zh
Application granted granted Critical
Publication of CN107766181B publication Critical patent/CN107766181B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明公开了一种基于PCIe非透明桥的双控制器存储高可用子系统,包括位于所述第一控制器和第二控制器上的异常检测模块、I/O重定向模块、缓存镜像模块和HA逻辑模块。异常检测模块通过所述两条心跳链路感知对端在位状态,还用于检测本端各业务网口的状态,并在两个控制器间传递各自业务网口的状态信息,当检测到业务网口异常或对端在位状态异常时向HA逻辑模块上报异常事件;HA逻辑模块接收异常检测模块上报的异常事件,下达调度指令;I/O重定向模块和缓存镜像模块根据调度指令实现对故障控制器的接管。本发明不仅能保证一个控制器整体宕机时的存储服务连续性,而且能容忍心跳网络、业务网口等部件故障,很好地解决了不同粒度的故障迁移和故障恢复问题。

Description

一种基于PCIe非透明桥的双控制器存储高可用子系统
技术领域
本发明属于双控制器存储系统设计中的高可用子系统技术领域,尤其涉及一种基于PCIe非透明桥的双控制器存储高可用子系统。
背景技术
随着存储阵列技术的发展,存储产品的功能特性日渐增多,I/O性能也得到不断地提高。但是目前双控制器存储阵列的设计与实现虽种类繁多,但都没有实现一套既兼顾功能又兼顾性能的高可用子系统。
在双控制器存储系统的高可用设计中,有三个必不可少的关键组件:能感知异常事件的异常检测模块,能保证I/O业务不中断的网络高可用模块,以及能保证数据一致性的缓存镜像模块。这三个模块相互协作,共同保证存储服务的可靠性和I/O数据的一致性。
PCIe非透明桥(Peripheral Component Interconnect Express Non-transparent Bridge,简称PCIe NTB)提供基于板间PCIe链路的总线带宽,通过HBA或者板载芯片连接多个主机节点,实现节点间高效率的数据通信。目前基于非透明桥的研究和应用,主要有两个方面。一是通过非透明桥门铃机制来完成心跳检测,这种直接基于硬件寄存器的消息传递可以及时且稳定的实现一方故障后,另一主机快速察觉并作出状态转换。二是借助非透明桥的PCIe lane的直接互联实现内部高速数据通信,可以作为多机系统的内部高速I/O通道。
目前已经有人单独地基于PCIe非透明桥来实现冗余心跳链路,或单独基于PCIe非透明桥来实现缓存镜像的工作,但都没有涉及到双控制器存储的高可用设计中的I/O重定向方面的工作,还不能构成双控制器存储高可用子系统的完整方案,亟需进一步进行研究。
发明内容
本发明的目的是提供一种基于PCIe非透明桥的双控制器存储高可用子系统,选择PCIe非透明桥来作为基础构件,实现业务I/O的重定向,提供高速稳定的存储服务。
为了实现上述目的,本发明技术方案如下:
一种基于PCIe非透明桥的双控制器存储高可用子系统,应用于双控制器存储阵列,所述双控制器存储阵列包括第一控制器和第二控制器,所述第一控制器和第二控制器之间通过共享背板上的内部网口建立有第一条心跳链路,所述第一控制器和第二控制器之间还通过PCIe非透明桥模拟的网络接口建立有第二条心跳链路,所述高可用子系统包括位于所述第一控制器和第二控制器上的异常检测模块、I/O重定向模块、缓存镜像模块和HA逻辑模块,其中:
所述异常检测模块,用于通过所述两条心跳链路感知对端在位状态,还用于检测本端各业务网口的状态,并在两个控制器间传递各自业务网口的状态信息,当检测到业务网口异常或对端在位状态异常时向HA逻辑模块上报异常事件;
所述HA逻辑模块,用于接收异常检测模块上报的异常事件,根据异常事件类型及异常检测模块检测到的本端各业务网口的状态及接收到的对端业务网口的状态进行调度,下达调度指令;
所述I/O重定向模块,用于根据HA逻辑模块下达的调度指令,将业务I/O转移到本端可用业务网口上或对端可用业务网口上,当将业务I/O转移到对端可用业务网口上时,将业务I/O通过PCIe非透明桥模拟的网络接口对应的链路转发回本端,以实现I/O重定向;
所述缓存镜像模块,用于在双控制器正常运行时,工作在双机模式,将本端缓存通过PCIe非透明桥内置的DMA通道发送到对端作为镜像备份;根据HA逻辑模块下达的调度指令,在对端不在位时,切换为单机工作模式,将对端的镜像数据转化为缓存数据,并切换底层存储模式为透写模式;在对端故障恢复后,根据HA逻辑模块下达的调度指令,重新工作在双机模式,并切换底层存储模式为回写模式。
进一步地,所述高可用子系统在第一控制器和第二控制器之间,还通过PCIe非透明桥芯片上的门铃寄存器建立有第三条心跳链路。
进一步地,当所述异常事件为本端的业务网口故障时,所述HA逻辑模块在本端有可用业务网口时,下发“本端IP漂移”指令,所述I/O重定向模块接收到“本端IP漂移”指令后,通过ARP协议解除故障业务网口IP的绑定,并按照设定的优先级顺序在本端可用业务网口上执行IP的绑定。
当所述异常事件为本端的业务网口恢复时,所述HA逻辑模块下发“本端IP漂移”指令,所述I/O重定向模块接收到“本端IP漂移”指令后,通过ARP协议恢复原故障业务网口IP的绑定。
当所述异常事件为本端的业务网口故障时,所述HA逻辑模块在本端无可用业务网口时,下发“对端IP漂移”指令,所述I/O重定向模块通过ARP协议解除本端故障业务网口IP的绑定,并通知对端的I/O重定向模块在对端可用业务网口执行IP的绑定,然后将业务I/O通过PCIe非透明桥模拟的网络接口对应的链路转发回本端,以实现I/O重定向。
当所述异常事件为本端所有的业务网口故障时,所述HA逻辑模块下发“对端IP漂移”指令,所述I/O重定向模块通过ARP协议解除本端故障业务网口IP的绑定,并通知对端的I/O重定向模块在对端可用业务网口执行IP的绑定,然后将业务I/O通过PCIe非透明桥模拟的网络接口对应的链路转发回本端,以实现I/O重定向。
当所述异常事件为本端的业务网口恢复时,所述HA逻辑模块下发“对端IP漂移”指令,先通知对端的I/O重定向模块停止通过PCIe非透明桥模拟的网络接口进行I/O转发,并由ARP协议解除相应网口上IP的绑定,然后本端I/O重定向模块通过ARP协议恢复原故障业务网口IP的绑定。
当所述异常事件为对端不在位故障时,HA逻辑模块下发“接管对端存储服务”指令,所述缓存镜像模块切换为单机工作模式,将对端的镜像数据转化为缓存数据,并切换底层存储模式为透写模式,所述I/O重定向模块将原属于对端的业务网口IP绑定到本端可用业务网口上。
当所述异常事件为对端从故障状态恢复到在位状态时,HA逻辑模块下发“恢复对端存储服务”指令,所述缓存镜像模块切换为双机工作模式,将本端缓存通过PCIe非透明桥内置的DMA通道发送到对端作为镜像备份,并切换底层存储模式为回写模式,所述I/O重定向模块通过ARP协议将原属于对端的业务网口IP解绑,并通知对端的I/O重定向模块将业务网口IP绑回到对端可用业务网口上。
本发明提出了一种基于PCIe非透明桥的双控制器存储高可用子系统,不仅能保证一个控制器整体宕机时的存储服务连续性,而且能容忍心跳网络、业务网口等部件故障,很好地解决了不同粒度的故障迁移和故障恢复问题;同时,缓存镜像支持安全的异步写模式,避免了单点故障时异步写I/O缓存的丢失,保证了数据的一致性,并保持对用户的透明度,高效、快速、可靠地为用户提供高可用的存储服务。
附图说明
图1为本发明双控制器存储阵列结构示意图;
图2为本发明控制器结构示意图;
图3为本发明高可用子系统工作原理示意图。
具体实施方式
下面结合附图和实施例对本发明技术方案做进一步详细说明,以下实施例不构成对本发明的限定。
PCIe非透明桥技术是在标准的PCIe透明桥规则上衍生出来的,目标是解决多处理器系统中地址总线冲突的问题。非透明桥下行端口一侧的设备对系统主机端不可见,从而有效的隔离了主机系统和与下行端口相连的从系统的地址空间。桥两侧呈现类型0CSR(control status register)头,通过CSR头的BAR(Base Address Register)创建PCI地址空间,建立BAR地址空间到桥另一侧内存地址空间的地址映射。通过这种地址翻译(AddressTranslation)将事务由桥一侧转发至另一侧,完成PCI域地址空间到远端内存空间的地址映射。
如图1所示,本申请基于PCIe非透明桥(Peripheral Component InterconnectExpress Non-transparent Bridge,简称PCIe NTB)实现存储阵列中双控制器的连接,存储阵列包括第一控制器和第二控制器,第一控制器与第二控制器通过PCIe非透明桥连接,并共享后端的磁盘,第一控制器和第二控制器还具有共享背板。每个控制器可以各有一个PCIe NTB桥片,或者两个控制器共享一个PCIe NTB桥片,本实施例以每个控制器各有一个PCIe NTB桥片为例进行说明。
本实施例一种基于PCIe非透明桥的双控制器存储高可用子系统,应用于双控制器存储阵列,所述高可用子系统在第一控制器和第二控制器之间通过共享背板上的内部网口建立有第一条心跳链路,以及通过PCIe非透明桥模拟的网络接口(Network InterfaceCard,简称NIC)建立有第二条心跳链路,以及采用PCIe非透明桥内置的DMA通道(DirectMemory Access,直接内存存取)作为控制器间缓存镜像的数据传输通道。
如图2所示,所述高可用子系统还包括位于所述第一控制器和第二控制器上的异常检测模块、I/O重定向模块、缓存镜像模块和HA(High Availability)逻辑模块,其中:
异常检测模块,用于通过所述两条心跳链路感知对端在位状态,以及检测本端各业务网口的状态,并在两个控制器间传递各自业务网口的状态信息,当检测到本端业务网口异常或对端在位状态异常时向HA逻辑模块上报异常事件;
HA逻辑模块,用于接收异常检测模块上报的异常事件,根据异常事件类型及异常检测模块检测到的本端各业务网口的状态及接收到的对端业务网口的状态进行调度,下达调度指令;
I/O重定向模块,用于根据HA逻辑模块下达的调度指令,将业务I/O转移到本端可用业务网口上或对端可用业务网口上,当将业务I/O转移到对端可用业务网口上时,将业务I/O通过PCIe非透明桥模拟的网络接口对应的链路转发回本端,以实现I/O重定向;
缓存镜像模块,用于在双控制器正常运行时,工作在双机模式,将本端缓存通过PCIe非透明桥内置的DMA通道发送到对端作为镜像备份;根据HA逻辑模块下达的调度指令,在对端不在位时,切换为单机工作模式,将对端的镜像数据转化为缓存数据,并切换底层存储模式为透写模式;在对端故障恢复后,根据HA逻辑模块下达的调度指令,重新工作在双机模式,并切换底层存储模式为回写模式。
具体地,本实施例第一条心跳链路采用双控制器存储阵列共享背板上的内部网口建立,该网口硬件遵循标准以太网协议,加载通用驱动即可使用。同时在每台控制器上,通过PCIe NTB的底层硬件API实现一套NIC接口,并将两台控制器上对应NIC接口之间的通路通过RRP协议(Totem Redundant Ring Protocol)设置为第二条心跳链路,作为第一条心跳链路的冗余心跳链路。同时,该第二条心跳链路也即PCIe非透明桥模拟的网络接口对应的链路,还用于业务网口故障时两个控制器内部之间的I/O重定向时的业务I/O转发。
本实施例控制器上的异常检测模块通过上述第一条心跳链路和第二条心跳链路,能够感知类似控制器整机掉电、控制器整机宕机等导致的控制器不在位异常事件。本实施例异常检测模块还检测本端各业务网口的状态,并在两个控制器间传递各自业务网口的状态信息。其中,检测本端各业务网口的状态,可以采用定期发送检测信息,得不到回应则判断为异常的方法。在检测到本端业务网口异常、或对端在位状态异常时,需要向HA逻辑模块上报异常事件。
需要说明的是,异常检测模块在两个控制器间传递各自业务网口的状态信息时,通过当前的心跳链路来传递。即第一条心跳链路为主,第二条心跳链路为备援时,通过第一条心跳链路的通道来传递;当以第二条心跳链路为主,第一条心跳链路为备援时,通过第二条心跳链路的通道来传递。通过传递控制器各自业务网口的状态信息,可以了解对端是否有可用业务网口。
本实施例HA逻辑模块在收到异常检测模块上报的异常事件后,会查看异常检测模块检测到的本端各业务网口的状态,以及异常检测模块接收到的对端业务网口的状态,进行调度,即通过内置的策略引擎计算对应的高可用策略,然后据此下发调度命令。
本实施例在双机正常运行时,每端控制器的缓存镜像模块工作在双机模式,分别将本端缓存Cache通过PCIe NTB DMA通道发送到对端,以作为镜像备份Mirror;当本端将缓存中的缓存下盘时,发送落盘通知到对端,对端将对应的镜像数据删除。这里本端指缓存镜像模块所在的控制器,对端指另一个控制器,当第一控制器为本端时,对端是第二控制器,反之亦然。本实施例通过PCIe NTB内置的DMA通道封装了一套高速的数据发送和接收接口,以作为双控制器间缓存镜像的数据传输通道。
此外,本实施例通过PCIe NTB桥芯片上的门铃寄存器实现第三条心跳链路,即以一定的频率向对端PCIe NTB芯片上的门铃寄存器写标志数据,通过触发中断的机制来传递心跳信号,实现第三条心跳链路。当系统发生重大故障,第一路心跳失效,并且PCIe NTB芯片功能受限,不能够互发网络数据包时,向对端门铃寄存器写入标志数据来传递本端的状态信息,并在推送告警信息后启动相应的应急处理机制。应急处理机制一般根据业务逻辑来制定,在此类状况下常用的做法与脑裂处理方法类似,即强制将一端控制器下电关机,以免两个控制器同时操作读写同一个设备,造成数据的不一致甚至毁损。使用内部心跳通道的另一个好处是无需额外铺设外部线路,不赘余,更安全。
以下根据不同的异常事件类型,来分别进行说明:
实施例一、当异常检测模块检测到本端的一个业务网口故障时,将该异常事件上报到HA逻辑模块。
HA逻辑模块接收到异常事件后,查看异常检测模块检测到的本端各业务网口的状态,以及异常检测模块接收到的对端业务网口的状态,在本端有可用业务网口时,下发“本端IP漂移”指令,I/O重定向模块接收到调度指令后,通过ARP协议解除故障业务网口IP的绑定,并按照设定的优先级顺序在本端其他可用业务网口上执行IP的绑定,使得业务I/O转移到该绑定的业务网口上。
HA逻辑模块在本端无可用业务网口时,下发“对端IP漂移”指令,所述I/O重定向模 块通过ARP协议解除本端故障业务网口IP的绑定,并通知对端的I/O重定向模块在对端可用 业务网口执行IP的绑定,然后通过iptables地址映射技术将业务I/O通过PCIe NTB NIC接 口对应的链路转发回本端,以实现I/O重定向。所述业务I/O是上层发来的读写任务。
实施例二、如果异常检测模块检测到本端所有的业务网口均发生故障,则将该异常事件上报到HA逻辑模块。
HA逻辑模块接收到异常事件后,查看异常检测模块检测到的本端各业务网口的状 态,以及异常检测模块接收到的对端业务网口的状态,下发“对端IP漂移”指令,I/O重定向 模块接收到调度指令后,通过ARP协议解除本端故障业务网口IP的绑定,并通知对端的I/O 重定向模块在对端可用业务网口执行IP的绑定,然后通过iptables地址映射技术将业务I/ O通过PCIe NTB NIC接口对应的链路转发回本端,以实现I/O重定向。
容易理解的是,本实施例异常事件不仅仅是指业务网口故障或控制器不在位,对于业务网口从故障状态恢复、以及控制器从不在位恢复到在位状态,都可以作为异常事件上报。在上述实施例中,当本端有业务网口恢复时,异常检测模块检测到业务网口恢复,上报异常事件到HA逻辑模块,HA逻辑模块进行调度,下发调度指令。
当故障业务网口的业务I/O转移到本端其他可用业务网口时,在故障业务网口恢复后,HA逻辑模块下发“本端IP漂移指令”,I/O重定向模块接收到调度指令后,通过ARP协议恢复原故障业务网口IP的绑定,重新绑定IP到恢复的业务网口。
当故障业务网口的业务I/O转移到对端可用业务网口时,在故障业务网口恢复后,HA逻辑模块下发“对端IP漂移”指令,先通知对端的I/O重定向模块停止通过PCIe NTB NIC进行I/O转发,并由ARP协议解除对应网口上IP的绑定,然后本端I/O重定向模块通过ARP协议恢复原故障业务网口IP的绑定。
实施例三、如果异常检测模块检测到对端不在位,则将该异常事件上报到HA逻辑模块。当其中一个控制器宕机时,例如第一控制器宕机时,第二控制器的异常检测模块感知相应的异常事件,上报HA逻辑模块,HA逻辑模块下发“接管对端存储服务”指令,此时,第二控制器接管第一控制器下的存储资源。缓存镜像模块切换为单机工作模式,并将第一控制器端的镜像数据转化为缓存数据,切换底层存储模式为透写模式,然后I/O重定向模块通过ARP协议将原属于第一控制器的业务网口IP绑定到本端可用业务网口上;当第一控制器恢复时,各个控制器异常检测模块上报事件到各自的HA逻辑模块,第二控制器HA逻辑模块下发“恢复对端存储服务”指令,第一控制器HA逻辑模块下发“接管本端存储服务”指令,缓存镜像模块进行存储资源的故障恢复操作,两端的缓存镜像模块都设置回双机工作模式,切换底层存储模式为回写模式,并分别将本端缓存通过PCIe非透明桥内置的DMA通道发送到对端作为镜像备份。第二控制器的I/O重定向模块通过ARP协议将原属于对端的业务网口IP解绑,并通知对端的I/O重定向模块将业务网口IP绑回到对端可用业务网口上,以避免造成I/O业务的中断。
需要说明的是,本实施例底层存储模式为透写模式时,写入操作在I/O落盘(数据已经安全地写到磁盘中)后才会发写请求完成信号,而回写模式是指I/O写入缓存即发写请求完成信号,这里不再赘述。
如图3所示,本实施例基于PCIe非透明桥的双控制器存储高可用子系统在控制器上启动后,工作过程如下:
启动后,缓存镜像模块工作在双机模式,异常检测模块通过心跳信息检测对端在位状态,例如控制器整机掉电、宕机或控制器被拔出等事件,都可以造成控制器不在位,异常检测模块还用于检测本端各业务网口的状态,包括网络服务状态,能够感知网线断开、网卡失效等异常事件,并在两个控制器间传递各自业务网口的状态信息,当检测到本端业务网口异常或对端在位状态异常时向HA逻辑模块上报异常事件。
各控制器上的缓存镜像模块在双控制器正常运行时,工作在双机模式,分别将本端缓存通过DMA通道发送到对端作为镜像备份,底层存储Target为回写模式;采用第二条心跳链路作为第一条心跳链路的冗余心跳链路,当双机集群内部的第一路心跳链路出现异常时,启用第二条心跳链路(PCIe NTB的NIC接口)来作为主用心跳链路,防止因争夺资源而导致的脑裂现象出现。当上述两路心跳链路都出现异常时,再通过第三条心跳链路(门铃机制)实现心跳信息的传递。
当出现异常事件时,异常检测模块上报异常事件,HA逻辑模块接收异常检测模块上报的异常事件,根据异常事件类型及异常检测模块检测到的本端各业务网口的状态及接收到的对端业务网口的状态进行调度,即进行高可用策略的计算与设计,下发调度指令。
具体地,如果本端的存储业务网口发生故障,HA逻辑模块经过高可用策略计算,下发“本端IP漂移”指令,I/O重定向模块通过ARP协议将IP漂移到本端其他可用业务网口上。
如果本端已经没有可用的物理网口,则HA逻辑模块计算高可用策略,下发“对端IP 漂移”指令,I/O重定向模块通过ARP协议将IP漂移到对端可用业务网口上。此时,存储业务 I/O被发送到对端,存储目标器Target却在本端,就会触发相应的I/O重定向机制,通过 iptables技术将业务I/O从对端通过内部PCIe NTB NIC转发到本端的存储目标器Target。
需要说明的是,当本端的业务网口恢复工作后,业务I/O又会迁移回本端,并关闭相应的I/O重定向机制。此外,当内部的第一条心跳链路失效而又恢复时,又会自动切换为备用心跳链路,以备援现用的PCIe NTB心跳链路。
当一端控制器发生整机故障时,在位端通过异常检测模块感知到相应异常事件,将异常事件上报HA逻辑模块,HA逻辑模块下发调度指令,接管异常端的存储服务,缓存镜像模块切换为单机工作模式,将底层存储模式切换为透写模式(write through),之前异常端控制器的镜像备份数据Mirror自动转化为缓存数据Cache。并且,I/O重定向模块通过ARP协议将原属于故障端的业务网口IP迁移到在位端。
需要说明的是,本实施例中控制器在位就是指控制器处于正常工作状态,而不在位即发生故障或其他情况,控制器不能正常工作。
当异常端控制器修复完成又重新上线后,其异常检测模块将事件上报HA逻辑模块,HA逻辑模块下发调度指令,接管回原属本端的存储服务,并将本端和对端的缓存镜像都切换为双机工作模式,并将双端底层存储模式切换到回写模式(write back),双控制器重新互发缓存镜像数据。并且,I/O重定向模块通过ARP协议将原属于故障端的业务网口IP迁移回原位。
以上实施例仅用以说明本发明的技术方案而非对其进行限制,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。

Claims (9)

1.一种基于PCIe非透明桥的双控制器存储高可用子系统,应用于双控制器存储阵列,所述双控制器存储阵列包括第一控制器和第二控制器,所述第一控制器和第二控制器之间通过共享背板上的内部网口建立有第一条心跳链路,其特征在于,所述第一控制器和第二控制器之间还通过PCIe非透明桥模拟的网络接口建立有第二条心跳链路,所述高可用子系统包括位于所述第一控制器和第二控制器上的异常检测模块、I/O重定向模块、缓存镜像模块和HA逻辑模块,其中:
所述异常检测模块,用于通过所述两条心跳链路感知对端在位状态,还用于检测本端各业务网口的状态,并在两个控制器间传递各自业务网口的状态信息,当检测到业务网口异常或对端在位状态异常时向HA逻辑模块上报异常事件;
所述HA逻辑模块,用于接收异常检测模块上报的异常事件,根据异常事件类型及异常检测模块检测到的本端各业务网口的状态及接收到的对端业务网口的状态进行调度,下达调度指令;
所述I/O重定向模块,用于根据HA逻辑模块下达的调度指令,将业务I/O转移到本端可用业务网口上或对端可用业务网口上,当将业务I/O转移到对端可用业务网口上时,将业务I/O通过PCIe非透明桥模拟的网络接口对应的链路转发回本端,以实现I/O重定向;
所述缓存镜像模块,用于在双控制器正常运行时,工作在双机模式,将本端缓存通过PCIe非透明桥内置的DMA通道发送到对端作为镜像备份;根据HA逻辑模块下达的调度指令,在对端不在位时,切换为单机工作模式,将对端的镜像数据转化为缓存数据,并切换底层存储模式为透写模式;在对端故障恢复后,根据HA逻辑模块下达的调度指令,重新工作在双机模式,并切换底层存储模式为回写模式。
2.如权利要求1所述的基于PCIe非透明桥的双控制器存储高可用子系统,其特征在于,所述高可用子系统在第一控制器和第二控制器之间,还通过PCIe非透明桥芯片上的门铃寄存器建立有第三条心跳链路。
3.如权利要求1所述的基于PCIe非透明桥的双控制器存储高可用子系统,其特征在于,所述异常事件为本端的业务网口故障时,所述HA逻辑模块在本端有可用业务网口时,下发“本端IP漂移”指令,所述I/O重定向模块接收到“本端IP漂移”指令后,通过ARP协议解除故障业务网口IP的绑定,并按照设定的优先级顺序在本端可用业务网口上执行IP的绑定。
4.如权利要求3所述的基于PCIe非透明桥的双控制器存储高可用子系统,其特征在于,所述异常事件为本端的业务网口恢复时,所述HA逻辑模块下发“本端IP漂移”指令,所述I/O重定向模块接收到“本端IP漂移”指令后,通过ARP协议恢复原故障业务网口IP的绑定。
5.如权利要求1所述的基于PCIe非透明桥的双控制器存储高可用子系统,其特征在于,所述异常事件为本端的业务网口故障时,所述HA逻辑模块在本端无可用业务网口时,下发“对端IP漂移”指令,所述I/O重定向模块通过ARP协议解除本端故障业务网口IP的绑定,并通知对端的I/O重定向模块在对端可用业务网口执行IP的绑定,然后将业务I/O通过PCIe非透明桥模拟的网络接口对应的链路转发回本端,以实现I/O重定向。
6.如权利要求1所述的基于PCIe非透明桥的双控制器存储高可用子系统,其特征在于,所述异常事件为本端所有的业务网口故障时,所述HA逻辑模块下发“对端IP漂移”指令,所述I/O重定向模块通过ARP协议解除本端故障业务网口IP的绑定,并通知对端的I/O重定向模块在对端可用业务网口执行IP的绑定,然后将业务I/O通过PCIe非透明桥模拟的网络接口对应的链路转发回本端,以实现I/O重定向。
7.如权利要求5或6所述的基于PCIe非透明桥的双控制器存储高可用子系统,其特征在于,所述异常事件为本端的业务网口恢复时,所述HA逻辑模块下发“对端IP漂移”指令,先通知对端的I/O重定向模块停止通过PCIe非透明桥模拟的网络接口进行I/O转发,并由ARP协议解除相应网口上IP的绑定,然后本端I/O重定向模块通过ARP协议恢复原故障业务网口IP的绑定。
8.如权利要求1所述的基于PCIe非透明桥的双控制器存储高可用子系统,其特征在于,所述异常事件为对端不在位故障时,HA逻辑模块下发“接管对端存储服务”指令,所述缓存镜像模块切换为单机工作模式,将对端的镜像数据转化为缓存数据,并切换底层存储模式为透写模式,所述I/O重定向模块将原属于对端的业务网口IP绑定到本端可用业务网口上。
9.如权利要求8所述的基于PCIe非透明桥的双控制器存储高可用子系统,其特征在于,所述异常事件为对端从故障状态恢复到在位状态时,HA逻辑模块下发“恢复对端存储服务”指令,所述缓存镜像模块切换为双机工作模式,将本端缓存通过PCIe非透明桥内置的DMA通道发送到对端作为镜像备份,并切换底层存储模式为回写模式,所述I/O重定向模块通过ARP协议将原属于对端的业务网口IP解绑,并通知对端的I/O重定向模块将业务网口IP绑回到对端可用业务网口上。
CN201710817651.3A 2017-09-12 2017-09-12 一种基于PCIe非透明桥的双控制器存储高可用子系统 Active CN107766181B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710817651.3A CN107766181B (zh) 2017-09-12 2017-09-12 一种基于PCIe非透明桥的双控制器存储高可用子系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710817651.3A CN107766181B (zh) 2017-09-12 2017-09-12 一种基于PCIe非透明桥的双控制器存储高可用子系统

Publications (2)

Publication Number Publication Date
CN107766181A true CN107766181A (zh) 2018-03-06
CN107766181B CN107766181B (zh) 2021-04-20

Family

ID=61265114

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710817651.3A Active CN107766181B (zh) 2017-09-12 2017-09-12 一种基于PCIe非透明桥的双控制器存储高可用子系统

Country Status (1)

Country Link
CN (1) CN107766181B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109117393A (zh) * 2018-08-06 2019-01-01 郑州云海信息技术有限公司 一种双路ntb通信方法、装置及系统
CN109213446A (zh) * 2018-08-23 2019-01-15 郑州云海信息技术有限公司 写缓存模式的切换方法、装置、设备及可读存储介质
CN109213574A (zh) * 2018-09-26 2019-01-15 郑州云海信息技术有限公司 一种用于存储系统之间的信息传输方法、装置及介质
CN109298981A (zh) * 2018-09-27 2019-02-01 郑州云海信息技术有限公司 一种pcie双冗余芯片之间的数据同步方法、系统
CN109446153A (zh) * 2018-11-07 2019-03-08 西安微电子技术研究所 一种大容量固态存储刀片
CN111737062A (zh) * 2020-06-24 2020-10-02 浙江大华技术股份有限公司 一种备份处理方法、装置及系统

Citations (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080005377A1 (en) * 2006-06-14 2008-01-03 Dell Products L.P. Peripheral Component Health Monitoring Apparatus and Method
CN101488105A (zh) * 2008-01-18 2009-07-22 中兴通讯股份有限公司 实现存储双控制器高可用性的方法及存储双控制器系统
WO2011141956A1 (en) * 2010-05-11 2011-11-17 Hitachi, Ltd. Storage device and method of controlling storage device
CN102662803A (zh) * 2012-03-13 2012-09-12 深圳华北工控股份有限公司 一种双控双活冗余设备
CN103605618A (zh) * 2013-11-20 2014-02-26 浪潮电子信息产业股份有限公司 一种缓存镜像系统无写回的镜像和直写切换方法
CN104102559A (zh) * 2014-07-16 2014-10-15 浪潮电子信息产业股份有限公司 一种基于冗余心跳链路和对端重启链路的双控制器存储系统
CN104270450A (zh) * 2014-10-10 2015-01-07 浪潮集团有限公司 一种采用udp协议的双控制器多链路心跳监测方法
CN104391658A (zh) * 2014-12-03 2015-03-04 浪潮集团有限公司 一种多控制器磁盘阵列高可用状态机转化方法
CN104486128A (zh) * 2014-12-23 2015-04-01 浪潮(北京)电子信息产业有限公司 一种实现双控制器节点间冗余心跳的系统及方法
CN104536853A (zh) * 2015-01-09 2015-04-22 浪潮电子信息产业股份有限公司 一种保障双控制器存储设备资源连续可用性的方法
CN104572508A (zh) * 2015-01-22 2015-04-29 山东超越数控电子有限公司 一种基于PCIE非透明桥的cache镜像方法
CN104699584A (zh) * 2015-03-20 2015-06-10 浪潮集团有限公司 一种pcie非透明桥性能测试的方法
CN105045531A (zh) * 2015-07-01 2015-11-11 山东超越数控电子有限公司 一种存储双控制器间缓存同步机制
CN105786398A (zh) * 2014-11-18 2016-07-20 财团法人工业技术研究院 存储器映射方法和存储器映射系统
CN105847050A (zh) * 2016-03-23 2016-08-10 华中科技大学 一种工业以太网的断线故障检测及时钟同步恢复方法
CN106776159A (zh) * 2015-11-25 2017-05-31 财团法人工业技术研究院 具有故障转移的快速外围元件互连网络系统与操作方法
CN106888116A (zh) * 2016-12-30 2017-06-23 北京同有飞骥科技股份有限公司 一种双控制器集群共享资源的调度方法
US20170228336A1 (en) * 2014-06-23 2017-08-10 Liqid Inc. Modular Switched Fabric For Data Storage Systems

Patent Citations (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080005377A1 (en) * 2006-06-14 2008-01-03 Dell Products L.P. Peripheral Component Health Monitoring Apparatus and Method
CN101488105A (zh) * 2008-01-18 2009-07-22 中兴通讯股份有限公司 实现存储双控制器高可用性的方法及存储双控制器系统
WO2011141956A1 (en) * 2010-05-11 2011-11-17 Hitachi, Ltd. Storage device and method of controlling storage device
CN102662803A (zh) * 2012-03-13 2012-09-12 深圳华北工控股份有限公司 一种双控双活冗余设备
CN103605618A (zh) * 2013-11-20 2014-02-26 浪潮电子信息产业股份有限公司 一种缓存镜像系统无写回的镜像和直写切换方法
US20170228336A1 (en) * 2014-06-23 2017-08-10 Liqid Inc. Modular Switched Fabric For Data Storage Systems
CN104102559A (zh) * 2014-07-16 2014-10-15 浪潮电子信息产业股份有限公司 一种基于冗余心跳链路和对端重启链路的双控制器存储系统
CN104270450A (zh) * 2014-10-10 2015-01-07 浪潮集团有限公司 一种采用udp协议的双控制器多链路心跳监测方法
CN105786398A (zh) * 2014-11-18 2016-07-20 财团法人工业技术研究院 存储器映射方法和存储器映射系统
CN104391658A (zh) * 2014-12-03 2015-03-04 浪潮集团有限公司 一种多控制器磁盘阵列高可用状态机转化方法
CN104486128A (zh) * 2014-12-23 2015-04-01 浪潮(北京)电子信息产业有限公司 一种实现双控制器节点间冗余心跳的系统及方法
CN104536853A (zh) * 2015-01-09 2015-04-22 浪潮电子信息产业股份有限公司 一种保障双控制器存储设备资源连续可用性的方法
CN104572508A (zh) * 2015-01-22 2015-04-29 山东超越数控电子有限公司 一种基于PCIE非透明桥的cache镜像方法
CN104699584A (zh) * 2015-03-20 2015-06-10 浪潮集团有限公司 一种pcie非透明桥性能测试的方法
CN105045531A (zh) * 2015-07-01 2015-11-11 山东超越数控电子有限公司 一种存储双控制器间缓存同步机制
CN106776159A (zh) * 2015-11-25 2017-05-31 财团法人工业技术研究院 具有故障转移的快速外围元件互连网络系统与操作方法
CN105847050A (zh) * 2016-03-23 2016-08-10 华中科技大学 一种工业以太网的断线故障检测及时钟同步恢复方法
CN106888116A (zh) * 2016-12-30 2017-06-23 北京同有飞骥科技股份有限公司 一种双控制器集群共享资源的调度方法

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109117393A (zh) * 2018-08-06 2019-01-01 郑州云海信息技术有限公司 一种双路ntb通信方法、装置及系统
CN109213446A (zh) * 2018-08-23 2019-01-15 郑州云海信息技术有限公司 写缓存模式的切换方法、装置、设备及可读存储介质
CN109213574A (zh) * 2018-09-26 2019-01-15 郑州云海信息技术有限公司 一种用于存储系统之间的信息传输方法、装置及介质
CN109298981A (zh) * 2018-09-27 2019-02-01 郑州云海信息技术有限公司 一种pcie双冗余芯片之间的数据同步方法、系统
CN109446153A (zh) * 2018-11-07 2019-03-08 西安微电子技术研究所 一种大容量固态存储刀片
CN111737062A (zh) * 2020-06-24 2020-10-02 浙江大华技术股份有限公司 一种备份处理方法、装置及系统

Also Published As

Publication number Publication date
CN107766181B (zh) 2021-04-20

Similar Documents

Publication Publication Date Title
CN107766181A (zh) 一种基于PCIe非透明桥的双控制器存储高可用子系统
US11075795B2 (en) Arbitration method, apparatus, and system used in active-active data centers
US10567340B2 (en) Data center system
CN109831341A (zh) 一种冗余双网卡的快速切换方法及装置
JP2004213125A (ja) 高可用ディスク制御装置とその障害処理方法及び高可用ディスクサブシステム
CN106506588A (zh) 多地多中心的数据中心双活方法和系统
CN106776159A (zh) 具有故障转移的快速外围元件互连网络系统与操作方法
CN106982160B (zh) 链路非对称网闸双机热备系统及主备切换方法
CN106357787A (zh) 一种存储容灾控制系统
CN101841408A (zh) 主备路由设备切换方法及路由设备
CN103763155A (zh) 分布式云存储系统多服务心跳监测方法
CN112003716A (zh) 一种数据中心双活实现方法
CN105554106A (zh) 一种memcache分布式缓存系统
CN103049225A (zh) 一种双控双活的存储系统
KR20070033866A (ko) 정보 처리 장치, 통신 부하 분산 방법 및 통신 부하 분산프로그램을 기록한 기록 매체
CN101212287A (zh) 基于端口的冗余备份的方法
CN102662803A (zh) 一种双控双活冗余设备
WO2015007096A1 (zh) 主、备用设备切换方法及装置
CN104731727A (zh) 一种双控存储系统监控管理系统及方法
TW201432474A (zh) 應用伺服器至非依電性隨機存取記憶體之路徑選取技術
CN101645915A (zh) 一种磁盘阵列主机通道子卡、在线切换系统及其切换方法
CN105072029A (zh) 一种双活双控存储系统的冗余链路设计方法及系统
CN103490914A (zh) 一种网络应用设备多机热备的切换系统及方法
CN102647304A (zh) 地址解析协议表的同步方法及装置
CN106155943A (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
GR01 Patent grant
GR01 Patent grant