掌桥专利:专业的专利平台
掌桥专利
首页

一种服务器存储子系统及其控制方法

文献发布时间:2023-06-19 13:29:16


一种服务器存储子系统及其控制方法

技术领域

本发明涉及服务器存储系统领域,特别涉及一种服务器存储子系统及其控制方法。

背景技术

在当今蓬勃发展的信息时代,各行各业都有大量的数据存储需求,服务器用户对服务器上数据存储的安全不断提出更高的要求。如何保证服务器可靠运行同时保证服务器上数据的可靠、安全,是服务器领域需要解决的关键问题。服务器通常通过RAID(RedundantArray of Independent Disks,独立磁盘冗余阵列)控制器下挂接多个硬盘来提高服务器存储子系统的数据安全级别,当数据发生意外丢失时尽可能保证服务器继续正常运行且尽可能恢复所丢失数据。这种RAID技术在服务器内单硬盘发生故障时有较好的数据保护作用,但服务器设计越来越复杂,一旦数据存储链路上的其他环节发生故障,仅仅依靠单RAID挂接多个硬盘已无法保证服务器上数据的安全且无法满足服务器不宕机的可用性需求。

因此,如何提供一种解决上述技术问题的方案是目前本领域技术人员需要解决的问题。

发明内容

有鉴于此,本发明的目的在于提供一种冗余度更高、进一步提高数据安全性的服务器存储子系统及其控制方法。其具体方案如下:

一种服务器存储子系统,包括:CPU、第一RAID控制器、第二RAID控制器、第一扩展芯片、第二扩展芯片、多个硬盘连接器,其中:

所述第一RAID控制器的第一端口均与所述CPU连接,所述第一RAID控制器的第二端口与所述第一扩展芯片的上行端口、所述第二扩展芯片的上行端口均连接;

所述第二RAID控制器的第一端口均与所述CPU连接,所述第二RAID控制器的第二端口与所述第一扩展芯片的上行端口、所述第二扩展芯片的上行端口均连接;

所述第一扩展芯片的多个下行端口分别与多个所述硬盘连接器的第一端口一一连接,所述第二扩展芯片的多个下行端口分别与多个所述硬盘连接器的第二端口一一连接;

每个所述硬盘连接器的输出端口用于连接硬盘。

优选的,所述服务器存储子系统包括一个所述CPU,所述第一RAID控制器和所述第二RAID控制器连接,以实现操作数据的同步。

优选的,所述服务器存储子系统包括2个数据互联的CPU,具体为第一CPU和第二CPU,其中所述第一RAID控制器与所述第一CPU连接,所述第二RAID控制器和所述第二CPU连接。

优选的,所述第一RAID控制器和所述第二RAID控制器连接,以实现操作数据的同步。

相应的,本申请还公开了一种服务器存储子系统的控制方法,应用于上文任一项所述服务器存储子系统,所述控制方法包括:

监测所有RAID控制器的运行状态;所述RAID控制器包括第一RAID控制器和第二RAID控制器;

若一个所述RAID控制器的运行状态异常,且另一个所述RAID控制器的运行状态正常,则将所有任务数据转移到运行状态正常的所述RAID控制器上,以使该RAID控制器执行所有任务。

优选的,所述监测所有RAID控制器的运行状态之前,还包括:

获取所有所述RAID控制器和第一扩展芯片、第二扩展芯片的连接线缆的在位状态;

根据所述在位状态,确定所有硬盘连接器的数据传输路径。

优选的,所述控制方法还包括:

监测所述服务器存储子系统的供电模块的供电良好信号和在位信号;

根据所述供电良好信号和所述在位信号判断所述供电模块的运行状态是否正常;

若否,使能所有所述RAID控制器启动掉电保护机制。

优选的,所述监测所述服务器存储子系统的供电模块的供电良好信号和在位信号的过程,包括:

监测所述服务器存储子系统的所有供电模块的供电良好信号和在位信号;

相应的,所述根据所述供电良好信号和所述在位信号判断所述供电模块的运行状态是否正常的过程,包括:

