CN117632808B - 多控存储阵列、存储系统、数据处理方法以及存储介质 - Google Patents

多控存储阵列、存储系统、数据处理方法以及存储介质 Download PDF

Info

Publication number
CN117632808B
CN117632808B CN202410096344.0A CN202410096344A CN117632808B CN 117632808 B CN117632808 B CN 117632808B CN 202410096344 A CN202410096344 A CN 202410096344A CN 117632808 B CN117632808 B CN 117632808B
Authority
CN
China
Prior art keywords
controller node
controller
storage
data
node
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.)
Active
Application number
CN202410096344.0A
Other languages
English (en)
Other versions
CN117632808A (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.)
Suzhou Metabrain Intelligent Technology Co Ltd
Original Assignee
Suzhou Metabrain Intelligent Technology Co Ltd
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 Suzhou Metabrain Intelligent Technology Co Ltd filed Critical Suzhou Metabrain Intelligent Technology Co Ltd
Priority to CN202410096344.0A priority Critical patent/CN117632808B/zh
Publication of CN117632808A publication Critical patent/CN117632808A/zh
Application granted granted Critical
Publication of CN117632808B publication Critical patent/CN117632808B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本申请实施例提供了一种多控存储阵列、存储系统、数据处理方法以及存储介质,所述存储阵列包括4控存储模块,所述4控存储模块包括两组控制器对和存储扩展磁盘柜;所述两组控制器对之间基于以太网连接;所述两组控制器对中任一组控制器对包括两个控制器节点,每个控制器节点均与所述存储扩展磁盘柜连接,以对所述存储扩展磁盘柜进行共享访问;所述每个控制器节点中均设置有缓存单元,任一控制器节点在响应写数据请求后确定自身对应的目标镜像控制器节点,所述目标镜像控制器节点的缓存单元中存储有该控制器节点的缓存镜像。本申请实施例旨在提高存储阵列的可用性。

Description

