CN108762672A - 分布式存储设备、方法及级联模块 - Google Patents

分布式存储设备、方法及级联模块 Download PDF

Info

Publication number
CN108762672A
CN108762672A CN201810504824.0A CN201810504824A CN108762672A CN 108762672 A CN108762672 A CN 108762672A CN 201810504824 A CN201810504824 A CN 201810504824A CN 108762672 A CN108762672 A CN 108762672A
Authority
CN
China
Prior art keywords
speed bus
controller
memory
cascade module
heartbeat message
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
CN201810504824.0A
Other languages
English (en)
Other versions
CN108762672B (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.)
New H3C Technologies Co Ltd Chengdu Branch
Original Assignee
New H3C Technologies Co Ltd Chengdu Branch
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 New H3C Technologies Co Ltd Chengdu Branch filed Critical New H3C Technologies Co Ltd Chengdu Branch
Priority to CN201810504824.0A priority Critical patent/CN108762672B/zh
Publication of CN108762672A publication Critical patent/CN108762672A/zh
Application granted granted Critical
Publication of CN108762672B publication Critical patent/CN108762672B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • 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/1629Error detection by comparing the output of redundant processing systems
    • G06F11/165Error detection by comparing the output of redundant processing systems with continued operation after detection of the error
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Memory System (AREA)

Abstract

本公开提供一种分布式存储设备、方法及级联模块,涉及存储技术领域。分布式存储设备包括:至少两个高速总线级联模块、多个存储器和多个控制器;每个所述高速总线级联模块包括高速总线交换单元,该高速总线交换单元包括分别与所述多个存储器连接的多个第一端口以及分别与所述多个控制器连接的多个第二端口;所述控制器用于向所述高速总线级联模块发送管理命令,所述高速总线级联模块用于接收任一所述控制器发送的管理命令,执行该管理命令以通过所述高速总线交换单元对任一所述存储器进行管理。从而确保存储性能。

Description