根据所述供电良好信号和所述在位信号判断所有所述供电模块的运行状态是否正常;

若所有所述供电模块的运行状态均不正常,使能所有所述RAID控制器启动掉电保护机制。

优选的,所述监测所述服务器存储子系统的供电模块的供电良好信号和在位信号的过程,包括:

通过CPLD监测所述服务器存储子系统的供电模块的供电良好信号和在位信号;

所述根据所述供电良好信号和所述在位信号判断所述供电模块的运行状态是否正常的过程,包括:

通过所述CPLD,根据所述供电良好信号和所述在位信号判断所述供电模块的运行状态是否正常;

若否,通过所述CPLD使能所有所述RAID控制器启动掉电保护机制。

本申请公开了一种服务器存储子系统,包括:CPU、第一RAID控制器、第二RAID控制器、第一扩展芯片、第二扩展芯片、多个硬盘连接器,通过设置第一RAID控制器、第二RAID控制器、第一扩展芯片和第二扩展芯片与其他元件的连接关系,提高了系统冗余度,任一控制器、扩展芯片、硬盘连接器、硬盘甚至链路的单一故障,都不会影响CPU和硬盘之间的数据传输,从而保证了数据安全,并满足了服务器不宕机的可用性需求。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本发明实施例中一种服务器存储子系统的结构分布图;

图2为本发明实施例中一种服务器存储子系统的结构分布图;

图3为本发明实施例中一种服务器存储子系统的控制方法的步骤流程图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

当前,服务器通常通过RAID控制器下挂接多个硬盘来提高服务器存储子系统的数据安全级别,当数据发生意外丢失时尽可能保证服务器继续正常运行且尽可能恢复所丢失数据。这种RAID技术在服务器内单硬盘发生故障时有较好的数据保护作用,但服务器设计越来越复杂,一旦数据存储链路上的其他环节发生故障,仅仅依靠单RAID挂接多个硬盘已无法保证服务器上数据的安全且无法满足服务器不宕机的可用性需求。

本申请公开了一种服务器存储子系统,包括:CPU(Central Processing Unit,中央处理器)、第一RAID控制器、第二RAID控制器、第一扩展芯片、第二扩展芯片、多个硬盘连接器,通过设置第一RAID控制器、第二RAID控制器、第一扩展芯片和第二扩展芯片与其他元件的连接关系,提高了系统冗余度,任一控制器、扩展芯片、硬盘连接器、硬盘甚至链路的单一故障,都不会影响CPU和硬盘之间的数据传输,从而保证了数据安全,并满足了服务器不宕机的可用性需求。

本发明实施例公开了一种服务器存储子系统,参见图1所示,包括:CPU、第一RAID控制器、第二RAID控制器、第一扩展芯片、第二扩展芯片、多个硬盘连接器,其中:

第一RAID控制器的第一端口均与CPU连接,第一RAID控制器的第二端口与第一扩展芯片的上行端口、第二扩展芯片的上行端口均连接;

第二RAID控制器的第一端口均与CPU连接,第二RAID控制器的第二端口与第一扩展芯片的上行端口、第二扩展芯片的上行端口均连接;

第一扩展芯片的多个下行端口分别与多个硬盘连接器的第一端口一一连接,第二扩展芯片的多个下行端口分别与多个硬盘连接器的第二端口一一连接;

每个硬盘连接器的输出端口用于连接硬盘。

可以理解的是,通过本实施例中各单元之间的连线,RAID控制器、扩展芯片、数据链路、硬盘数据的冗余均能够得到保证,CPU-RAID控制器-扩展芯片-硬盘连接器的整个传输系统中,每个传输层都有多个单元互为热备用。

为了提高本实施例中数据同步热备效率,本实施例中除了通过CPU使其下行的第一RAID控制器和第二RAID控制器的数据同步外,当系统包括一个所述CPU,还可以将第一RAID控制器和第二RAID控制器连接,以实现操作数据的同步。