多控存储阵列、存储系统、数据处理方法以及存储介质
技术领域
本申请实施例涉及数据存储的技术领域,具体而言,涉及一种多控存储阵列、存储系统、数据处理方法以及存储介质。
背景技术
存储阵列为了保证高可用性和高可靠性大量采用了冗余技术,如控制器冗余、双端口的硬盘、电源冗余以及风扇冗余等等冗余技术。
一般超过2个控制器的存储阵列被称之为多控存储阵列,通过增加存储阵列中控制器的个数可以提高存储系统的性能,如并行处理存储请求提高了读写操作的吞吐量,还可以提高存储系统的扩展性和故障冗余能力。
目前的多控存储阵列包括松耦合多控存储阵列和紧耦合多控存储阵列,以4控为例,在松耦合多控存储阵列中,包括两组控制器对组成,每组控制器对中包括两个控制器节点,每组控制器对中的两个控制器节点共享后端硬盘,但是如果当一个控制器对的两个控制器节点均出现故障时,将无法对该控制器对共享的后端硬盘进行读写操作;而紧耦合多控存储阵列中包括多个控制器节点,多个控制器节点共享后端硬盘,但是在紧耦合多控存储阵列中多个控制器节点均在一个故障域内,示例地,如果多个控制器节点所在的机框背板出现了故障,则导致多个控制器节点均无法继续提供正常的服务,因此目前松耦合多控存储阵列和紧耦合多控存储阵列仍存在可用性较低的问题。
发明内容
本申请实施例提供一种多控存储阵列、存储系统、数据处理方法以及存储介质,旨在提高存储阵列的可用性。
第一方面,本申请实施例提供一种多控存储阵列,所述存储阵列包括4控存储模块,所述4控存储模块包括两组控制器对和存储扩展磁盘柜;
所述两组控制器对之间基于以太网连接;
所述两组控制器对中任一组控制器对包括两个控制器节点,每个控制器节点均与所述存储扩展磁盘柜连接,以对所述存储扩展磁盘柜进行共享访问;
所述每个控制器节点中均设置有缓存单元,其中,任一控制器节点在响应写数据请求后确定自身对应的目标镜像控制器节点,所述目标镜像控制器节点的缓存单元中存储有该控制器节点的缓存镜像。
可选地,所述存储阵列包括两个4控存储模块,其中,任一4控存储模块中一个控制器对与另一4控存储模块的一个控制器对基于以太网连接。
可选地,所述存储扩展磁盘柜包括基于以太网的存储扩展磁盘柜。
可选地,任一控制器对与另一个控制器对之间基于远程直接内存访问网络连接。
可选地,所述缓存单元包括内存或随机访问设备。
第二方面,本申请实施例提供一种基于多控存储阵列的存储系统,所述存储系统包括主机和实施例第一方面所述的多控存储阵列,其中:
所述主机分别与所述多控存储阵列中的所有控制器节点连接。
可选地,所述主机中配置有多路径管理线程,所述多路径管理线程用于在所述所有控制器节点中选择当前读写操作过程的主控制器节点。
可选地,所述多路径管理线程用于将预先定义的目标控制器节点作为主控制器节点。
可选地,所述多路径管理线程用于轮询所述所有控制器节点确定当前读写操作过程的主控制器节点。
可选地,所述多路径管理线程用于根据预设规则在所述所有控制器节点中选择当前读写操作过程的主控制器节点。
可选地,所述多路径管理线程用于获取所述所有控制器节点各自的当前负载,选择所述当前负载最小的控制器节点作为当前读写操作过程的主控制器节点。
可选地,每个控制器节点配置有处理的数据对象或业务对象;
所述多路径管理线程用于根据当前读写操作过程的数据对象或业务对象,确定当前读写操作过程的主控制器节点。
第三方面,本申请实施例提供一种基于多控存储阵列的数据处理方法,应用于实施例第二方面所述的基于多控存储阵列的存储系统,所述方法包括:
任一控制器节点响应于主机下发的写数据请求后作为主控制器节点,获取待写入数据并存储在自身的缓存单元;
所述主控制器节点确定自身对应的目标镜像控制器节点;
所述目标镜像控制器节点的缓存单元对所述主控制器节点存储有所述待写入数据进行缓存镜像备份;
所述主控制器节点在备份完毕后向所述主机发送所述写数据请求对应的完成响应;
将所述主控制器节点的缓存单元中的所述待写入数据下刷到存储扩展磁盘柜。
可选地,将所述主控制器节点的缓存单元中的所述待写入数据下刷到存储扩展磁盘柜,包括:
当所述主控制器节点的缓存单元中存储的多个待写入数据的数量达到标定数量时,将所述主控制器节点的所述缓存单元中存储的多个待写入数据下刷到所述存储扩展磁盘柜。
可选地,将所述主控制器节点的缓存单元中的所述待写入数据下刷到存储扩展磁盘柜,包括:
每隔标定时间间隔,将所述主控制器节点的所述缓存单元中存储的多个待写入数据下刷到所述存储扩展磁盘柜。
可选地,将所述主控制器节点的所述缓存单元中存储的多个待写入数据下刷到所述存储扩展磁盘柜,包括:
若将所述主控制器节点的缓存单元中的多个待写入数据下刷过程中,所述目标镜像控制器节点检测到所述主控制器节点发生故障后作为新的主控制器节点;
重新确定所述新的主控制器对应的目标镜像控制器节点,并进行缓存镜像备份;
将所述新的主控制器的缓存单元中的多个待写入数据下刷到存储扩展磁盘柜,且任一待写入数据不重复存储在所述存储扩展磁盘柜中。
可选地,所述主控制器节点确定自身对应的目标镜像控制器节点,包括:
在与所述主控制器节点不同组的控制器对中任意选择一个控制器节点,作为所述主控制器节点对应的目标镜像控制器节点。
可选地,所述主控制器节点确定自身对应的目标镜像控制器节点,包括:
当所述主控制器节点的不同组的控制器对中每个控制器节点均故障时,将所述主控制器节点所属的控制器对中另一个控制器节点,作为所述主控制器节点对应的目标镜像控制器节点。
可选地,所述主控制器节点确定自身对应的目标镜像控制器节点,包括:
所述主控制器节点获取多个控制器节点各自对应的负载情况,将负载最小的控制器节点作为所述主控制器节点对应的目标镜像控制器节点。
第四方面,本申请实施例提供一种非易失性可读存储介质,所述非易失性可读存储介质存储有计算机程序,其中,所述计算机程序被处理器执行时执行如实施例第三方面所述的基于多控存储阵列的数据处理方法。
有益效果:
本实施例提供的多控存储阵列包括4控存储模块,4控存储模块包括两组控制器对和存储扩展磁盘柜;所述两组控制器对之间基于以太网连接;所述两组控制器对中任一组控制器对包括两个控制器节点,每个控制器节点均与所述存储扩展磁盘柜连接,以对所述存储扩展磁盘柜进行共享访问;所述每个控制器节点中均设置有缓存单元,任一控制器节点在响应写数据请求后确定自身对应的目标镜像控制器节点,所述目标镜像控制器节点的缓存单元中存储有该控制器节点的缓存镜像。
相比于现有的松耦合多控存储阵列,本实施例提供的多控存储阵列可以使得每个控制器节点都可以共享访问存储扩展磁盘柜,而相比于现有的紧耦合多控存储阵列多个控制器共用同一个缓存存储器而言,每个控制器节点可以在自身对应的目标镜像控制器节点上进行缓存单元的缓存镜像备份,不会出现因为一个缓存存储器故障后,导致所有控制器均故障的问题,具有更高的可用性。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
图1示出了现有的双控存储系统的结构示意图;
图2示出了现有的松耦合多控存储阵列的结构示意图;
图3示出了现有的紧耦合多控存储阵列的结构示意图;
图4示出了本申请实施例提供的多控存储阵列的示意图;
图5示出了本申请实施例提供的多控存储阵列的示意图;
图6示出了本申请实施例提供的基于多控存储阵列的存储系统的示意图;
图7示出了本申请实施例提供的基于多控存储阵列的数据处理方法的步骤流程图;
图8示出了本申请实施例提供的缓存镜像备份示意图;
图9示出了本申请实施例提供的故障处理示意图;
图10示出了本申请实施例提供的故障处理示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
RoCE:Remote Direct Memory Access over Converged Ethernet,一种能在以太网上进行RDMA(Remote Direct Memory Access,远程内存直接访问)的集群网络通信协议;
NVMe:Non-Volatile Memory express,非易失性内存主机控制器接口规范;
SSD:Solid State Disk,固态硬盘;
EBOF:Ethernet Bunch of Flash,以太网闪存簇;
CPU:Central Processing Unit,中央处理器;
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合附图对本申请的各实施方式进行详细的阐述。然而,本领域的普通技术人员可以理解,在本申请各实施方式中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本申请所要求保护的技术方案。以下各个实施例的划分是为了描述方便,不应对本申请的具体实现方式构成任何限定,各个实施例在不矛盾的前提下可以相互结合相互引用。
随着数据存储的要求越来越高,为了提高存储阵列的高可用性和高可靠性大量采用了冗余技术,如控制器冗余、双端口的硬盘、电源冗余以及风扇冗余等等冗余技术。
参照图1,示出了现有的双控存储系统的结构示意图,现有的双控存储系统中包括主机、控制器A、控制器B以及磁盘框,其中主机中包括接口卡1和接口卡2,接口卡为HBA(Host bus adapter,主机总线适配器),主机总线适配器是网络与交换,是能插入计算机或大型主机的板卡。接口卡1即为HBA1,接口卡2即为HBA2,其中,HBA1和HBA2安装在主机上,用于连接存储数据的存储阵列。
存储阵列包括两个控制器,即控制器A和控制器B,每个控制器中包括前端输入输出控制器、中央处理器(即CPU)、系统硬盘、缓存以及后端输入输出控制器,其中,前端输入输出控制器用于与主机连接;CPU用于处理控制和业务逻辑;缓存是放置在低速的后端硬盘之前的高速随机访问设备,一般采用内存作为缓存设备,可以提高存储性能;后端输入输出控制器用于和硬盘框中的硬盘通信,对硬盘进行读写,硬盘用于持久化处理后的用户数据。
但是双控的存储阵列也无法满足更高的存储需求,因此多控存储阵列应用而生,多控存储阵列指的是超过2个控制器的存储阵列,通过增加存储阵列中控制器的个数来提高存储阵列的存储性能、可用性和可扩展性,具体效果包括:
首先,增加控制器的数量可以显著提高存储阵列的存储性能,多个控制器可以并行处理存储请求,从而提高读取和写入操作的吞吐量,这对于需要高性能的应用程序非常重要,如大数据分析、虚拟化和高性能计算,并且增加控制器数量允许存储阵列支持更多的存储容量,当企业需要扩展存储容量以满足不断增长的数据需求时,可以简单地添加更多的磁盘驱动器并将其纳入存储集群。
通过增加控制器的数量,还可以实现冗余和高可用性,如果一个控制器发生故障,其他控制器可以继续处理请求,从而避免了系统中断和数据丢失;多个控制器还可以用于均衡工作负载,存储请求可以分布到不同的控制器上,以防止某一个控制器被过度负载,从而提高系统的稳定性和性能;并且具有较高的扩展性,可以根据需要逐步扩展存储集群,而无需重新设计整个存储架构。
目前的多控存储阵列包括松耦合多控存储阵列和紧耦合多控存储阵列,本实施例中以4控存储阵列为例进行介绍。
参照图2,示出了现有的松耦合多控存储阵列的结构示意图,4控的松耦合多控存储阵列包括两组控制器对,每个控制器对包括两个节点(节点1和节点2),一个控制器对的两个节点共享后端硬盘,且一个控制器对的缓存互为镜像,但是这种4控组成方式的缺点在于后端硬盘只能被同一个控制器对内的2个节点所访问,由于同一个控制器对的2个节点在硬件上集成在一起,容易同步发生故障,当同一个控制器对的2个节点都发生故障并且无法对外继续提供服务时,4控存储阵列将丢失一半的后端硬盘,严重影响4控存储阵列的可用性。
参照图3,示出了现有的紧耦合多控存储阵列的结构示意图,4控的紧耦合多控存储阵列中包括一组控制器组合,控制器组合中4个紧耦合的节点,即节点1、节点2、节点3以及节点4共享后端硬盘和缓存,但是由于一组控制器组合中的4个节点都放置在同一个机框内,因此四个控制器在一个故障域内,当此故障域内有单点故障场景时会影响可用性,例如:四控所在的机框背板出现了故障,就有可能四个控制器都无法继续提供服务,同时由于四个控制器共享缓存,缺乏缓存冗余的策略。
因此,为了提高存储阵列的可用性,本实施例提供一种多控存储阵列,所述存储阵列中包括一个或多个4控存储模块,每个4控存储模块中包括两组控制器对和一个存储扩展磁盘柜,且所述两组控制器对之间基于以太网连接。
所述两组控制器对中任一组控制器对包括两个控制器节点,每个控制器节点均与所述存储扩展磁盘柜连接,以对所述存储扩展磁盘柜进行共享访问,即在4控存储模块中,4个控制器节点可以共享访问同一个存储扩展磁盘柜,存储扩展磁盘柜中包括用于存储数据的磁盘,磁盘类型可以根据实际应用的需求进行自定义选择,本实施例不做限制。
在实际实施的过程中,4控存储模块中,每组控制器对中的两个控制器节点可以硬件集成在一起,即使一组控制器对故障域重合,在发生故障后,4控存储模块中另一组控制器对仍然可以正常访问整个存储扩展磁盘柜,不会像松耦合多控存储阵列中的同一个控制器对的2个节点都发生故障时,会造成一半后端硬盘无法正常访问的问题,提高了多控存储阵列的可用性。
所述每个控制器节点中均设置有缓存单元,任一控制器节点在响应写数据请求后确定自身对应的目标镜像控制器节点,所述目标镜像控制器节点的缓存单元中存储有该控制器节点的缓存镜像。
多控存储阵列中4控存储模块的数量可以根据实际应用的需求进行选择,示例地,可以仅包括一个4控存储模块,从而得到4控存储阵列;还可以在存储阵列中设置两个4控存储模块,从而得到8控存储阵列;甚至在存储需求较大的应用环境中,存储阵列可以扩展为4个4控存储模块,得到16控存储阵列。
在一种可行的实施方式中,4控存储模块的两组控制器对之间基于以太网连接,为了减小缓存镜像的时延,两组控制器对之间的网络连接可以采用远程直接内存访问网络进行连接,即基于RDMA(Remote Direct Memory Access,远程直接内存访问)网络连接,RDMA网络允许在不占用CPU资源的情况下直接从一台处理器的内存中读写另一台处理器的内存,可以显著提高数据传输的性能和降低延迟。
示例地,两组控制器对之间可以基于RoCE网络连接,RoCE网络结合了RDMA和以太网交换机的特性,ROCE允许通过以太网进行高效的直接内存访问,从而提供低延迟、高吞吐量的数据传输。
在其他实施方式中,除了RoCE网络,还可以根据实际的需求,应用其他类型的RDMA网络,如iWARP(Internet Wide Area RDMA Protocal),iWARP是基于TCP/IP协议(Transmission Control Protocol/Internet Protocol,传输控制协议/网际协议)的RDMA技术,在实际应用的过程中,可以根据不同的应用需求选择不同的RDMA网络并配置对应的网络硬件,如网卡等。
存储扩展磁盘柜可以采用基于EBOF(Ethernet Bunch of Flash,以太网闪存簇)NVMe SSD存储扩展磁盘柜,可以根据实际应用的需求扩展硬盘的数量,以满足存储需求。
缓存单元可以是内存,也可以采用其他高速随机访问设备,如高速缓存(Cache),Cache是位于CPU和主存储器之间的一种存储器层次结构,缓存单元的设备可以根据实际应用的需求进行选择,本申实施例不做限制。
参照图4,示出了本申请实施例提供的多控存储阵列的示意图,多控存储阵列包括1组4控存储模块,得到的存储阵列为4控存储阵列,4控存储阵列包括控制器对1和控制器对2,每个控制器对中包括两个控制器节点,分别记为控制器节点1和控制器节点2,且每个控制器节点中包括1个缓存单元,控制器对1和控制器对2基于远程直接内存访问网络进行连接,如基于RoCE网络互联,4个控制器节点均连接至如EBOF的存储扩展磁盘柜,从而使得4个控制器节点均可以共享存储扩展磁盘柜的硬盘。
在一种可行的实施方式中,存储阵列包括两个4控存储模块,即存储阵列包括4组控制器对,每组控制器对包括2个控制器节点,得到的存储阵列为8控存储阵列;每个控制器节点的缓存单元可以是内存,也可以采用其他具有高速随机访问设备;在8控存储阵列中,任一4控存储模块中一个控制器对与另一4控存储模块的一个控制器对基于以太网连接,示例地,可以采用RoCE或其他类型的RDMA网络提高数据传输的性能和降低延迟;且存储扩展磁盘柜可以采用基于EBOF的存储扩展磁盘柜,可以根据实际应用的需求扩展硬盘的数量,以满足存储需求。
参照图5,示出了本申请实施例提供的多控存储阵列的示意图,多控存储阵列为8控存储阵列,8控存储阵列由两组4控存储模块组成,其中第一组4控存储模块包括控制器对1、控制器对2和存储扩展磁盘柜1,第二组4控存储模块包括控制器对3、控制器对4和存储扩展磁盘柜2,存储扩展磁盘柜可以是EBOF;任一4控存储模块中一个控制器对与另一4控存储模块的一个控制器对基于远程直接内存访问网络进行连接,如基于RoCE网络连接,即第一组4控存储模块内部的控制器对1和控制器对2基于RoCE网络连接,第二组4控存储模块内部的控制器对3和控制器对4基于RoCE网络连接,第一组4控存储模块的控制器对1和第二组4控存储模块的控制器对3基于RoCE网络连接,第一组4控存储模块的控制器对2和第二组4控存储模块的控制器对4基于RoCE网络连接;每个控制器对中包括两个控制器节点,分别记为控制器节点1和控制器节点2,且每个控制器节点中包括1个缓存单元。
虽然在8控存储阵列中包括两个存储扩展磁盘柜,但是由于4个控制器对之间通过RoCE网络连接,因此假设控制器对3出现故障,控制器对1仍然可以基于控制器对2和控制器对4之间的RoCE网络,对EBOF2进行访问。
本实施例还提供一种基于多控存储阵列的存储系统。所述存储系统包括主机和本实施例所述的多控存储阵列,其中:所述主机分别与所述多控存储阵列中的所有控制器节点连接。
参照图6,示出了本申请实施例提供的基于多控存储阵列的存储系统的示意图,以4控存储阵列为例,存储系统中主机与4个控制器节点均连接。
所述主机中配置有多路径管理线程,主机在每次对存储阵列进行读写操作时,由所述多路径管理线程在所有控制器节点中选择当前读写操作过程的主控制器节点。
在一种可行的实施方式中,所述多路径管理线程可以将预先定义的目标控制器节点作为主控制器节点。
如图6,可以将控制器对1的控制器节点1作为主控制器节点,直到控制器对1的控制器节点1发生故障的情况后,可以将控制器对1的控制器节点2作为主控制器节点;若控制器对1的控制器节点2故障时或者控制器对1的控制器节点1故障恢复后,可以继续将控制器对1的控制器节点1作为主控制器节点。
在其他实施方式中,还可以采用其他预先定义方式,示例地,当控制器对1的控制器节点2故障时,还可以继续轮询至控制器对2的控制器节点1作为主控制器节点,本实施例不做限制。
在另一种可行的实施方式中,所述多路径管理线程用于轮询所有控制器节点确定当前读写操作过程的主控制器节点。
示例地,第1次读写操作过程中将控制器对1的控制器节点1作为主控制器节点;第2次读写操作过程中将控制器对1的控制器节点2作为主控制器节点;第3次读写操作过程中将控制器对2的控制器节点1作为主控制器节点;第4次读写操作过程中将控制器对2的控制器节点2作为主控制器节点;第5次读写操作过程中将控制器对1的控制器节点1作为主控制器节点,如此循环,若某一次读写操作过程中轮询到的控制器节点发生故障时,则顺延至下一个控制器节点作为主控制器节点。
在另一种可行的实施方式中,所述多路径管理线程可以根据预设规则在所有控制器节点中选择当前读写操作过程的主控制器节点。
示例地,所述多路径管理线程获取所述多个控制器节点各自的当前负载,选择所述当前负载最小的控制器节点作为当前读写操作过程的主控制器节点;通过选择当前负载最小的控制器节点可以提高数据处理的响应速度,避免一个控制器节点的处理任务过多而导致响应速度变慢甚至崩溃宕机。
示例地,还可以为每个控制器节点配置处理的数据对象或业务对象;所述多路径管理线程根据当前读写操作过程的数据对象或业务对象,确定当前读写操作过程的主控制器节点。
例如,可以设置控制器对1的控制器节点1处理业务对象A和业务对象B,控制器对1的控制器节点2处理业务对象C、业务对象D以及业务对象E,控制器对2的控制器节点1处理数据对象A、数据对象B以及数据对象C,控制器对2的控制器节点2处理数据对象E和数据对象F。
在其他实施方式中,多路径管理线程选择主控制器节点的方法还可以根据实际应用的需求进行自定义设置,例如,对于处理能力高的控制器节点可以处理繁重的业务,或者处理速度快的控制器节点可以处理时效性要求较高的业务。
本实施例还提供一种基于多控存储阵列的数据处理方法,应用于本实施例提供的基于多控存储阵列的存储系统。
参照图7,示出了本申请实施例提供的一种基于多控存储阵列的数据处理方法的步骤流程图,所述方法可以包括以下步骤:
S101:任一控制器节点响应于主机下发的写数据请求后作为主控制器节点,获取待写入数据并存储在自身的缓存单元。
在每次对存储阵列进行读写操作时,主机中的多路径管理线程确定主控制器节点,主控制器节点响应于主机下发的写数据请求,获取到待写入数据后存储在缓存单元中。
缓存单元可以是内存或其他高速访问设备,缓存单元的存储容量有限,因此若缓存单元中可以设置处理队列,将最新的待写入数据添加在处理队列的末尾,若缓存单元没有存储空间后,处理队列中待写入数据的时间戳最早的数据被淘汰。
S102:所述主控制器节点确定自身对应的目标镜像控制器节点。
为了提高缓存冗余性,需要为主控制器节点确定目标镜像控制器节点,进行缓存镜像备份。
在一种可行的实施方式中,在确定主控制器节点对应的目标镜像控制器节点时,在与所述主控制器节点不同组的控制器对中任意选择一个控制器节点,作为所述主控制器节点对应的目标镜像控制器节点。
当所述主控制器节点的不同组的控制器对中每个控制器节点均故障时,将所述主控制器节点所属的控制器对中另一个控制器节点,作为所述主控制器节点对应的目标镜像控制器节点。
通过优先选择不同组的控制器对中的控制器节点作为目标镜像控制器节点,可以避免由于硬件封装在一起的控制器对中的两个控制器节点一起损坏导致缓存数据丢失的情况,直到所有与主控制器节点的不同组的控制器对中每个控制器节点均故障时,在选择主控制器节点同组的控制器节点作为主控制器节点对应的目标镜像控制器节点。
在另一种可行的实施方式中,还可以在确定所述主控制器节点对应的目标镜像控制器节点时,所述主控制器节点获取多个控制器节点各自对应的负载情况,将负载最小的控制器节点作为所述主控制器节点对应的目标镜像控制器节点。
选择负载最小的控制器节点作为所述主控制器节点对应的目标镜像控制器节点,可以在主控制器节点出现故障时,由目标镜像控制器节点快速地完成写操作,降低写操作的时延。
S103:所述目标镜像控制器节点的缓存单元对所述主控制器节点存储有所述待写入数据进行缓存镜像备份。
参照图8,示出了本申请实施例提供的缓存镜像备份示意图,以4控存储阵列为例,主机本次向控制器对1的控制器节点1下发写数据请求,控制器对1的控制器节点1的目标镜像控制器节点为:控制器对2的控制器节点1,通过远程直接内存访问网络,如RoCE网络,将待写入数据发送至控制器对2的控制器节点1,在控制器对2的控制器节点1的缓存单元进行备份。
S104:所述主控制器节点在备份完毕后向所述主机发送所述写数据请求对应的完成响应。
本方法中,主机向主控制器节点发送待写入数据的过程,和主控制器节点将待写入数据存储在存储扩展磁盘柜的硬盘中的过程可以分开执行,当主控制器节点完成缓存镜像备份后,可以向主机发送所述写数据请求对应的完成响应,不用等待待写入数据彻底写入硬盘,主机可以执行下一个处理逻辑,提高存储系统的处理效率。
S105:将所述主控制器节点的缓存单元中的所述待写入数据下刷到存储扩展磁盘柜。
在一种可行的实施方式中,主控制器节点可以将每一个待写入数据分别处理下刷至存储扩展磁盘柜的硬盘中。
在另一种可行的实施方式中,为了提高效率,还可以批量将待写入数据下刷至存储扩展磁盘柜的硬盘中。
具体地,可以当所述主控制器节点的缓存单元中存储的多个待写入数据的数量达到标定数量时,将所述缓存单元中的所述多个待写入数据下刷到所述存储扩展磁盘柜。
或者每隔标定时间间隔,将所述缓存单元中的所述多个待写入数据下刷到所述存储扩展磁盘柜。
若将所述主控制器节点的缓存单元中的多个待写入数据下刷过程中,所述目标镜像控制器节点检测到所述主控制器节点发生故障后作为新的主控制器节点;重新确定所述新的主控制器对应的目标镜像控制器节点,并进行缓存镜像备份;将所述新的主控制器的缓存单元中的多个待写入数据下刷到存储扩展磁盘柜,且任一待写入数据不重复存储在所述存储扩展磁盘柜中。
参照图9,示出了本申请实施例提供的故障处理示意图,如果主控制器节点:控制器对1的控制器节点1故障时,控制器对1的控制器节点1的目标镜像控制器节点:控制器对2的控制器节点1可以作为新的主控制器节点,控制器对2的控制器节点1中具有待写入数据的缓存镜像备份,因此可以由控制器对2的控制器节点1继续向主机提供服务,此时4控存储阵列中待写入数据的只有一份,为了不是失去缓存冗余性,为新的主控制器节点(控制器对2的控制器节点1)选择目标镜像控制器节点,示例地,优先选择不是同一控制器对中的控制器节点,即选择控制器对1的控制器节点2作为目标镜像控制器节点进行待写入数据的缓存镜像备份。
之后,可以由控制器对2的控制器节点1将待写入数据下刷到存储扩展磁盘柜中,但是在批量下刷多个待写入数据时,可能部分数据已经存储在存储扩展磁盘柜中,为了避免重复写入同一待写入数据,控制器节点可以检测存储扩展磁盘柜是否已经存储有任一待写入数据,如果已经写入,则忽视该待写入数据。
参照图10,示出了本申请实施例提供的故障处理示意图,如果在控制器对2的控制器节点1选择控制器对1的控制器节点2作为目标镜像控制器节点,进行待写入数据的缓存镜像备份之后,控制器对1的两个节点均出现故障,4控存储阵列仅剩控制器对2的两个控制器节点。
控制器对2的控制器节点1中具有待写入数据的缓存镜像备份,因此可以由控制器对2的控制器节点1继续向主机提供服务,此时4控存储阵列中待写入数据的只有一份,为了不是失去缓存冗余性,选择仅剩的同一控制器对中的另一个控制器节点(即控制器对2的控制器节点2)进行待写入数据的缓存镜像备份,进行缓存冗余保护。
本实施例提供的多控存储阵列每个控制器节点均与所述存储扩展磁盘柜连接,可以使得多个控制器节点均可以对存储扩展磁盘柜进行共享访问;并且每个控制器节点中均设置有缓存单元,且每个控制器节点对应有目标镜像控制器节点,每个控制器节点对应的目标镜像控制器节点的缓存单元中存储有该控制器节点的缓存镜像;
相比于现有的松耦合多控存储阵列,本实施例提供的多控存储阵列中每个控制器节点都可以共享访问存储扩展磁盘柜的硬盘,而相比于现有的紧耦合多控存储阵列多个控制器共用同一个缓存存储器而言,每个控制器节点可以在自身对应的目标镜像控制器节点上进行缓存单元的缓存镜像备份,不会出现因为一个缓存存储器故障后,导致所有控制器均故障的问题,具有更高的可用性。
本申请实施例还提供一种非易失性可读存储介质,所述非易失性可读存储介质存储有计算机程序,其中,所述计算机程序被处理器执行时执行如实施例所述的基于多控存储阵列的数据处理方法。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本申请实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本申请实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请实施例是参照根据本申请实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

