一种磁盘阵列主机通道子卡、在线切换系统及其切换方法

文档序号:7918304阅读:210来源:国知局
专利名称:一种磁盘阵列主机通道子卡、在线切换系统及其切换方法
技术领域
本发明涉及磁盘阵列技术,更具体地,涉及一种支持磁盘阵列主机通道 子卡、在线切换系统及其切换方法。
背景技术
在信息时代,数字存储业务日益增长,磁盘阵列作为存储载体,与服务 器之间的不间断互连越来越重要,当前主流的磁盘阵列使用的是双控制器, 当其中 一个控制器发生故障时,另外一个控制器必须能4矣管故障控制器的业 务。
在通常的双控磁盘阵列系统中,工作状态是active-active,两个控制器同 时工作,通过各自的主机通道与J3良务器HBA卡相连,物理连接线缆是相互独 立的,与服务器进行存储交换的命令和数据通过cache (緩存)同步通道实时 更新到对板控制器上。
当一个控制器出现故障或halt等重大故障时,通常控制器的内存iiA自 刷新模式,保护内存数据,等控制器复位后,再次读取控制器的内存数据, 继续上次的存储业务,这种中断在关键存储业务里是不允许的。业界成熟的 做法是在磁盘阵列外部添加光纤交换机,将不同控制器的主机通道划分到同 一个zone里,或在服务器上安装cluster软件,切换物理端口、逻辑巻和逻辑 分区等存储交换单元。但是,这种外部切换适合于控制器掉电故障,对非掉 电性的CPU重大故障, 一般也是无法切换的;更重要的是,随着存储网络的 扩大,这种额外付出的硬件、软件成本会成倍增加。
图1给出了业界处理主机通道冗余切换和恢复的通用做法。图1中,控 制器之间、控制器与硬盘之间通过背板进行连接,扩展通道和硬盘通道都通 过后端磁盘处理模块来进行交换,硬盘具有双通道,每块硬盘与两个控制器 之间都有直接的物理连接,当一个控制器出现故障,另外一个控制器可以直才娄^接管硬盘和硬盘扩展柜,但是,主机通道却不能直接交给另外一个控制器。
现有的做法是在服务器与磁盘阵列之间添加一个FC/GE交换机,把两个控制 器对应的主机通道端口放在一个ZONE (域)里,负责物理上的可连接性, 同时在服务器端里安装Multi-Path (多路径)之类的软件,在对应的主机端口 做一个切换和恢复功能。
可以看出,存储网络中增加了 2个节点,分别是交换机和冗余软件,如 果需要硬件路径完全冗余,还必须增加一台冗余的交换机。随着存储网络的 扩大,冗余设备及成本就会凸现出来。