进一步的,服务器存储子系统可能包括不止一个CPU,如图2所示,当服务器存储子系统包括2个数据互联的CPU,具体为第一CPU和第二CPU,其中第一RAID控制器与第一CPU连接,第二RAID控制器和第二CPU连接。进一步的,还可设置第一RAID控制器和第二RAID控制器连接,以实现操作数据的同步。

可以理解的是,在实际设置时,通常将CPU和第一RAID控制器、第二RAID控制器安排在硬盘主板上,将第一扩展芯片、第二扩展芯片和多个硬盘连接器设置在硬盘背板上,硬盘主板和硬盘背板之间利用SAS(Serial Attached SCSI,串行连接SCSI接口)连接器连接RAID控制器和扩展芯片。

具体接线时,CPU之间可选择CC总线互联;CPU和两个RAID控制器均通过PCIe x8信号互联,第一RAID控制器和第二RAID控制器既可以选择板载控制器,也可以选择PCIe(peripheral component interconnect express,最新的总线和接口标准)插卡式,当RAID控制器为PCIe插卡式,RAID控制器通过PCIe x16金手指与主板上的PCIe x16插槽连接,PCIe x16连接器上走PCIe x8信号与CPU连接,另外走8个SAS信号使两个RAID控制器连接;进一步的,RAID控制器之间连接的低速控制信号还可包括I2C信号和故障报警信号,可以通过PCIe x16连接器上的RSVD管脚传输。

进一步的,硬盘背板上的两个扩展芯片即SAS expander芯片,包括第一扩展芯片和第二扩展芯片,每个扩展芯片均具有上行8个SAS端口,其中4个SAS端口通过SAS连接器连接主板上的第一RAID控制器,另外4个SAS端口连接主板上第二RAID控制器;每个扩展芯片具有下行8个SAS端口,其中第一扩展芯片的8个SAS端口分别与8个硬盘连接器的第一端口连接,第二扩展芯片的8个SAS端口分别与8个硬盘连接器的第二端口连接。

CPU向硬盘读写数据时可通过任意一个RAID控制器进行,两个RAID控制器之间不分主/备,均为active状态。以图2为例,当第一CPU通过第一RAID控制器向硬盘读写数据时,第一RAID控制器还会将读写数据通过SAS信号实时发送给第二RAID控制器。同理,当第二CPU通过第二RAID控制器向硬盘读写数据时,第二RAID控制器还会将读写数据通过SAS信号实时发送给第一RAID控制器。控制信号用于两个RAID控制器之间沟通寄存器状态、健康状态,当其中一个RAID控制器发生异常时,另一个RAID控制器将接手其读写硬盘的任务。由于两个RAID控制器间硬盘数据实时保持同步,任务转交时可以做到动态切换,从而降低数据丢失或数据重传的可能性,同时避免因RAID控制器异常而服务器关机维护的操作,提高了服务器系统的可用性。

RAID控制器和扩展芯片之间的数据传输可通过4组MiniSAS HD x4的线缆和连接器实现,每组MiniSAS HD x4线缆和连接器可传输4组SAS差分信号和Sideband信号,Sideband信号包括I2C信号和线缆在位侦测信号。I2C信号用于RAID控制器控制硬盘状态指示灯,RAID控制器将控制命令通过I2C发给扩展芯片,扩展芯片对I2C信号解码后控制对应硬盘的状态指示灯。线缆在位侦测信号在主板上上拉到高电平,在硬盘背板上下拉到低电平,线缆起一个连通的作用,通过线缆连通后主板上BMC(Baseboard ManagementController,基板管理控制器)可侦测到线缆低有效的在位状态,线缆未成功安装则该信号为高。每次系统开机时BMC都可侦测四组线缆的在位状态,以保证存储子系统SAS链路的冗余度。

主板和硬盘背板之间通过SAS线缆连接以外,一般还有供电线缆和硬盘背板控制信号线缆,供电线缆用于给硬盘背板及硬盘供电,硬盘背板控制信号线缆用于侦测硬盘背板供电状态、健康状态管理等。