Claims (19)

1.一种多控存储阵列,其特征在于,所述存储阵列包括4控存储模块,所述4控存储模块包括两组控制器对和存储扩展磁盘柜;
所述两组控制器对之间基于以太网连接;
所述两组控制器对中任一组控制器对包括两个控制器节点,每个控制器节点均与所述存储扩展磁盘柜连接,以对所述存储扩展磁盘柜进行共享访问;
所述每个控制器节点中均设置有缓存单元,其中,任一控制器节点在响应写数据请求后确定自身对应的目标镜像控制器节点,所述目标镜像控制器节点的缓存单元中存储有该控制器节点的缓存镜像;
其中,所述以太网用于所述4控存储模块中所有控制器节点对所述存储扩展磁盘柜进行共享访问,以及用于一组控制器对中任一控制器节点将主机下发的待写入数据发送至另一组控制器对中的任一控制器节点的缓存单元中进行备份。
2.根据权利要求1所述的存储阵列,其特征在于,所述存储阵列包括两个4控存储模块,其中,任一4控存储模块中一个控制器对与另一4控存储模块的一个控制器对基于以太网连接。
3.根据权利要求1或2所述的存储阵列,其特征在于,所述存储扩展磁盘柜包括基于以太网的存储扩展磁盘柜。
4.根据权利要求1或2所述的存储阵列,其特征在于,任一控制器对与另一个控制器对之间基于远程直接内存访问网络连接。
5.根据权利要求1或2所述的存储阵列,其特征在于,所述缓存单元包括内存或随机访问设备。
6.一种基于多控存储阵列的存储系统,其特征在于,所述存储系统包括主机和权利要求1-5任一所述的多控存储阵列,其中:
所述主机分别与所述多控存储阵列中的所有控制器节点连接。
7.根据权利要求6所述的存储系统,其特征在于,所述主机中配置有多路径管理线程,所述多路径管理线程用于在所述所有控制器节点中选择当前读写操作过程的主控制器节点。
8.根据权利要求7所述的存储系统,其特征在于,所述多路径管理线程用于将预先定义的目标控制器节点作为主控制器节点。
9.根据权利要求7所述的存储系统,其特征在于,所述多路径管理线程用于轮询所述所有控制器节点确定当前读写操作过程的主控制器节点。
10.根据权利要求7所述的存储系统,其特征在于,所述多路径管理线程用于根据预设规则在所述所有控制器节点中选择当前读写操作过程的主控制器节点。
11.根据权利要求10所述的存储系统,其特征在于,所述多路径管理线程用于获取所述所有控制器节点各自的当前负载,选择所述当前负载最小的控制器节点作为当前读写操作过程的主控制器节点。
12.根据权利要求10所述的存储系统,其特征在于,每个控制器节点配置有处理的数据对象或业务对象;
所述多路径管理线程用于根据当前读写操作过程的数据对象或业务对象,确定当前读写操作过程的主控制器节点。
13.一种基于多控存储阵列的数据处理方法,其特征在于,应用于权利要求6-12任一所述的基于多控存储阵列的存储系统,所述方法包括:
任一控制器节点响应于主机下发的写数据请求后作为主控制器节点,获取待写入数据并存储在自身的缓存单元;
所述主控制器节点确定自身对应的目标镜像控制器节点,包括:在与所述主控制器节点不同组的控制器对中任意选择一个控制器节点,作为所述主控制器节点对应的目标镜像控制器节点;
所述目标镜像控制器节点的缓存单元对所述主控制器节点存储有所述待写入数据进行缓存镜像备份;
所述主控制器节点在备份完毕后向所述主机发送所述写数据请求对应的完成响应;
将所述主控制器节点的缓存单元中的所述待写入数据下刷到存储扩展磁盘柜。
14.根据权利要求13所述的方法,其特征在于,将所述主控制器节点的缓存单元中的所述待写入数据下刷到存储扩展磁盘柜,包括:
当所述主控制器节点的缓存单元中存储的多个待写入数据的数量达到标定数量时,将所述主控制器节点的所述缓存单元中存储的多个待写入数据下刷到所述存储扩展磁盘柜。
15.根据权利要求13所述的方法,其特征在于,将所述主控制器节点的缓存单元中的所述待写入数据下刷到存储扩展磁盘柜,包括:
每隔标定时间间隔,将所述主控制器节点的所述缓存单元中存储的多个待写入数据下刷到所述存储扩展磁盘柜。
16.根据权利要求14或15所述的方法,其特征在于,将所述主控制器节点的所述缓存单元中存储的多个待写入数据下刷到所述存储扩展磁盘柜,包括:
若将所述主控制器节点的缓存单元中的多个待写入数据下刷过程中,所述目标镜像控制器节点检测到所述主控制器节点发生故障后作为新的主控制器节点;
重新确定所述新的主控制器对应的目标镜像控制器节点,并进行缓存镜像备份;
将所述新的主控制器的缓存单元中的多个待写入数据下刷到存储扩展磁盘柜,且任一待写入数据不重复存储在所述存储扩展磁盘柜中。
17.根据权利要求13所述的方法,其特征在于,所述主控制器节点确定自身对应的目标镜像控制器节点,包括:
当所述主控制器节点的不同组的控制器对中每个控制器节点均故障时,将所述主控制器节点所属的控制器对中另一个控制器节点,作为所述主控制器节点对应的目标镜像控制器节点。
18.根据权利要求13所述的方法,其特征在于,所述主控制器节点确定自身对应的目标镜像控制器节点,包括:
所述主控制器节点获取多个控制器节点各自对应的负载情况,将负载最小的控制器节点作为所述主控制器节点对应的目标镜像控制器节点。
19.一种非易失性可读存储介质,其特征在于,所述非易失性可读存储介质存储有计算机程序,其中,所述计算机程序被处理器执行时执行如权利要求13-18任意一项所述的基于多控存储阵列的数据处理方法。
CN202410096344.0A 2024-01-24 2024-01-24 多控存储阵列、存储系统、数据处理方法以及存储介质 Active CN117632808B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202410096344.0A CN117632808B (zh) 2024-01-24 2024-01-24 多控存储阵列、存储系统、数据处理方法以及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202410096344.0A CN117632808B (zh) 2024-01-24 2024-01-24 多控存储阵列、存储系统、数据处理方法以及存储介质