分布式存储设备、方法及级联模块
技术领域
本公开涉及存储技术领域,具体而言,涉及一种分布式存储设备、方法及级联模块。
背景技术
随着存储业务量的不断增加,对分布式存储设备的性能有了更苛刻的要求。其中,分布式存储是将数据分散存储在多台独立的设备上,分布式存储具有可扩展的系统架构,利用多台设备分担存储负荷,从而提高存储性能。在分布式存储架构中,可以进行多种扩展,例如,存储业务处理能力的扩展、存储容量的扩展等。
发明内容
有鉴于此,本公开提供一种分布式存储设备、方法及级联模块。
第一方面,本公开提供了一种分布式存储设备,包括:至少两个高速总线级联模块、多个存储器和多个控制器;
每个所述高速总线级联模块包括高速总线交换单元,该高速总线交换单元包括分别与所述多个存储器连接的多个第一端口以及分别与所述多个控制器连接的多个第二端口;
所述控制器用于向所述高速总线级联模块发送管理命令,所述高速总线级联模块用于接收任一所述控制器发送的管理命令,执行该管理命令以通过所述高速总线交换单元对任一所述存储器进行管理。
可选地,所述多个存储器划分为多个分区,各所述控制器与各所述分区分别对应,所述高速总线级联模块中存储有各所述控制器与各所述分区的对应关系;
每个所述高速总线级联模块用于接收各所述控制器下发的管理命令,执行所述管理命令以对相应分区中的存储器进行管理。
可选地,所述管理命令包括配置修改信息,其中:
各所述控制器按预设时间间隔向其余控制器广播心跳信息,判断是否存在心跳信息丢失的控制器,若存在心跳信息丢失的控制器,由心跳信息未丢失的控制器中的一个向所述高速总线级联模块发送所述配置修改信息;
所述高速总线级联模块根据所述配置修改信息将所述心跳信息丢失的控制器对应的分区中的存储器重新划分至心跳信息未丢失的控制器对应的分区中。
可选地,各所述控制器还用于根据各所述心跳信息选举出各所述控制器的优先级,若存在心跳信息丢失的控制器,则根据各所述控制器的优先级,确定心跳信息未丢失的控制器中的一个向所述高速总线级联模块发送所述配置修改信息。
可选地,所述高速总线级联模块还包括基板管理控制器BMC;
所述高速总线交换单元的第一端口为高速总线接口,所述高速总线交换单元的第二端口为高速总线扩展口,所述高速总线交换单元通过所述多个高速总线扩展口与所述多个控制器连接,并通过所述多个高速总线接口与所述多个存储器连接;
所述BMC包括管理网口,所述BMC通过所述管理网口接收所述多个控制器发送的管理命令,执行所述管理命令以对所述高速总线交换单元进行管理配置,从而对所述多个存储器进行管理。
第二方面,本公开提供一种高速总线级联模块,包括:高速总线交换单元,该高速总线交换单元包括分别与多个存储器连接的多个第一端口以及分别与多个控制器连接的多个第二端口;
所述高速总线级联模块用于接收任一所述控制器发送的管理命令,执行该管理命令以通过所述高速总线交换单元对任一所述存储器进行管理。
可选地,所述高速总线级联模块还包括基板管理控制器BMC;
所述高速总线交换单元的第一端口为高速总线接口,所述高速总线交换单元的第二端口为高速总线扩展口,所述高速总线交换单元通过所述多个高速总线扩展口与所述多个控制器连接,并通过所述多个高速总线接口与所述多个存储器连接;
所述BMC包括管理网口,所述BMC通过所述管理网口接收所述多个控制器发送的管理命令,执行所述管理命令以对所述高速总线交换单元进行管理配置,从而对所述多个存储器进行管理。
第三方面,本公开提供一种分布式存储方法,应用于上述的分布式存储设备,所述分布式存储方法包括:
至少两个高速总线级联模块中的任一高速总线级联模块接收各控制器下发的管理命令,执行该管理命令以通过高速总线交换单元对任一存储器进行管理;
若存在高速总线级联模块故障,则通过所述至少两个高速总线级联模块中未故障的高速总线级联模块接收各所述控制器下发的管理命令,执行该管理命令以通过所述高速总线交换单元对任一所述存储器进行管理。
可选地,至少两个高速总线级联模块中的任一高速总线级联模块接收各控制器下发的管理命令,执行该管理命令以通过高速总线交换单元对任一存储器进行管理的步骤,包括:
至少两个高速总线级联模块中的任一高速总线级联模块接收各控制器下发的管理命令,执行所述管理命令以对相应分区中的存储器进行管理,其中,多个存储器划分为多个分区,所述高速总线级联模块中存储有各所述控制器与各所述分区的对应关系。
可选地,所述方法还包括:
各所述控制器按预设时间间隔向其余控制器广播心跳信息;
各所述控制器判断是否存在心跳信息丢失的控制器,若存在心跳信息丢失的控制器,由心跳信息未丢失的控制器中的一个向所述高速总线级联模块发送配置修改信息;
所述高速总线级联模块根据所述配置修改信息将所述心跳信息丢失的控制器对应的分区中的存储器重新划分至心跳信息未丢失的控制器对应的分区中。
本公开提供的分布式存储设备、方法及级联模块,设置至少两个高速总线级联模块和多个控制器,并在高速总线级联模块中设计高速总线交换单元,使得各控制器可通过正常工作的任意一个高速总线级联模块访问各存储器,从而确保各存储器能够分配到足够的控制器资源,进而确保存储性能。至少两个高速总线级联模块的设置,使得即使存在高速总线级联模块故障,控制器亦能够通过其他正常工作的高速总线级联模块访问各存储器,确保存储业务不中断。
进一步地,本公开提供的分布式存储设备、方法及级联模块,多个控制器分区访问存储器,即使存在故障控制器,故障控制器对应的分区中的存储器会配置到未故障的控制器的分区中,从而极大地降低数据丢失的概率,显著提升数据存储的可靠性。
为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本公开的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本公开的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本公开提供的一种存储设备的方框示意图。
图2为本公开提供的一种分布式存储设备的另一方框示意图。
图3为本公开提供的一种高速总线级联模块的方框示意图。
图4为本公开提供的一种分布式存储设备的又一方框示意图。
图5为本公开提供的一种分布式存储设备的又一方框示意图。
图6为本公开提供的一种分布式存储方法的流程示意图。
图标:10-高速总线级联模块;11-高速总线交换单元;12-基板管理控制器;20-控制器;30-存储器。
具体实施方式
随着存储业务量的不断增加,对分布式存储设备的容量、延迟、可靠性等关键指标有了更苛刻的要求。经研究发现,很多场景中,例如传统的基于硬盘驱动器(Hard DiskDrive,HDD)的分布式存储设备中,HDD每秒进行读写操作的次数(Input/OutputOperations Per Second,IOPS)较低,成为了关键性能瓶颈。而基于高速总线技术,如PCIE(Peripheral Component Interconnect Express,高速串行计算机扩展总线标准)的NVME(Non-Volatile Memory Express)协议具有高效率、高带宽、支持热插拔、标准化等特点,逐渐被广泛应用到了存储服务架构中,结合存储器,如基于固态电子存储芯片阵列的存储器(如固态硬盘(Solid State Disk,SSD)等),可以有效改善传统分布式存储设备中的HDD每秒进行读写操作的次数较低的性能瓶颈,提高存储器如SSD每秒进行读写操作的次数。
为最大限度的发挥存储器的性能优势,可以采用基于分布式架构的NVME分布式存储设备。分布式存储架构属于横向扩展部署,本公开中,横向扩展部署主要指存储控制器资源的叠加,可以增加存储业务的处理能力,进而提升分布式存储设备性能,从而突破分布式存储设备的性能瓶颈。然而面对日益增多的大容量、高可靠性、低延迟的应用场景,如何在分布式存储架构下实现高性能的纵向扩展,具有极大的意义,本公开中,纵向扩展主要指存储容量的叠加,可以通过外挂更多存储器的方式,增加存储容量。
请结合参阅图1,可以通过以下方式实现纵向扩展。
使用两个控制器和多个扩展框,各扩展框通过串行级联的方式增加,每个扩展框上包含两个高速总线级联模块如PCIE级联模块和多个存储器如SSD,控制器与扩展框间采用扩展线缆进行级联,两个控制器分别连接各扩展框的两个高速总线级联模块,以保证当一个控制器或者一个高速总线级联模块出现异常时,另一个控制器仍然可以正常访问扩展框上的存储器,从而提升访问可靠性。通过该种纵向扩展技术,使分布式存储设备的存储容量得到提升。
然而,经研究发现,采用图1所示方式进行纵向扩展,由于只有两个控制器资源,控制器资源将成为整个分布式存储设备的性能瓶颈,鉴于只有两个控制器时,只能提供一个控制器冗余度,当两个控制器均出现异常,如故障时,扩展框中的存储器将无法进行访问,存储数据有丢失的风险。
其中,采用串行级联方式增加扩展框,使得越往后级联扩展框,扩展框所能分到的控制器资源及总线带宽越少,这种架构无法适配存储器,如SSD高IOPS、低延迟的特性,不适合全闪存分布式存储设备。
基于上述研究,本公开提供了一种分布式存储设备、方法及级联模块,分布式存储设备包括至少两个高速总线级联模块,多个控制器如三个以上和多个存储器。多个控制器与多个存储器,如固态硬盘SSD之间“并行”连接,使得扩展后,各存储器能相对均衡的分配到控制器资源,从而确保各存储器高IOPS、低延迟的特性。采用至少两个高速总线级联模块,各控制器能够通过任一高速总线级联模块访问各存储器,确保访问可靠性。
针对以上方案所存在的缺陷,均是发明人在经过实践并仔细研究后得出的结果,因此,上述问题的发现过程以及下文中本公开针对上述问题所提出的解决方案,都应该是发明人在本公开过程中对本公开做出的贡献。
下面将结合本公开中附图,对本公开中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本公开的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
请参阅图2,本公开提供一种分布式存储设备,包括至少两个高速总线级联模块10、多个存储器30和多个控制器20。
其中,每个高速总线级联模块10连接于多个控制器20与多个存储器30之间,用于接收各控制器20下发的管理命令,并根据管理命令对多个存储器30进行管理。通过该种方式,确保各控制器20能够通过高速总线级联模块10直接“并行”对各存储器30进行访问和管理,确保各存储器30能够相对均衡的分配到控制器20资源。
设置至少两个高速总线级联模块10,各控制器20能够通过任一高速总线级联模块10访问各存储器30,使得即使存在高速总线级联模块10出现故障,只要存在一个正常工作的高速总线级联模块10,各控制器20即可通过正常工作的高速总线级联模块10访问各存储器30,确保存储业务正常进行而不发生中断,从而确保访问可靠性。
为了确保高速总线级联模块10能够接收各控制器20下发的管理命令,并根据管理命令对多个存储器30进行管理,每个高速总线级联模块10包括高速总线交换单元11,该高速总线交换单元11包括分别与多个存储器30连接的多个第一端口以及分别与多个控制器20连接的多个第二端口。控制器20用于向高速总线级联模块10发送管理命令,高速总线级联模块10用于接收任一控制器20发送的管理命令,执行该管理命令以通过高速总线交换单元11对任一存储器30进行管理。基于该种架构,任意一个控制器20可以通过任意一个高速总线级联模块10控制任意一个存储器30,从而确保存储性能。
为了进一步确保各存储器30能够相对均衡的分配到控制器20资源,以及提高控制效率和可靠性,多个存储器30可以划分为多个分区,各控制器20与各分区分别对应,以对相应分区中的存储器30进行控制,高速总线级联模块10中存储有各控制器20与各分区的对应关系。
其中,多个存储器30的分区方式有多种,例如,可以随机分区,每个分区中存储器30的数量可以不同。又例如,可以按设定的数量进行分区,从而使得每个分区中的存储器30数量相等,本实施例对此不作限制。控制器20的数量可以灵活设置,例如,三个以上,控制器20的数量可以与分区的数量相等,从而使得控制器20与分区一一对应,每个控制器20对相应分区中的存储器30进行访问和控制。又例如,控制器20的数量可以与分区的数量不相等,如分区的数量可以为控制器20数量的倍数,从而使得一控制器20对应两个以上分区,每个控制器20对相应的两个以上分区中的存储器30进行访问和控制,本实施例对此不作限制。
将多个存储器30分区,多个控制器20分区访问相应的存储器30,从而充分确保各存储器30能够相对均衡地分配到足够的控制器20资源,进一步实现纵向扩展架构的高IOPS、低延迟特性。
在多个控制器20分区访问相应的存储器30的情况下,相应地,每个高速总线级联模块10用于接收各控制器20下发的管理命令,执行管理命令以对相应分区中的存储器30进行管理。
在设置多个控制器20分区访问相应的存储器30的情况下,为了在存在控制器20发生异常,如故障的情况下,确保与该控制器20对应的分区中的存储器30仍然能够被正常访问和控制,可选地,本公开中,其他未发生异常的控制器20可以“接管”异常控制器20对应的分区中的存储器30。例如,管理命令可以包括配置修改信息,各控制器20可以按预设时间间隔向多个控制器20中的其余控制器20广播心跳信息,判断是否存在心跳信息丢失的控制器20,若存在心跳信息丢失的控制器20,由心跳信息未丢失的控制器20中的一个向高速总线级联模块10发送配置修改信息。高速总线级联模块10根据配置修改信息将心跳信息丢失的控制器20对应的分区中的存储器30重新划分至心跳信息未丢失的控制器20对应的分区中,从而实现对异常控制器20对应的分区中的存储器30接管,进而确保存储可靠性。
其中,各控制器20可以分别与交换机连接,各控制器20通过交换机交互信息,如各控制器20可以通过交换机交互业务信息、心跳信息等。其他未发生异常的控制器20接管异常控制器20对应的分区中的存储器30的方式有多种,例如,可以将异常控制器20对应的分区中的存储器30平均分配至其他未发生异常的各控制器20。又例如,可以将异常控制器20对应的分区中的存储器30随机分配至其他未发生异常的一个或多个控制器20。又例如,可以分析其他未发生异常的控制器20的性能,将异常控制器20对应的分区中的存储器30分配至性能最好的若干个未发生异常的控制器20,其中,性能最好可以包括控制器20对应的分区中存储器30数量最少,本实施例对此不作限制。
确定向高速总线级联模块10发送配置修改信息的控制器20的方式有多种,例如,各控制器20可以根据各自的心跳信息选举出各控制器20的优先级,若存在心跳信息丢失的控制器20,则根据各控制器20的优先级,确定心跳信息未丢失的控制器20中的一个向高速总线级联模块10发送配置修改信息。
根据各控制器20的优先级,确定心跳信息未丢失的控制器20中的一个向高速总线级联模块10发送配置修改信息的实现方式可以包括:确定心跳信息未丢失的控制器20中优先级最高的一个控制器20,由该控制器20向高速总线级联模块10发送配置修改信息。
其中,确定心跳信息未丢失的控制器20中优先级最高的一个控制器20的实现流程可以如下所示:若存在心跳信息丢失的控制器20,则判断该控制器20的优先级是否为最高,若优先级为最高,则由优先级次高的控制器20向高速总线级联模块10发送配置修改信息;若优先级非最高,则由优先级最高的控制器20向高速总线级联模块10发送配置修改信息。
在进行配置修改后,多个控制器20中除心跳信息丢失的控制器20之外的控制器20依据心跳信息重新选举各控制器20的优先级,以提高后续工作的可靠性。
请结合参阅图3,本公开中,每个高速总线级联模块10还可以包括基板管理控制器BMC(Baseboard Management Controller)12。其中,高速总线交换单元11的第一端口为高速总线接口,高速总线交换单元11的第二端口为高速总线扩展口,高速总线交换单元11通过多个高速总线扩展口与多个控制器20连接,并通过多个高速总线接口与多个存储器30连接。
BMC包括管理网口,BMC通过管理网口接收多个控制器20发送的管理命令,执行管理命令以对高速总线交换单元11进行管理配置,从而对多个存储器30进行管理。其中,多个控制器20可以连接至路由器,通过路由器与BMC连接,实现信息交互。
为了实现存储器30与至少两个高速总线级联模块10之间的连接,相应地,存储器30包括至少两个端口,其中,存储器30包括的端口数量可以与高速总线级联模块10的数量相等。存储器30通过至少两个端口分别与至少两个高速总线级联模块10的高速总线交换单元11连接。从而使得即使存在高速总线级联模块10出现故障,只要存在一个正常工作的高速总线级联模块10,各控制器20即可通过正常工作的高速总线级联模块10访问各存储器30,确保存储业务正常进行而不发生中断,从而确保访问可靠性。其中,各存储器30可以通过背板与高速总线交换单元11连接。
为了确保供电可靠性,分布式存储设备还可以包括至少两个电源,至少两个电源中的任一电源均可为分布式存储设备供电。在存在电源故障时,只要有一个电源正常工作,即可为分布式存储设备供电,确保分布式存储设备正常工作。
在上述基础上,为了更为清楚地阐述本公开的实现架构和工作原理,现以下述场景为例对本公开的实现流程进行举例说明。
请结合参阅图4,假设分布式存储设备为基于分布式存储架构的NVME分布式存储设备,其中,存储器30为NVME SSD,高速总线级联模块10为PCIE级联模块,高速总线交换单元11为PCIE Switch单元。
分布式存储设备由多个存储设备扩展框构成,每个存储设备扩展框包括两个PCIE级联模块、两个220V AC电源、背板以及后端的P个NVME SSD。
每个PCIE级联模块包括PCIE Switch单元和BMC。PCIE Switch单元的前端分配出N个高速总线扩展口,通过PCIE扩展线缆连接多个控制器20,PCIE Switch单元的后端分配出P个PCIE X2 Port(上述高速总线接口),用于连接后端的P个NVME SSD。BMC分配出管理网口,BMC负责整个PCIE级联模块的电源管理、温度监控等功能,BMC通过管理网口接收各控制器20下发的管理命令,对PCIE Switch单元进行动态管理配置。
请结合参阅图5,各控制器20可以通过路由器与管理网口连接。
每个存储设备扩展框具有两个220V AC电源,在一个电源出现异常时,另一个电源也可以保证整个扩展框正常工作。
后端的NVME SSD采用双端口访问方式,每个NVME SSD的两个PCIE X2 Port分别通过背板与两个PCIE级联模块上的PCIE Switch单元进行连接。
其中,单个存储设备扩展框中的其中一个PCIE级联模块的N个PCIE扩展口分别通过PCIE扩展线缆连接到N个不同的控制器20上的PCIE扩展口,另一个PCIE级联模块的N个PCIE扩展口也分别连接到上述N个不同的控制器20上另外一组PCIE扩展口。N个控制器20通过FC(Fiber Channel)或RDMA(Remote Direct Memory Access)接口连接FC交换机或RDMA交换机,构建分布式集群,并通过FC交换机或RDMA交换机交互业务信息、心跳信息等。
P个NVME SSD被任意分配为N个分区,各分区与各控制器20一一对应,每个分区下的NVME SSD可以由其对应的控制器20进行直接访问,同时,每个NVME SSD采用双端口访问方式,控制器20可以通过任一PCIE级联模块对NVME SSD进行访问,如图5所示,PCIE级联模块上的PCIE扩展口以1GE表示,各控制器20可以通过对应的端口1GE与PCIE级联模块连接。
基于上述架构,可以高效并可靠地实现NVME存储设备的纵向扩展,工作流程如下。
分布式存储设备内所有设备上电,流程开始。
各存储设备扩展框上的PCIE Switch单元加载默认配置,将P个NVME SSD划分为N个分区,并通过N个PCIE扩展口与N个控制器20建立连接。各控制器20FC接口或RDMA接口每10s向其余N-1个控制器20广播心跳信息,告知本控制器20已经运行正常。各控制器20依据心跳信息,随机选举出控制器20优先级,进行优先级排序,例如,若根据优先级高低按顺序排序,那么优先级为1的控制器20具有最高优先级,优先级为N的控制器20具有最低优先级。
判断是否有控制器20心跳信息丢失,如果有控制器20心跳信息丢失,则判断丢失心跳信息的控制器20优先级是否为1,如果为1,优先级为2的控制器20则通过管理网口下发配置修改信息,动态修改存储设备扩展框上的PCIE Switch单元的配置,将心跳信息丢失的控制器20下的NVME SSD平均分配到剩下的N-1个控制器20下的分区中。
如果丢失心跳信息的控制器20优先级不为1,优先级为1的控制器20则通过管理网口下发配置修改信息,动态修改扩展框上的PCIE Switch单元的配置,将心跳信息丢失的控制器20下的NVME SSD平均分配到剩下的N-1个控制器20下的分区中。
在进行配置修改后,剩余N-1个控制器20依据心跳信息,重新选举各自的优先级,并返回执行判断是否有控制器20心跳信息丢失的步骤。
如果不存在控制器20心跳信息丢失,则返回执行判断是否有控制器20心跳信息丢失的步骤。
应当理解,检测到心跳信息丢失的控制器20也可能为两个以上,在该种情况下,同样地,会将心跳信息丢失的两个以上控制器20下的NVME SSD平均分配到剩余的未丢失心跳信息的各控制器20下的分区中。配置修改信息由未丢失心跳信息的各控制器20中优先级最高的控制器20执行。
本公开中的分布式存储设备,各存储设备扩展框上任一PCIE级联模块出现异常时,其他PCIE级联模块也能正常工作,从而确保存储业务不中断。采用了NVME SSD双端口访问方式,任意一个PCIE级联模块出现异常,控制器20均可以通过其他正常工作的PCIE级联模块对NVME SSD进行访问,提高了存储稳定性。多个控制器20分区访问扩展框上的NVMESSD,保证了每块NVME SSD的上行带宽,保证了每块NVME SSD可以分配到足够的控制器20资源,从而进一步实现了纵向扩展架构的高IOPS、低延迟的特性。即使任意N-1个控制器20都出现异常,可以通过管理网口对PCIE switch单元进行动态分区配置,将异常控制器20分区下NVME SSD动态配置到未出现异常的控制器20下,从而极大地降低了数据丢失的概率,提高了整个分布式存储设备的可靠性。
本公开中还提供一种高速总线级联模块10,包括:高速总线交换单元11,该高速总线交换单元11包括分别与多个存储器30连接的多个第一端口以及分别与多个控制器20连接的多个第二端口。高速总线级联模块10用于接收任一控制器20发送的管理命令,执行该管理命令以通过高速总线交换单元11对任一所述存储器30进行管理。
其中,所述高速总线级联模块10还包括基板管理控制器BMC。所述高速总线交换单元11的第一端口为高速总线接口,所述高速总线交换单元11的第二端口为高速总线扩展口,所述高速总线交换单元11通过所述多个高速总线扩展口与所述多个控制器20连接,并通过所述多个高速总线接口与所述多个存储器30连接。所述BMC包括管理网口,所述BMC通过所述管理网口接收所述多个控制器20发送的管理命令,执行所述管理命令以对所述高速总线交换单元11进行管理配置,从而对所述多个存储器30进行管理。
本公开中的高速总线级联模块10与上述分布式存储设备中的高速总线级联模块10设计架构和工作原理类似,相应内容可以参阅前述分布式存储设备中的描述,因而在此不作更多说明。
本公开中的高速总线级联模块10可以有多种选择,例如,可以为PCIE级联模块,又例如,可以为SAS(Serial Attached SCSI,又名串行连接SCSI)极联模块。相应地,高速总线交换单元11也可以有多种选择,例如,可以为PCIE交换单元,又例如,可以为SAS交换单元。
本公开中高速总线级联模块10连接的存储器30可以为基于固态电子存储芯片阵列的存储器,如SSD。
基于与上述分布式存储设备同样的构思,本公开还提供了一种分布式存储方法,应用于上述分布式存储设备,分布式存储方法包括以下步骤。
至少两个高速总线级联模块中的任一高速总线级联模块接收各控制器下发的管理命令,执行该管理命令以通过高速总线交换单元对任一存储器进行管理。若存在高速总线级联模块故障,则通过所述至少两个高速总线级联模块中未故障的高速总线级联模块接收各所述控制器下发的管理命令,执行该管理命令以通过所述高速总线交换单元对任一所述存储器进行管理。
可选地,至少两个高速总线级联模块中的任一高速总线级联模块接收各控制器下发的管理命令,执行该管理命令以通过高速总线交换单元对任一存储器进行管理的步骤,包括:
至少两个高速总线级联模块中的任一高速总线级联模块接收各控制器下发的管理命令,执行所述管理命令以对相应分区中的存储器进行管理,其中,所述多个存储器划分为多个分区,所述高速总线级联模块中存储有各所述控制器与各所述分区的对应关系。
请结合参阅图6,所述方法还包括以下步骤。
步骤S11,各所述控制器按预设时间间隔向其余控制器广播心跳信息。
其中,预设时间间隔可以灵活设置,例如,10S。本实施例对此不作限制。
步骤S12,各所述控制器判断是否存在心跳信息丢失的控制器,若存在心跳信息丢失的控制器,执行步骤S13。
步骤S13,由心跳信息未丢失的控制器中的一个向所述高速总线级联模块发送配置修改信息。
步骤S14,所述高速总线级联模块根据所述配置修改信息将所述心跳信息丢失的控制器对应的分区中的存储器重新划分至心跳信息未丢失的控制器对应的分区中。
本公开中的分布式存储设备、方法及级联模块,设置至少两个高速总线级联模块和多个控制器,并在高速总线级联模块中设计高速总线交换单元,使得各控制器可通过正常工作的任意一个高速总线级联模块访问各存储器,从而确保各存储器能够分配到足够的控制器资源,进而确保存储性能。至少两个高速总线级联模块的设置,使得即使存在高速总线级联模块故障,控制器亦能够通过其他正常工作的高速总线级联模块访问存储器,确保存储业务不中断。多个控制器分区访问存储器,即使存在故障控制器,故障控制器对应的分区中的存储器会配置到未故障的控制器的分区中,从而极大地降低数据丢失的概率,显著提升数据存储的可靠性。
在本公开所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置和方法实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本公开的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本公开各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,电子设备,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅为本公开的可选实施例而已,并不用于限制本公开,对于本领域的技术人员来说,本公开可以有各种更改和变化。凡在本公开的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。