发明内容
本发明所要解决的技术问题是提供一种在磁盘阵列内部实现磁盘阵列主 机通道子卡、在线切换系统及其切换方法,实现存储业务持续交换,节约成 本。
为了解决上述技术问题,本发明提供了 一种磁盘阵列主机通道在线切换 系统,包含主控制器,还包含主机通道子卡,主机通道子卡通过背板与其对 应的主控制器相连,用于提供一主机通道,其中,
正常情况下,主控制器通过与其相连的主机通道子卡与服务器交换命令 和数据;
在主控制器故障时,与该主控制器相连的主机通道子卡将接口连接到对 板的主机通道子卡,由对板的主控制器接管该故障主控制器的命令和数据交 换。
进一步的,上述切换系统还可具有以下特点,该主机通道子卡进一步包 ^^妄口4莫块、桥接才莫块和切换控制才莫块,其中
接口模块,与桥接模块和服务器相连,用于桥接模块和服务器之间命令 和数据的传输;
桥接模块,与切换控制模块和背板相连,用于主控制器和接口模块之间 命令和数据的传输,包含第一输入接口,第二输入接口和输出接口,接口模 块和第一输入接口相连,第二输入接口和输出接口相连,输出接口通过背板和主控制器相连,根据切换控制模块的指示控制第一输入接口和输出接口的
连接关系,正常工作时,第一输入接口与输出接口相连;
切换控制模块,用于检测主控制器的工作状态,根据主控制器的工作状 态控制桥接模块的连接,及与对板的切换控制模块交换控制信息。
进一步的,上述切换系统还可具有以下特点,所述第一输入4娄口和第二 输入接口共享输出接口的带宽。
进一步的,上述切换系统还可具有以下特点,所述切换控制才莫块,还用 于检测到主控制器故障时,指示桥接模块将第一输入接口与输出接口断开, 将其连接到对板的主机通道子卡的第二输入接口;及,
用于检测到主控制器从故障状态中恢复时,指示桥接才莫块将第一输入接 口和对板的第二输入接口断开,将第 一输入接口连接到本板的输出接口 。
进一步的,上述切换系统还可具有以下特点,所述桥接模块和切换控制 模块使用可编程逻辑器件FPGA或专用集成电路ASIC芯片实现。
本发明还提出一种主机通道子卡,该主机通道子卡包含接口4莫块、桥接 模块和切换控制模块,其中
接口模块,与桥接模块和服务器相连,用于桥接模块和服务器之间命令 和数据的传输;
桥接模块,与切换控制模块和背板相连,用于主控制器和接口模块之间 命令和数据的传输,包含第一输入接口,第二输入接口和输出接口,接口模 块和第一输入接口相连,第二输入接口和输出接口相连,输出接口通过背板 和主控制器相连,根据切换控制模块的指示控制第一输入接口和输出接口的 连接关系,正常工作时,第一输入接口与输出接口相连;所述第一输入接口 和第二输入接口共享输出接口的带宽;
切换控制模块,用于检测主控制器的工作状态,根据主控制器的工作状 态控制桥接模块的连接,及与对板的切换控制模块交换控制信息。
进一步的,上述主机通道子卡还可具有以下特点,所述切换控制才莫块, 还用于检测到主控制器故障时,指示桥接模块将第一输入接口与输出接口断 开,将其连接到对板的主机通道子卡的第二输入接口,及用于检测到主控制器从故障状态中恢复时,指示桥接模块将第一输入接口和对板的第二输入接 口断开,将第一输入接口连接到本板的输出接口。
本发明还提出 一种磁盘阵列主机通道在线切换方法,应用于本发明所述
的磁盘阵列主;f几通道在线切换系统中,包含 检测主控制器;
如果主控制器工作不正常,该控制器所在板称为故障板,故障板发送切 换命令给对板,指示需要切换主机通道,将接口信号连接到对板;
对板收到切换命令后,判断需要切换主机通道,打开与故障板的互连接 口 ,开始接管故障板的命令和数据交换业务。
进一步的,上述切换方法还可具有以下特点,如果所述故障板故障恢复, 发送恢复命令给对板,指示恢复主机通道,对板收到该恢复命令后,断开与 故障板的接口,故障板将接口信号切换到本板,接管本板的命令和数据交换 业务。
进一步的,上述切换方法还可具有以下特点,所述切换控制模块检测到 主控制器故障时,指示桥接模块将第一输入接口与本板的输出接口断开,将 第一输入接口连接到对板的主机通道子卡的第二输入接口 ,并发送切换命令 给对板的切换控制模块,对板的切换控制模块收到该切换命令后,发送给与 其相连的主控制器,该主控制器接管故障主控制器的命令和数据交换;
所述切换控制才莫块检测到主控制器从故障状态中恢复时,指示桥接模块 将第 一输入接口和对板的第二输入接口断开,将第 一输入接口连接到本板的 输出接口,并发送恢复命令给对板的切换控制模块,本板主控制器接管本板 的主控制器的命令和数据交换。
综上所述,本发明通过主机通道子卡,提供主机通道的切换和恢复,当 任何一个主控制器出现故障或系统中断时,能够将主机通道在线切换到另外 一个主控制器上,当主控制器系统恢复后,能自动切换回原主控制器,整个 过程在一个磁盘阵列内部完成,减少了外部交换机设备和服务器端的冗余路 径软件,在中型及中型以上的存储网络里能较大节省构建冗余路径设备和成 本;同时,主机通道子卡化,能为统一存储和定制化存储提供条件,对提升产品竟争力有好处。