Publications (2)

Publication Number Publication Date
CN117632808A CN117632808A (zh) 2024-03-01
CN117632808B true CN117632808B (zh) 2024-04-26

Family

ID=90027266

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202410096344.0A Active CN117632808B (zh) 2024-01-24 2024-01-24 多控存储阵列、存储系统、数据处理方法以及存储介质

Country Status (1)

Country Link
CN (1) CN117632808B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102081584A (zh) * 2009-11-30 2011-06-01 英业达股份有限公司 双控制器存储系统的缓存镜像系统及方法
CN103092786A (zh) * 2013-02-25 2013-05-08 浪潮(北京)电子信息产业有限公司 一种双控双活存储控制系统及方法
CN114003181A (zh) * 2022-01-04 2022-02-01 苏州浪潮智能科技有限公司 数据写镜像系统、方法、装置、电子设备及存储介质
CN114816270A (zh) * 2022-05-31 2022-07-29 苏州浪潮智能科技有限公司 一种存储系统全局缓存方法、装置以及介质
CN116483263A (zh) * 2023-03-17 2023-07-25 郑州云海信息技术有限公司 一种存储系统的存储设备、存储系统
CN116974489A (zh) * 2023-08-11 2023-10-31 苏州浪潮智能科技有限公司 一种数据处理方法、装置、系统、电子设备及存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021012169A1 (zh) * 2019-07-22 2021-01-28 华为技术有限公司 一种提高存储系统可靠性的方法和相关装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102081584A (zh) * 2009-11-30 2011-06-01 英业达股份有限公司 双控制器存储系统的缓存镜像系统及方法
CN103092786A (zh) * 2013-02-25 2013-05-08 浪潮(北京)电子信息产业有限公司 一种双控双活存储控制系统及方法
CN114003181A (zh) * 2022-01-04 2022-02-01 苏州浪潮智能科技有限公司 数据写镜像系统、方法、装置、电子设备及存储介质
CN114816270A (zh) * 2022-05-31 2022-07-29 苏州浪潮智能科技有限公司 一种存储系统全局缓存方法、装置以及介质
CN116483263A (zh) * 2023-03-17 2023-07-25 郑州云海信息技术有限公司 一种存储系统的存储设备、存储系统
CN116974489A (zh) * 2023-08-11 2023-10-31 苏州浪潮智能科技有限公司 一种数据处理方法、装置、系统、电子设备及存储介质