Claims (10)

1.一种分布式存储设备,其特征在于,包括:至少两个高速总线级联模块、多个存储器和多个控制器;
每个所述高速总线级联模块包括高速总线交换单元,该高速总线交换单元包括分别与所述多个存储器连接的多个第一端口以及分别与所述多个控制器连接的多个第二端口;
所述控制器用于向所述高速总线级联模块发送管理命令,所述高速总线级联模块用于接收任一所述控制器发送的管理命令,执行该管理命令以通过所述高速总线交换单元对任一所述存储器进行管理。
2.根据权利要求1所述的分布式存储设备,其特征在于,所述多个存储器划分为多个分区,各所述控制器与各所述分区分别对应,所述高速总线级联模块中存储有各所述控制器与各所述分区的对应关系;
每个所述高速总线级联模块用于接收各所述控制器下发的管理命令,执行所述管理命令以对相应分区中的存储器进行管理。
3.根据权利要求2所述的分布式存储设备,其特征在于,所述管理命令包括配置修改信息,其中:
各所述控制器按预设时间间隔向其余控制器广播心跳信息,判断是否存在心跳信息丢失的控制器,若存在心跳信息丢失的控制器,由心跳信息未丢失的控制器中的一个向所述高速总线级联模块发送所述配置修改信息;
所述高速总线级联模块根据所述配置修改信息将所述心跳信息丢失的控制器对应的分区中的存储器重新划分至心跳信息未丢失的控制器对应的分区中。
4.根据权利要求3所述的分布式存储设备,其特征在于,各所述控制器还用于根据各所述心跳信息选举出各所述控制器的优先级,若存在心跳信息丢失的控制器,则根据各所述控制器的优先级,确定心跳信息未丢失的控制器中的一个向所述高速总线级联模块发送所述配置修改信息。
5.根据权利要求1所述的分布式存储设备,其特征在于,所述高速总线级联模块还包括基板管理控制器BMC;
所述高速总线交换单元的第一端口为高速总线接口,所述高速总线交换单元的第二端口为高速总线扩展口,所述高速总线交换单元通过所述多个高速总线扩展口与所述多个控制器连接,并通过所述多个高速总线接口与所述多个存储器连接;
所述BMC包括管理网口,所述BMC通过所述管理网口接收所述多个控制器发送的管理命令,执行所述管理命令以对所述高速总线交换单元进行管理配置,从而对所述多个存储器进行管理。
6.一种高速总线级联模块,其特征在于,包括:高速总线交换单元,该高速总线交换单元包括分别与多个存储器连接的多个第一端口以及分别与多个控制器连接的多个第二端口;
所述高速总线级联模块用于接收任一所述控制器发送的管理命令,执行该管理命令以通过所述高速总线交换单元对任一所述存储器进行管理。
7.根据权利要求6所述高速总线级联模块,其特征在于,所述高速总线级联模块还包括基板管理控制器BMC;
所述高速总线交换单元的第一端口为高速总线接口,所述高速总线交换单元的第二端口为高速总线扩展口,所述高速总线交换单元通过所述多个高速总线扩展口与所述多个控制器连接,并通过所述多个高速总线接口与所述多个存储器连接;
所述BMC包括管理网口,所述BMC通过所述管理网口接收所述多个控制器发送的管理命令,执行所述管理命令以对所述高速总线交换单元进行管理配置,从而对所述多个存储器进行管理。
8.一种分布式存储方法,应用于权利要求1至5任一项所述的分布式存储设备,其特征在于,所述分布式存储方法包括:
至少两个高速总线级联模块中的任一高速总线级联模块接收各控制器下发的管理命令,执行该管理命令以通过高速总线交换单元对任一存储器进行管理;
若存在高速总线级联模块故障,则通过所述至少两个高速总线级联模块中未故障的高速总线级联模块接收各所述控制器下发的管理命令,执行该管理命令以通过所述高速总线交换单元对任一所述存储器进行管理。
9.根据权利要求8所述的分布式存储方法,其特征在于,至少两个高速总线级联模块中的任一高速总线级联模块接收各控制器下发的管理命令,执行该管理命令以通过高速总线交换单元对任一存储器进行管理的步骤,包括:
至少两个高速总线级联模块中的任一高速总线级联模块接收各控制器下发的管理命令,执行所述管理命令以对相应分区中的存储器进行管理,其中,多个存储器划分为多个分区,所述高速总线级联模块中存储有各所述控制器与各所述分区的对应关系。
10.根据权利要求9所述的分布式存储方法,其特征在于,所述方法还包括:
各所述控制器按预设时间间隔向其余控制器广播心跳信息;
各所述控制器判断是否存在心跳信息丢失的控制器,若存在心跳信息丢失的控制器,由心跳信息未丢失的控制器中的一个向所述高速总线级联模块发送配置修改信息;
所述高速总线级联模块根据所述配置修改信息将所述心跳信息丢失的控制器对应的分区中的存储器重新划分至心跳信息未丢失的控制器对应的分区中。
CN201810504824.0A 2018-05-23 2018-05-23 分布式存储设备、方法及级联模块 Active CN108762672B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810504824.0A CN108762672B (zh) 2018-05-23 2018-05-23 分布式存储设备、方法及级联模块

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810504824.0A CN108762672B (zh) 2018-05-23 2018-05-23 分布式存储设备、方法及级联模块