本申请公开了一种服务器存储子系统,包括:CPU、第一RAID控制器、第二RAID控制器、第一扩展芯片、第二扩展芯片、多个硬盘连接器,通过设置第一RAID控制器、第二RAID控制器、第一扩展芯片和第二扩展芯片与其他元件的连接关系,提高了系统冗余度,任一控制器、扩展芯片、硬盘连接器、硬盘甚至链路的单一故障,都不会影响CPU和硬盘之间的数据传输,从而保证了数据安全,并满足了服务器不宕机的可用性需求。

相应的,本申请实施例还公开了一种服务器存储子系统的控制方法,应用于上文任一项服务器存储子系统,参见图3所示,控制方法包括:

S1:监测所有RAID控制器的运行状态;RAID控制器包括第一RAID控制器和第二RAID控制器;

S2:若一个RAID控制器的运行状态异常,且另一个RAID控制器的运行状态正常,则将所有任务数据转移到运行状态正常的RAID控制器上,以使该RAID控制器执行所有任务。

进一步的,考虑到主板与背板之间的接线,监测所有RAID控制器的运行状态之前,还可包括:

获取所有RAID控制器和第一扩展芯片、第二扩展芯片的连接线缆的在位状态;

根据在位状态,确定所有硬盘连接器的数据传输路径。

进一步的,为了进一步提高本实施例中存储子系统的数据安全,本实施例对供电模块掉电的数据保护作了进一步的设置,通过提前获知供电模块的运行状态,利用RAID控制器的掉电保护功能,减少服务器意外掉电引起的数据丢失,控制方法还包括:

监测服务器存储子系统的供电模块的供电良好信号和在位信号;

根据供电良好信号和在位信号判断供电模块的运行状态是否正常;

若否,使能所有RAID控制器启动掉电保护机制。

进一步的,考虑到供电模块存在备用情况,监测服务器存储子系统的供电模块的供电良好信号和在位信号的过程,包括:

监测服务器存储子系统的所有供电模块的供电良好信号和在位信号;

相应的,根据供电良好信号和在位信号判断供电模块的运行状态是否正常的过程,包括:

根据供电良好信号和在位信号判断所有供电模块的运行状态是否正常;

若所有供电模块的运行状态均不正常,使能所有RAID控制器启动掉电保护机制。

具体的,关于供电模块的供电良好信号和在位信号对应是否启动掉电保护机制的逻辑控制,可如下表1所示,其中两个供电模块的供电良好信号分别为PG_1和PG_2,在位信号分别为PRSNT_N_1和PRSNT_N_2,令RAID控制器启动掉电保护机制的使能信号为EPOW_N,供电模块相同的两个RAID控制器的使能信号相同。

表1供电模块与使能RAID控制器的信号逻辑关系

当EPOW_N为高电平时RAID控制器正常工作,当EPOW_N为低电平时RAID控制器启动紧急存储,将系统当前的状态保存下,准备迎接即将发生的端点。

进一步的,本实施例中数据掉电保护部分的方法由CPLD实现,监测服务器存储子系统的供电模块的供电良好信号和在位信号的过程,包括:

通过CPLD监测服务器存储子系统的供电模块的供电良好信号和在位信号;

根据供电良好信号和在位信号判断供电模块的运行状态是否正常的过程,包括:

通过CPLD,根据供电良好信号和在位信号判断供电模块的运行状态是否正常;

若否,通过CPLD使能所有RAID控制器启动掉电保护机制。

本实施例针对现有技术中因硬件链路故障而发生数据丢失、系统宕机的问题,提出了高可用、高冗余的服务器存储子系统,通过全链路冗余设计和冗余RAID控制器实时备份的技术,保证了数据实时冗余备份,且当链路中任何一处发生故障时系统具有实时切换的能力。

最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

以上对本发明所提供的一种服务器存储子系统及其控制方法进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

相关技术
  • 一种服务器存储子系统及其控制方法
  • 一种转子系统及其控制方法和燃气轮机发电机组及其控制方法
技术分类

06120113694184