Also Published As

Publication number Publication date
CN117632808A (zh) 2024-03-01

Similar Documents

Publication Publication Date Title
CN105573839B (zh) 用于端口选择的基于成本的负载平衡的方法和装置
CN108139941B (zh) 基于网络流控制的动态资源分配
US7197662B2 (en) Methods and systems for a storage system
US9542320B2 (en) Multi-node cache coherency with input output virtualization
US7817626B2 (en) Storage subsystem
US20080052454A1 (en) Methods and systems for a memory section
CN109739435B (zh) 文件存储和更新方法及装置
US20220179812A1 (en) Method for Improving Reliability of Storage System, and Related Apparatus
US9747040B1 (en) Method and system for machine learning for write command selection based on technology feedback
WO2022218160A1 (zh) 一种数据访问系统、方法、设备以及网卡
US11184435B2 (en) Message transmission method and apparatus in cluster file system
US10162775B2 (en) System and method for efficient cross-controller request handling in active/active storage systems
US7415565B2 (en) Methods and systems for a storage system with a program-controlled switch for routing data
CN108205573B (zh) 一种数据分布式存储方法及系统
CN103793291A (zh) 分布式数据复制方法和装置
JP2023099186A (ja) 複数の故障ドメインに及ぶストレージシステム
CN112292661A (zh) 扩展分布式存储系统
CN117632808B (zh) 多控存储阵列、存储系统、数据处理方法以及存储介质
CN109828722B (zh) 异构分布式键值存储系统Raft组数据自适应分布方法
CN108762672B (zh) 分布式存储设备、方法及级联模块
US7020754B1 (en) Method and system for maintaining data integrity using dual write operations
CN114077517A (zh) 数据处理的方法、设备及系统
RU2810634C2 (ru) Способ повышения надежности систем хранения данных и соответствующее устройство
JP2009015670A (ja) 中継転送装置、プログラム、方法及びシステム
JP2010086227A (ja) 計算機間相互結合網における通信経路の冗長化と切り替え方法、この方法を実現するサーバ装置、そのサーバモジュール、および、そのプログラム

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