Publications (2)

Publication Number Publication Date
CN108762672A true CN108762672A (zh) 2018-11-06
CN108762672B CN108762672B (zh) 2022-03-11

Family

ID=64005153

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810504824.0A Active CN108762672B (zh) 2018-05-23 2018-05-23 分布式存储设备、方法及级联模块

Country Status (1)

Country Link
CN (1) CN108762672B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111078150A (zh) * 2019-12-18 2020-04-28 成都定为电子技术有限公司 一种高速存储设备及不间断扩容方法
CN118277314A (zh) * 2024-05-31 2024-07-02 湖南源科创新科技有限公司 远程多活设备及远程多活控制方法

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101714126A (zh) * 2009-12-17 2010-05-26 成都市华为赛门铁克科技有限公司 一种存储系统及该系统的连接方法和相关设备
CN103793180A (zh) * 2012-10-30 2014-05-14 英业达科技有限公司 磁盘配置方法及服务器机架系统
CN105159605A (zh) * 2015-08-24 2015-12-16 浪潮(北京)电子信息产业有限公司 一种存储服务器架构
CN105487609A (zh) * 2015-11-25 2016-04-13 浪潮电子信息产业股份有限公司 一种服务器
CN105607872A (zh) * 2015-12-17 2016-05-25 山东海量信息技术研究院 一种存储装置
CN105786414A (zh) * 2016-03-24 2016-07-20 天津书生云科技有限公司 存储系统、存储系统的访问方法和存储系统的访问装置
CN105814533A (zh) * 2014-03-07 2016-07-27 株式会社日立制作所 计算机系统
US20160283314A1 (en) * 2015-03-24 2016-09-29 Freescale Semiconductor, Inc. Multi-Channel Network-on-a-Chip
US20170149897A1 (en) * 2014-11-04 2017-05-25 Pavilion Data Systems, Inc. Non-volatile memory express over ethernet
CN107733684A (zh) * 2017-08-31 2018-02-23 北京宇航系统工程研究所 一种基于龙芯处理器的多控制器计算冗余集群

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101714126A (zh) * 2009-12-17 2010-05-26 成都市华为赛门铁克科技有限公司 一种存储系统及该系统的连接方法和相关设备
CN103793180A (zh) * 2012-10-30 2014-05-14 英业达科技有限公司 磁盘配置方法及服务器机架系统
CN105814533A (zh) * 2014-03-07 2016-07-27 株式会社日立制作所 计算机系统
US20170149897A1 (en) * 2014-11-04 2017-05-25 Pavilion Data Systems, Inc. Non-volatile memory express over ethernet
US20160283314A1 (en) * 2015-03-24 2016-09-29 Freescale Semiconductor, Inc. Multi-Channel Network-on-a-Chip
CN105159605A (zh) * 2015-08-24 2015-12-16 浪潮(北京)电子信息产业有限公司 一种存储服务器架构
CN105487609A (zh) * 2015-11-25 2016-04-13 浪潮电子信息产业股份有限公司 一种服务器
CN105607872A (zh) * 2015-12-17 2016-05-25 山东海量信息技术研究院 一种存储装置
CN105786414A (zh) * 2016-03-24 2016-07-20 天津书生云科技有限公司 存储系统、存储系统的访问方法和存储系统的访问装置
CN107733684A (zh) * 2017-08-31 2018-02-23 北京宇航系统工程研究所 一种基于龙芯处理器的多控制器计算冗余集群

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
LAVANYA SAINIK: "《Distributed life cycle scheduling for cascaded data processing》", 《2015 IEEE INTERNATIONAL CONFERENCE ON BIG DATA (BIG DATA)》 *
胡文波等: "《分布式存储方案的设计与研究》", 《计算机技术与发展》 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111078150A (zh) * 2019-12-18 2020-04-28 成都定为电子技术有限公司 一种高速存储设备及不间断扩容方法
CN118277314A (zh) * 2024-05-31 2024-07-02 湖南源科创新科技有限公司 远程多活设备及远程多活控制方法
CN118277314B (zh) * 2024-05-31 2024-08-16 湖南源科创新科技有限公司 远程多活设备及远程多活控制方法