图1是现有技术中控制器与服务器连接示意图2是本发明磁盘阵列主机通道在线切换系统示意图3是本发明一应用实例磁盘阵列主机通道在线切换系统示意图4是本发明切换前后数据流程示意图5是本发明主机通道切换方法流程图。
具体实施例方式
下面结合附图和具体实施例对本发明作进一步详细的描述。
本发明中,将主机通道单独设计成一个子卡,该子卡由背板直接供电, 当主控制器出现故障或更换时,该子卡仍能正常工作,保证主机通道和服务 器之间的物理连接。
如图2所示,在一个磁盘阵列系统中,包含两个主控制器,每个主控制 器对应一个主机通道子卡。每个主机通道子卡,通过背板与其主控制器相连, 用于提供一主机通道,其中,主控制器通过该主机通道子卡和服务器相连, 与服务器交换命令和数据。主机通道子卡用于分离主控制器,保证主机通道 持续供电和正常工作,其中
正常情况下,主控制器通过该主机通道子卡与^^务器交换命令和数据;
在主控制器故障时,与该主控制器相连的主机通道子卡将接口连接到对 板的主机通道子卡,由对板的主控制器接管该故障主控制器的命令和数据交 换。
该主机通道子卡进一步包含接口模块、桥接模块和切换控制模块,其中
接口模块,与桥接模块和服务器相连,用于桥接模块和服务器之间命令 和数据的传输;具体的,将来自桥接模块的命令和数据发送给服务器,及将服务器的命令和数据发送给桥接模块;
桥接模块,与切换控制模块和背板相连,用于主控制器和接口模块之间 命令和数据的传输,即将来自接口才莫块的命令和数据发送给主控制器,和将 来自主控制器的命令和数据发送给接口模块,包含第一输入接口 ,第二输入 接口和输出接口,接口模块和第一输入接口相连,第二输入接口和输出接口 相连,输出接口通过背板和主控制器相连,根据切换控制模块控制第一输入 接口和输出接口的连接关系,该主机通道子卡对应的主控制器正常情况下, 第一输入接口和输出接口相连,故障情况下,第一输入接口与输出接口断开, 连接到对板的主机通道子卡的第二输入接口 ;
切换控制模块,用于检测主控制器的工作状态,根据主控制器的工作状 态控制桥接模块的连接,及与对板的切换控制模块交换控制信息。
切换控制模块检测到主控制器故障时,指示桥接模块将第一输入接口与 输出接口断开,连4秦到对板的主4几通道子卡的第二输入接口,并发送切换命 令给对板的切换控制才莫块,对板的切换控制模块收到该切换命令后,发送给 与其相连的主控制器,该主控制器接管故障主控制器的命令和数据交换。
切换控制模块检测到主控制器从故障状态中恢复时,指示桥接模块将第 一输入接口和对板的第二输入接口断开,将第一输入接口连接到本板的输出 接口,并发送恢复命令给对板的切换控制模块,本板主控制器接管本板的主 控制器的命令和数据交换。
通常使用FPGA/ASIC芯片实现切换控制模块和桥接4莫块,使用FC/SCSI 芯片实现接口模块,上述第一输入接口、第二输入接口和输出接口均为PCI 接口,主控制器和背板之间也是PCI接口,第一输入接口和第二输出接口共 享输出接口的接口带宽。
图3所示为本发明使用FPGA/ASIC芯片实现主机通道子卡的一应用实 例。PCI桥接和切换过程由一对FPGA/ASIC芯片完成。
主机通道子卡包含一个FPGA (Programmable Logic Device,可编程逻辑 器件)/ASIC (Application Specific Integrated Circuit,专用集成电路)芯片、FC (光纤通道接口 ) /SCSI ( Small Computer System Interface,小型计算机系 统专用接口 )芯片和SFP模块等电路,FPGA/ASIC芯片负责与主控制器CPU 的PCI接口交换数据,FC/SCSI芯片负责将PCI数据转换为光模块接入信号, SFP模块将电信号转换为光信号,实现与服务器的连接,该子卡系统的供电 独立于主控制器,保证主控制器出现故障时,能够持续工作,且在主控制器 更换或复位后,能保持主机通道与服务器的不间断连接。两主控制器通过 FPGA/ASIC实现心跳互测,根据心跳信号判断是否切换或恢复PCI总线。
下面通过主控制器2发生故障进行切换,以及主控制器2故障恢复再次 切换的处理过程,说明该系统的工作流程。主控制器1发生故障及故障恢复 的时候其处理类似上述主控制器2故障及故障恢复的处理。图3中所示PCI-4 相对于第一输入接口, PCI-3相当于第二输入接口, PCI-2相当于输出接口, PCI國5连接到PCI-4。
正常工作时,即主控制器l、 2均正常时,每个子卡的PCI-4与PCI-3共 享PCI-2总线带宽,正常情况下,PCI-3通道不使用,主控制器通过PCI-2, PCI-4, PCI-5和服务器相连;
当主控制器2出现故障或操作系统halt时,主机通道子卡2将检测到的 故障信号发送给子卡1 ,同时将子卡2的PCI-4连接到子卡1上的PCI-3上, 形成了 2个子卡的PCI-5共享子卡1的一个PCI-2总线,在这个过程中,两个 主控制器的cache命令和数据已经通过cache同步通道,实时镜像,这样,主 控制器1根据cache里的命令和数据,继续完成主控制器2未完成的工作。
当主控制器2系统恢复后,子卡2检测到系统恢复信号后,发送系统恢 复信号到子卡l,子卡l将主控制器l的cache数据同步给主控制器2,并把 子卡1的PCI-3与子卡2的PCI-4断开,子卡2重新将子卡2的连接到 PCI-2上,由于有2个FPGA/ASIC的控制,可将2个子卡看作一个整体,可 以用同步时钟做到无缝切换。这样,2个子卡的PCI-4和PCI-3共享各自的 PCI-2通道,而PCI-3继续维持空闲状态。
本发明中,整个主机通道切换过程不需要外部交换机或Multi-Path软件 做切换或恢复过程,因此节省了成本。
另外,该子卡还有一个重要作用当前主流的主机接口是FC和iSCSI,这两种接口的一体化是存储的发展趋势,该子卡可以做成FC主机接口和 iSCSI接口的两种形式,根据客户不同需求,定制不同的主机接口类型,适应 不同的客户。
图4是以主控制器1和子卡1为例的数据流程示意图。 正常工作时或故障恢复后的数据流程主机通道数据- >子卡1的FC信 号-〉子卡1的PCI-5信号-〉子卡1的PCI-4信号-〉子卡1的PCI-2信号->背板- >主控制器1的PCI-2信号- >主控制器1的PCI-1信号-〉主控制器 1的后端磁盘处理系统-〉双通道硬盘。
子卡1故障,切换到子卡2后的数据流程主机通道数据->子卡1的 FC信号-〉子卡1的PCI-5信号- >子卡1的PCI-4信号- >子卡2的PCI-3 信号- >子卡2的PCI-2信号- >背板- >主控制器2的PCI-2信专- >主控制 器2 PCI-1信号- >主控制器2的后端磁盘处理系统-〉双通道硬盘。
其中,图4中的FPGA/ASIC芯片PCI总线切换包含如下过程断开子卡 1的PCI-4与子卡1的PCI-3的物理连接,同时将子卡1的PCI-4与子卡2的 PCI-3连接起来。
FPGA/ASIC芯片PCI总线连接或恢复包含连接子卡1的PCI-4与子卡 1的PCI-3的物理通道,断开子卡1的PCI-4与子卡2的PCI-3的连接。
本发明还提出一种磁盘阵列主机通道在线切换方法,应用于本发明的磁 盘阵列主机通道在线切换系统,包括以下步骤
a、 主机通道子卡的切换控制才莫块(可以使用FPGA/ASIC实现)检测本 板主控制器CPU正常工作信号和掉电信号;
b、 若发现主控制器CPU不正常,通知对板切换控制才莫块(也可以使用 FPGA/ASIC实现),即发送心跳信号给对板,将本板FPGA/ASIC的PCI接 口信号连接到对板FPGA/ASIC的PCI接口信号上。
心跳信号就是控制器1把自己的状态信号发送给主控制器2,主控制器2 再把自己的状态信号发送给控制器1,询问对方是否在正常的工作状态。c、 对板FPGA/ASIC收到心跳信号后,判断另一主控制器发生重大故障, 需要切换主机通道,打开互连PCI通道,并通过CPU,接管故障主控制器的 存储交换命令和数据。
d、 故障主控制器恢复后,发送恢复命令给对板FPGA/ASIC,对板 FPGA/ASIC收到恢复命令后,切断互连PCI总线,同时主控制器将cache同 步到原故障主控制器里,原故障主控制器的FPGA/ASIC芯片将PCI总线切换 本板主控制器上。
如图5所示下面实施例中以子卡1发生故障进行切换,然后子卡1故 障恢复,重新切换为例进行说明。该方法同样适用与子卡2发生故障进行切 换,及故障恢复后的处理。
步骤401:》兹盘阵列系统上电。
步骤402:子卡1检测主控制器1的工作状态,判断是否需要切换主机 通道,如果需要切换主机通道,往下执行步骤403,如果不需要切换,返回 步骤402,继续检测。
步骤403:子卡1发送切换命令给子卡2。
步骤404:子卡1将其总线PCI-4切换到子卡2的总线PCI-3上。
步骤405:子卡2发送切换命令给主控制器2,主控制器2开始接管子卡 1的主机通道。
步骤406:主控制器2根据cache命令和数据,继续主控制器1的命令和 数据交换。
步骤407:子卡l判断是否恢复主机通道给主控制器l,如果需要恢复, 往下执行步骤408,如果不需要恢复,返回步骤406;
步骤408:子卡1发送恢复命令给子卡2。
步骤409:子卡2发送恢复命令给主控制器2,主控制器2释放子卡1的 主才几通道;
步骤410:子卡1将其总线PCI-4切回其总线PCI-2。步骤411:子卡l发送恢复命令主控制器l,主控制器l开始"l妻管子卡l 的主机通道。
步骤412:主控制器1根据cache命令和数据,在原来主控制器2接管的 命令和数据的基础上继续命令和数据交换。
步骤413:完成切换和恢复主机通道操作,结束。
综上所述,本发明通过主机通道子卡,提供主机通道的切换和恢复,当 任何一个主控制器出现故障或系统中断时,能够将主机通道在线切换到另外 一个主控制器上,当主控制器系统恢复后,能自动切换回原主控制器,整个 过程在一个磁盘阵列内部完成,减少了外部FC/GE交换机设备和服务器端的 冗余路径软件,在中型及中型以上的存储网络里能较大节省构建冗余路径设 备和成本;同时,主机通道子卡化,能为统一存储和定制化存储提供条件, 对提升产品竟争力有好处。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本 发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本 发明的保护范围之内。
权利要求
1、一种磁盘阵列主机通道在线切换系统,包含主控制器,其特征在于,还包含主机通道子卡,主机通道子卡通过背板与其对应的主控制器相连,用于提供一主机通道,其中,正常情况下,主控制器通过与其相连的主机通道子卡与服务器交换命令和数据;在主控制器故障时,与该主控制器相连的主机通道子卡将接口连接到对板的主机通道子卡,由对板的主控制器接管该故障主控制器的命令和数据交换。
2、 如权利要求1所述的在线切换系统,其特征在于,该主机通道子卡进 一步包含接口模块、桥接模块和切换控制模块,其中接口模块,与桥接模块和服务器相连,用于桥接模块和服务器之间命令 和数据的传输;桥接模块,与切换控制模块和背板相连,用于主控制器和接口模块之间 命令和数据的传输,包含第一输入接口,第二输入接口和输出接口,接口模 块和第一输入接口相连,第二输入接口和输出接口相连,输出接口通过背板 和主控制器相连,根据切换控制模块的指示控制第一输入接口和输出接口的 连接关系,正常工作时,第一输入接口与输出4妄口相连;切换控制才莫块,用于检测主控制器的工作状态,根据主控制器的工作状 态控制桥接模块的连接,及与对板的切换控制模块交换控制信息。
3、 如权利要求2所述的在线切换系统,其特征在于,所述第一输入接口 和第二输入接口共享输出接口的带宽。
4、 如权利要求2所述的在线切换系统,其特征在于,所述切换控制才莫块,还用于检测到主控制器故障时,指示桥接才莫块将第 一输入接口与输出接口断开,将其连接到对板的主机通道子卡的第二输入接 口;及,用于检测到主控制器从故障状态中恢复时,指示桥接才莫块将第一输入接口和对板的第二输入接口断开,将第 一输入接口连接到本板的输出接口 。
5、 如权利要求2所述的在线切换系统,其特征在于,所述桥接才莫块和切 换控制模块使用可编程逻辑器件FPGA或专用集成电路ASIC芯片实现。
6、 一种主机通道子卡,其特征在于,该主机通道子卡包含接口模块、桥 接模块和切换控制模块,其中接口模块,与桥接模块和服务器相连,用于桥接模块和服务器之间命令 和数据的传输;桥接模块,与切换控制模块和背板相连,用于主控制器和接口模块之间 命令和数据的传输,包含第一输入接口,第二输入接口和输出接口,接口模 块和第一输入接口相连,第二输入接口和输出接口相连,输出接口通过背板 和主控制器相连,根据切换控制模块的指示控制第 一输入接口和输出接口的 连接关系,正常工作时,第一输入接口与输出接口相连;所述第一输入接口 和第二输入接口共享输出接口的带宽;切换控制模块,用于检测主控制器的工作状态,根据主控制器的工作状 态控制桥接模块的连接,及与对板的切换控制模块交换控制信息。
7、 如权利要求6所述的主机通道子卡,其特征在于,所述切换控制模块, 还用于检测到主控制器故障时,指示桥接才莫块将第 一输入接口与输出接口断 开,将其连接到对板的主机通道子卡的第二输入接口,及用于检测到主控制 器从故障状态中恢复时,指示桥接才莫块将第一输入接口和对板的第二输入接 口断开,将第一输入接口连接到本板的输出接口。
8、 一种磁盘阵列主机通道在线切换方法,应用于权利要求2所述的磁盘 阵列主机通道在线切换系统中,其特征在于,包含检测主控制器;如果主控制器工作不正常,该控制器所在板称为故障板,故障;t!JC送切 换命令给对板,指示需要切换主机通道,将接口信号连接到对板;对板收到切换命令后,判断需要切换主机通道,打开与故障板的互连接 口 ,开始接管故障板的命令和数据交换业务。
9、 如权利要求8所述的在线切换方法,其特征在于,如果所迷故障板故 障恢复,发送恢复命令给对板,指示恢复主机通道,对板收到该恢复命令后, 断开与故障板的接口,故障板将接口信号切换到本板,接管本板的命令和数 据交换业务。
10、 如权利要求8所述的在线切换方法,其特征在于,所述切换控制4莫块检测到主控制器故障时,指示桥4姜4莫块将笫 一输入接 口与本板的输出接口断开,将第 一输入接口连接到对板的主机通道子卡的第 二输入接口,并发送切换命令给对板的切换控制模块,对板的切换控制模块 收到该切换命令后,发送给与其相连的主控制器,该主控制器接管故障主控 制器的命令和数据交换;所述切换控制模块检测到主控制器从故障状态中恢复时,指示桥接模块 将第 一输入接口和对板的第二输入接口断开,将第一输入接口连接到本板的 输出接口,并发送恢复命令给对板的切换控制模块,本板主控制器接管本板 的主控制器的命令和数据交换。
全文摘要
本发明提供了一种磁盘阵列主机通道在线切换系统和切换方法,该系统包含主控制器和主机通道子卡,二者通过背板相连,正常情况下,主控制器通过与其相连的主机通道子卡与服务器交换命令和数据;在主控制器故障时,与该主控制器相连的主机通道子卡将接口连接到对板的主机通道子卡,由对板的主控制器接管该故障主控制器的命令和数据交换。本发明还提供一种主机通道子卡,包含接口模块、桥接模块和切换控制模块。本发明通过主机通道子卡,当一个主控制器出现故障时,在线切换到另外一个主控制器上,当主控制器系统恢复后,能自动切换回原主控制器,整个过程在磁盘阵列内部完成,减少了外部交换机设备和服务器端的冗余路径软件,能较大节省设备和成本。
文档编号H04L29/08GK101645915SQ200810144098
公开日2010年2月10日 申请日期2008年8月6日 优先权日2008年8月6日
发明者孙发明, 张葱仔 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1