Also Published As

Publication number Publication date
CN108762672B (zh) 2022-03-11

Similar Documents

Publication Publication Date Title
US8683486B2 (en) SAS expander based persistent connections
CN104135514B (zh) 融合式虚拟化存储系统
CN102567227B (zh) 共享缓存设备的双控制器存储系统和方法
CN103210379A (zh) 服务器系统、管理方法及设备
CN105138494B (zh) 一种多路计算机系统
CN104967577B (zh) Sas交换机和服务器
CN113448402A (zh) 一种支持多背板级联的服务器
CN107220195A (zh) 一种支持高密度NVMe存储的多路计算机系统架构
CN108762672A (zh) 分布式存储设备、方法及级联模块
CN109189347A (zh) 一种共享存储模块、服务器及系统
CN117632808B (zh) 多控存储阵列、存储系统、数据处理方法以及存储介质
CN209248436U (zh) 一种扩展板卡及服务器
CN114936171A (zh) 存储访问控制器架构
WO2024148871A1 (zh) 一种存储数据处理方法、装置、电子设备和存储介质
CN109597565B (zh) 虚拟Plane管理
CN104460857A (zh) 一种高速外设部件互连标准卡及其使用方法和装置
CN109614354B (zh) 接口分配方法、板卡、设备及存储介质
EP4425334A1 (en) Storage control method, storage controller, storage chip, network card, and readable medium
CN116204448A (zh) 一种多端口固态硬盘及其控制方法、装置、介质、服务器
CN105511990A (zh) 基于融合架构双冗余度新型存储控制节点架构
CN211506479U (zh) 一种9u vpx数据存储服务器
CN209248518U (zh) 一种固态硬盘扩展板卡及服务器
CN107153515A (zh) 一种多控集群存储信息处理系统及方法
CN101141188B (zh) 光同步数字传输系统中的交叉矩阵的实现方法及装置
CN109450681A (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