CN116400860A - 融合型存储方法、设备、系统及存储介质 - Google Patents
融合型存储方法、设备、系统及存储介质 Download PDFInfo
- Publication number
- CN116400860A CN116400860A CN202310331201.9A CN202310331201A CN116400860A CN 116400860 A CN116400860 A CN 116400860A CN 202310331201 A CN202310331201 A CN 202310331201A CN 116400860 A CN116400860 A CN 116400860A
- Authority
- CN
- China
- Prior art keywords
- storage
- metadata
- node
- disk
- nodes
- 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.)
- Pending
Links
- 230000004927 fusion Effects 0.000 title claims abstract description 76
- 238000000034 method Methods 0.000 title claims abstract description 42
- 230000015654 memory Effects 0.000 claims abstract description 79
- 238000005516 engineering process Methods 0.000 claims description 20
- 238000011176 pooling Methods 0.000 claims description 18
- 230000007246 mechanism Effects 0.000 claims description 17
- 230000006870 function Effects 0.000 claims description 15
- 238000004891 communication Methods 0.000 claims description 14
- 238000011161 development Methods 0.000 claims description 14
- 238000004590 computer program Methods 0.000 claims description 10
- 208000031339 Split cord malformation Diseases 0.000 claims description 9
- 238000004645 scanning capacitance microscopy Methods 0.000 claims description 9
- 238000013068 supply chain management Methods 0.000 claims description 9
- 230000002085 persistent effect Effects 0.000 claims description 7
- 238000001514 detection method Methods 0.000 claims description 6
- 238000013500 data storage Methods 0.000 claims description 5
- 238000013507 mapping Methods 0.000 claims description 3
- 230000008901 benefit Effects 0.000 abstract description 10
- 230000018109 developmental process Effects 0.000 description 12
- 238000007726 management method Methods 0.000 description 12
- 238000012545 processing Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 7
- 239000007787 solid Substances 0.000 description 6
- 230000000875 corresponding effect Effects 0.000 description 5
- 238000013461 design Methods 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000012423 maintenance Methods 0.000 description 4
- 238000000926 separation method Methods 0.000 description 4
- 238000013403 standard screening design Methods 0.000 description 4
- 239000006185 dispersion Substances 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000005012 migration Effects 0.000 description 2
- 238000013508 migration Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000033772 system development Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 208000015181 infectious disease Diseases 0.000 description 1
- 230000007334 memory performance Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 239000002245 particle Substances 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0644—Management of space entities, e.g. partitions, extents, pools
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0706—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
- G06F11/073—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a memory management context, e.g. virtual memory or cache management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0793—Remedial or corrective actions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/062—Securing storage systems
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
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)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种融合型存储融合型存储方法、设备、系统及存储介质。用于实现分布式存储架构和集中式存储架构的融合。本发明提供的融合型存储系统包括多个存储节点和盘柜,存储节点与盘柜之间进行全连接,存储节点中的SCM组成元数据存储池,内存组成内存池,每一个存储节点与每一个盘柜通过NVMe‑oF协议连接,每一个存储节点都具有每个盘柜中介质盘的访问控制权限,但介质盘读/写权限同一时刻只归属于一个存储节点。通过本发明提供的融合型存储架构可综合发挥分布式存储架构和集中式存储架构各自的优势。
Description
技术领域
本发明涉及通信及云计算技术领域,尤其涉及一种融合型存储方法、设备、系统及存储介质。
背景技术
分布式存储与集中式存储在各自发展初期,按照不同的设计理念进行了发展,分别是“去中心化”与“中心化”两条设计思路。
从整体的框架设计上看,分布式存储强调各个节点之间的“自治”,而集中式存储则强调各个控制器节点之间的信息统一、共同管理,即“共治”。
随着高速网络技术、远程直接存储访问(Remote Direct Memory Access,RDMA)技术、非易失性内存主机控制器接口规范(Non-Volatile Memory Express,NVMe/NVMExpress)技术的发展,网络不再成为存储性能的瓶颈,集中式和分布式逐渐走向架构融合、独立扩展的分离式架构。
分布式系统由于信息资源分散,系统开发、维护和管理的标准、规范不易统一。配置在不同地点的信息资源一般分属管理信息系统的各子系统,不同子系统之间往往存在利益冲突,管理上协调有一定难度。各地的计算机系统工作条件和环境不一,不利于安全保密措施的统一实施。集中式系统随着系统规模的扩大和功能的提高,复杂性迅速增长,给管理、维护带来困难,对组织变革和技术发展的适应性差,应变能力弱,系统比较脆弱,主机出现故障时可能使整个系统停止工作。如何融合分布式存储与集中式存储,综合分布式和集中式存储的优势,提高开发效率和系统整体性能是目前迫切的需求。
发明内容
有鉴于此,本发明提供一种融合型存储方法、设备、系统及存储介质,用于解决分布式与集中式存储架构融合的技术问题。
基于本发明实施例的一方面,本发明提供了一种融合型存储系统,该融合型存储系统包括多个存储节点及多个盘柜;
所述存储节点中配置有存储级内存(SCM);
所述多个存储节点中的SCM组成元数据存储池用于存储所述融合型存储系统的元数据,每个存储节点都拥有所述融合型存储系统的全部元数据;
所述多个存储节点中的内存组成内存池以供所述融合型存储系统中的存储节点的CPU使用;
所述多个存储节点中的每一个存储节点与所述多个盘柜中的每一个盘柜通过基于架构的非易失性内存NVMe-oF协议连接,所述多个存储节点中每一个存储节点都具有每个盘柜中所有介质盘的访问控制权限,但盘柜中的任一个介质盘的读/写权限同一时刻只归属于一个存储节点。
进一步地,所述元数据存储池依赖于存储引擎的分布式实现机制,存储引擎基于预设的数据路由算法将元数据的多个副本分发到不同的存储节点上的SCM中,使元数据在元数据存储池中副本冗余存储;
所述存储节点通过检测机制实时检测各SCM的运行状态,当检测到SCM出现故障时,将故障的SCM踢出所述元数据存储池并启用预设的数据重构机制将故障的SCM中的元数据进行副本冗余恢复。
进一步地,所述元数据存储池基于持久化存储开发套件PMDK实现,使用直接存取DAX技术将元数据映射到内存中以实现对SCM中元数据的高速读/写访问。
进一步地,所述多个存储节点中的内存配置有电池保护模块BBU;所述多个存储节点中的内存组成的内存池基于计算快速连接CXL池化技术实现。
进一步地,所述多个存储节点中每个存储节点都配置为一个故障域,当某个存储节点上的存储引擎故障时,通过预设的选举策略从其它状态正常的存储节点中选举接管节点接管故障的存储节点的存储功能,使用元数据存储池中的元数据读/写盘柜中所述故障的存储节点拥有读/写权限的介质盘。
进一步地,所述存储节点中还配置有介质盘,所述介质盘的元数据也存储于所述元数据存储池;
当某个存储节点上的存储引擎故障时,由所述接管节点基于元数据存储池中的元数据接管所述故障的存储节点的介质盘,或通过分布式存储的数据重构策略对故障的存储节点中的介质盘中的数据进行数据重构。
进一步地,所述存储节点中的介质盘用于存储热数据,所述盘柜中的介质盘用于存储冷数据。
基于本发明实施例的另一方面,本发明还提供一种融合型存储方法,该方法应用于融合型存储系统中的存储节点,所述融合型存储系统包括多个存储节点及多个盘柜,该方法包括:
通过池化技术将所述存储节点中的内存与所述融合型存储系统中的其它存储节点中的内存形成内存池以供所述融合型存储系统中的存储节点的CPU使用;
通过池化技术将所述存储节点中的存储类内存SCM与所述融合型存储系统中的其它存储节点中的SCM形成元数据存储池用于存储所述融合型存储系统的元数据,每个存储节点都拥有所述融合型存储系统的全部元数据;
通过基于架构的非易失性内存NVMe-oF协议连接将所述存储节点连接到所述融合型存储系统中的每一个盘柜,赋予所述存储节点对所有盘柜中所有介质盘的访问控制权限,盘柜中的任一个介质盘的读/写权限同一时刻只归属于一个存储节点。
进一步地,所述元数据存储池依赖于存储引擎的分布式实现机制;
所述存储节点的存储引擎基于预设的数据路由算法将元数据的多个副本分发到不同的存储节点上的SCM中,使元数据在元数据存储池中副本冗余存储;
所述存储节点通过检测机制实时检测各SCM的运行状态,当检测到SCM出现故障时,将故障的SCM踢出所述元数据存储池并启用预设的数据重构机制将故障的SCM中的元数据进行副本冗余恢复。
进一步地,将所述多个存储节点中每个存储节点都配置为一个故障域;
当所述存储节点上的存储引擎故障时,通过预设的选举策略从其它状态正常的存储节点中选举接管节点,以使接管节点接管故障的存储节点的存储功能;
当所述存储节点正常且被选举为接管节点时,使用元数据存储池中的元数据读/写盘柜中所接管的故障的存储节点拥有读/写权限的介质盘。
进一步地,所述存储节点中还配置有介质盘,将所述介质盘的元数据也存储于所述元数据存储池;
当所述存储节点正常且被选举为接管节点时,所述接管节点基于元数据存储池中的元数据接管所述故障的存储节点的介质盘,或通过分布式存储的数据重构策略对故障的存储节点中的介质盘中的数据进行数据重构。
进一步地,基于持久化存储开发套件PMDK实现所述元数据存储池,使用直接存取DAX技术将元数据映射到内存中以实现对SCM中元数据的高速读/写访问;
基于计算快速连接CXL池化技术将所述多个存储节点中的内存组成的内存池,所述存储节点中的内存配置有电池保护模块BBU。
相应地,本发明还提供一种电子设备,包括处理器、通信接口、存储介质和通信总线,其中,处理器、通信接口、存储介质通过通信总线完成相互间的通信;
存储介质,用于存放计算机程序;
处理器,用于执行存储介质上所存放的计算机程序时,能够实施本发明提供的上述融合型存储方法的方法步骤。
本发明提供的融合型存储方法的各步骤功能可通过软件模块或硬件单元的方式实现。当以软件模块方式实现时,当该软件模块的程序代码被加载到设备的存储介质中,由处理器读取存储介质中的程序代码进行执行,从而实现该装置中各组成模块的功能。
本发明提供的融合型存储系统包括多个存储节点和盘柜,存储节点与盘柜之间进行全连接,存储节点中的SCM组成元数据存储池,内存组成内存池,每一个存储节点与每一个盘柜通过NVMe-oF协议连接,每一个存储节点都具有每个盘柜中介质盘的访问控制权限,但介质盘读/写权限同一时刻只归属于一个存储节点。通过本发明提供的融合型存储架构可综合发挥分布式存储架构和集中式存储架构各自的优势。
附图说明
为了更加清楚地说明本发明实施例或者现有技术中的技术方案,下面将对本发明实施例或者现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据本发明实施例的这些附图获得其他的附图。
图1为本发明一实施例提供的融合型存储系统分层架构示意图;
图2为本发明一实施例提供的融合型存储系统的硬件结构示意图;
图3为本发明一实施例提供的用于实现本发明提供的融合型存储方法的电子设备结构示意图。
具体实施方式
在本发明实施例使用的术语仅仅是出于描述特定实施例的目的,而非限制本发明实施例。本发明实施例中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其它含义。本发明中使用的术语“和/或”是指包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本发明实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本发明实施例范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,此外,所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
本发明的发明目的是提供一种融合型存储解决方案,该解决方案的特点是将分布式存储架构和集中式存储架构相融合,从而综合分布式存储架构和集中式存储架构的优势,提高开发效率,降低开发成本。该融合型存储系统既能够解决分布式存储系统由于信息资源分散,系统开发和维护管理的标准不易统一,管理协调困难,不利于安全保密措施的统一实施等技术问题,又能够解决集中式存储系统随着系统规模的扩大复杂性迅速增长,给管理和维护带来困难,对技术发展的适应性差,应变能力弱,系统脆弱等技术问题。
图1为本发明一实施例提供的融合型存储系统分层架构示意图,该存储架构分为协议服务层、数据服务层和存储服务层。根据存储的数据类型不同协议服务层和数据服务层又区分为结构化和非结构化两类,在协议服务层和数据服务层通过存储引擎提供的接口调用存储服务层提供的存储功能。本发明通过存储功能的模块化分层来降低系统中功能模块之间的耦合性,为上层屏蔽下层的复杂性。本发明针对存储服务层的存储架构进行了改进,存储服务层通过存储引擎为上层提供访问接口,在访问结构一致的情况下,下层系统架构的变化并不会对上层的功能实现造成较大的影响,本发明对存储服务层的系统架构的改进能够提高整个存储系统的系统性能,还可带来可扩展性、可维护性提高等技术效果。
图2为本发明一实施例提供的融合型存储系统的硬件结构示意图,该融合型存储系统中包括多个存储节点和多个存储扩展柜(简称盘柜),存储节点与盘柜之间通过网络进行全连接。以下分几个方面对该融合型存储系统的结构和功能进行详细描述:
【介质盘池化】
该融合型存储系统中的每一个存储节点与该融合型存储系统中的所有盘柜通过网络连接,融合型存储系统中的每个存储节点对该融合型存储系统中的每个盘柜中所有介质盘都具有访问控制权限,但盘柜中的任一个介质盘的读/写权限同一时刻只归属于一个存储节点。
该融合型存储系统中的多个存储节点中的每一个存储节点与该融合型存储系统中的多个盘柜中的每一个盘柜通过基于架构的非易失性内存NVMe-oF协议连接,每一个存储节点都拥有每个盘柜中所有介质盘的访问控制权限,但同一时刻盘柜中的任一个介质盘的读/写权限只归属于一个存储节点
NVMe(NVM Express)协议规范旨在定义主机软件与整个PCIe(PCI Express)总线上的非易失性存储进行通信的方式。NVMe协议的设计从一开始就以搭配PCIe接口使用为目标,因此几乎直接连接到服务器的CPU和内存子系统,它能够为SSD提供更低的时延和更高的可扩展性。NVMe协议规范是专为SSD而设计的协议规范,不同于其他存储协议,NVMe将SSD设备视为内存,而不是硬盘驱动器。在多核环境内,NVMe效率更高,因为它允许每个核心独立地与存储系统进行交互。随着NVMe中的队列数量和深度增加,多核CPU会使SSD保持忙碌状态,消除内部性能瓶颈。NVMe属于非统一内存体系结构(NUMA)感知协议,能够充分发挥新型CPU中的内存子系统设计的优势。相比使用SATA或SAS的SSD,具有SSD和NVMe协议的存储器能够显著提升每秒输入输出(IOPS)并大大降低时延。
基于架构的非易失性内存(NVMe over Fabrics,NVMe-oF)协议基于网络连接架构使用NVMe命令。NVMe-oF协议并非局限于在服务器内部连接本地闪存驱动器,它还可在网络环境内使用,网络“架构”支持在SSD盘柜与存储节点之间建立任意对连接。存储节点通过网络架构与采用NVMe协议的介质盘直接进行通信,或者通过控制器与之进行间接通信。NVMe-oF协议支持企业创建超高性能存储网络。
如图2的示例中,本发明采用NVMeOF协议通过交换设备将每个存储节点和每个盘柜连接起来,保证存储节点与盘柜介质盘之间的无损、高性能访问与数据传输,使得介质盘可以脱离存储节点部署在盘柜当中。这样可以至少带来三方面的好处:
首先,盘柜上的介质盘扩容成本远低于存储节点中介质盘的扩展成本,从而可以降低整个系统的扩容成本。
其次,存储节点与介质盘分离(简称盘控分离或盘柜分离)后,存储节点与所有盘柜进行全连接,从而实现介质盘的池化效果,所有的存储节点均可以高效高可靠网络访问所有盘柜中的每一个介质盘。
最后,配合远程直接存储访问RDMA技术的使用,网络的传输效率、灵活性远高于传统的PCIe switch的介质盘接连方式。
本发明中盘柜中用于存储数据的介质盘可以是磁介质也可以是闪存介质的,即盘柜可以是由磁介质硬盘组成的盘柜,也可以是由闪存介质的固态硬盘组成的盘柜,例如硬盘存储扩展柜JBOD/全闪存储扩展柜JBOF/以太网连接的全闪存储扩展柜EBOF/光纤连接的全闪存储扩展柜FBOF等。
【元数据池化】
存储级内存(Storage Class Memory,SCM)是业界对介于动态随机存储器(Dynamic Random Access Memory,DRAM)与闪存之间的新存储介质的统称,是一种同时结合持久化存储特性与内存特性的复合型储存技术,存取速度慢于DRAM快于SSD。SCM可确保数据和程序代码在系统崩溃或电源故障期间不会丢失,提供介于DRAM和SSD之间的持久存储层。使用SCM可将快速DRAM性能扩展到状态存储。它提供了一种通过NVMe协议连接基于PCIe的驱动器的方法,SCM支持块级数据访问,可支持分布式块存储。
本发明提供的融合型存储系统中的每个存储节点中都配置有SCM,并将所有存储节点中的SCM组成元数据存储池用于存储该融合型存储系统的元数据,每个存储节点都拥有该融合型存储系统的全部元数据。每个存储节点都可基于本地SCM中的元数据访问到任意一个盘柜中存储的数据。
本发明使用冗余副本机制在所有存储节点上进行元数据的存储,使元数据在多个存储节点中进行冗余配置和部署,通过建立访问索引机制,每个存储节点在访问元数据存储池内的元数据时,可获得同步一致的元数据。
在本发明提供的融合型存储系统中,由于元数据都存储在SCM上,为了解决存储节点单点故障后,故障的存储节点上的元数据丢失的问题,本发明采用将各个存储节点上的SCM进行池化的方案,元数据存放在SCM上,元数据可采用B+Tree等数据结构形式,通过对元数据进行副本备份方案,将元数据存储到由各个存储节点的SCM构成的元数据存储池中,当有存储节点故障时,由于任何一个存储节点上元数据都在其它存储节点上有副本,因此可以在另外的存储节点上使用副本进行数据访问,通过冗余的元数据副本可将故障节点上的SCM中的元数据恢复出来。
元数据存储池的实现依赖于存储引擎的分布式实现机制,可以以存储节点为故障域,存储引擎基于预设的数据路由算法(例如跳转一致性哈希Jump Consistent Hashing算法)将元数据的多个副本分发到不同的存储节点的SCM中。存储节点使用预设的故障检测机制(例如可扩展的弱一致感染型过程组成员协议即SWIM协议)实时检测各SCM盘的运行状态,当检测到某个SCM出现故障时,立即将故障的SCM踢出元数据存储池,接着启用预设的数据重构机制将元数据进行副本冗余恢复。
在本发明一实施例中,基于持久化存储开发套件(Persistent MemoryDevelopment Kit,PMDK)这一高性能存储开发库来实现SCM上的元数据存储池以及SCM的管理,在每个SCM盘上创建一个XFS文件系统(即X File System,一个日志型的文件系统,能在断电以及操作系统崩溃的情况下保证数据的一致性),然后在文件系统之上创建一个libpmemobj文件(libpmemobj文件提供了简便的接口,使得内存文件映射过程能够自动完成),使用DAX技术(即Direct Access技术,可以实现绕过缓存直达块设备)将元数据映射到内存中,以实现对SCM中元数据的高速读/写访问。
分布式架构的元数据采用自治的方式,是由各个存储节点管理和自己节点有关的元数据,如果要访问其他存储节点的数据需要发送请求到其他节点获取。集中式架构需要将元数据管理逻辑进行重构,集中式的元数据采用共治的方式,集中式中的每个存储节点都有所有元数据。本发明通过将SCM池化将元数据存储在池化的SCM中实现了分布式和集中式存储架构相融合的元数据管理。本发明在SCM中维护元数据的冗余,每个存储节点作为故障域,若某个存储节点的存储引擎故障时,非故障存储节点可以继续接管故障存储节点中的SCM,由于元数据存储池中具有完整的元数据(如果存储节点中有介质盘的话,包括存储节点中介质盘的元数据和盘柜中介质盘的元数据),因此可实现对归属于故障的存储节点的所有介质盘的正常读/写(包括故障存储节点中的介质盘进行读/写和盘柜中归属于故障存储节点的介质盘的读/写)。
【内存池化】
本发明一实施例提供的融合型存储系统中的每个存储节点中都配置有带电池保护模块(Battery Backup Unit,BBU)的内存,并通过内存池化技术将所有存储节点中的内存组成内存池以供该融合型存储系统中的存储节点的CPU使用。
BBU可使内存条在掉电情况下依然可以工作一段时间,被BBU保护的内存在使用池化技术进行池化后,能够保证分布式和集中式存储架构的融合的功能实现。内存池化技术可采用类似计算快速连接(Compute Express Link,CXL)的池化技术,CXL可实现处理器、内存扩展和加速器的高速缓存一致性互连。
【介质盘的分布式与集中式部署的融合】
如图2的示例融合型存储系统实现了盘控一体部署和盘控分离部署的融合。
盘控一体部署是指在存储节点中部署介质盘,如图2中在存储节点上部署固态硬盘(Solid State Disk,SSD),存储节点中部署的介质盘只能由该存储节点上的存储引擎访问,介质盘的数据存储与管理都由部署该介质盘的存储节点来完成。
在盘控一体部署下,多个存储节点可以看作是组成分布式存储集群,每个存储节点中的介质盘的元数据也存储于元数据存储池,每个存储节点中的介质盘可通过NVMe-oF协议实现与各存储节点互联,这样在所组成的分布式存储集群中的某个存储节点的存储引擎产生故障时,可在其它状态正常的存储节点中选举接管节点负责接管故障的存储节点的存储功能(例如将故障的存储引擎迁移到接管节点上),接管节点上的存储引擎可基于元数据存储池中的元数据将故障的存储节点的介质盘接管过来,让故障节点的介质盘重新进入到存储集群中,不需要走重构流程,可继续提供业务。节点发生故障后,负责故障检测的模块(例如硬件设备管理器SDM)会主动发现故障,并进行具体故障类型的上报,其它存储节点在得到故障消息后,立刻启动故障切换业务流程,可采用预设的选举策略选择集群中负责接管故障存储节点的存储节点。在本发明另一实施例中,也可采取分布式存储的数据重构策略进行故障存储节点上介质盘数据的数据重构,利用其它存储节点中的冗余数据副本在非故障节点上进行数据重构,从而使集群中的其它存储节点能够重新获得故障节点上介质盘的数据。
盘控分离部署是指将存储节点和介质盘分开部署,如图2中在盘柜中部署固态硬盘SSD,存储节点的控制面与介质盘分离,存储节点通过基于架构的非易失性内存主机存储节点接口NVMe-OF协议实现存储节点与盘柜中介质盘的连接,NVMe-oF标准可为远程数据存储提供近似本地端NVMe的性能。由于所有存储节点与所有盘柜全连接,因此每个存储节点都可以看到所有盘柜中的介质盘,但盘柜中的一个SSD的读/写访问权只能归属一个存储节点。
在盘控分离部署的情况下,当拥有盘柜中SSD的读/写访问权的存储节点故障之后,其他存储节点可以接管故障的存储节点的存储功能(例如将故障的存储引擎迁移到接管节点上),从而可以重新获取该SSD的访问权限,对该SSD中的数据进行读/写。由于数据存放在SSD上,所以SSD被其它存储节点接管之后,可以立即提供服务,无需要进行数据重构或只需极少量数据重构,数据便可以恢复到故障前的可靠性。
本发明支持在存储节点和盘柜中都部署介质盘,在本发明一实施例中,根据数据的访问频率大小,基于一定的策略,将数据划分为热数据和冷数据,将热数据存储在存储节点中部署的介质盘中,将冷数据存储在盘柜中的介质盘中,从而进一步提高数据存取效率。例如,在存储节点中的介质盘可使用固态硬盘,在盘柜中的介质盘可使用磁介质的硬盘,这样可综合发挥固态硬盘的性能优势和磁盘的容量优势,且具有很好的扩展性。
本发明盘柜中的CPU和内存用于处理存储节点下发的存储和管理请求,对盘柜中的介质盘进行管理和读/写。
集中式架构和分布式架构的故障处理方式通常有较大差异,分布式架构中的存储节点的故障处理一般都需要依赖于系统提供的数据重构的能力,但是集中式结构中由于每个存储节点都可以查看到所有的盘柜中的介质盘,所以当有存储节点故障时只需要将对应的介质盘在另一个存储节点上进行接管即可。如图2的示例中,可以将每个存储节点与盘柜中的介质盘看作是集中式的存储架构,当某个存储节点故障时,需要将从属于故障的存储节点的介质盘重新在正常的存储引擎节点拉起,不用修改原有的集群拓扑关系,使用集群的一致性哈希算法可以找到对应的数据,可以实现不需要重构,便可以恢复数据。
当出现存储节点故障时,由存储节点发送故障处理请求(例如使用分布式远程过程调用通信方式Distributed Remote Procedure Call,DRPC的drpc请求)通知该存储节点的存储引擎,存储引擎接收到故障处理请求后,开始针对不同的故障类型做相应的处理,以下举例说明几种故障类型的处理方式:
故障类型1:如果是存储节点的CPU或内存或风扇等硬件出现故障,则该存储节点无法继续提供服务,需要将盘柜中归属于该存储节点上介质盘(不包括存储节点中的介质盘)的读/写访问权限移交给其它正常工作的存储节点即状态正常的存储节点。如图2的示例,可在控制面通过监控目前各存储节点的负载、SSD数量、内存、CPU等硬件数据后,进行评估,最终决定故障存储节点上SSD的迁移策略。由于每个存储节点都可以通过NVMe-oF协议访问到所有SSD,所以策略一旦确定之后就可以开始通知各个存储节点重新将迁移到该存储节点的SSD所对应的服务实例进行初始化加载。元数据由于是池化的,所以可以通过池中的副本对SSD中的数据进行读/写访问,然后更新故障的存储节点对应的SSD的节点信息,通过一致性hash算法,I/O读/写可以正常进行。
故障类型2:本发明在盘柜侧可配置为多宿设备提供传输级支持的多路传输控制协议(MultiPath TCP),每个存储节点都可通过多条物理链路访问盘柜中的介质盘,从而保障盘柜到存储节点之间链路连接的可靠性。如果是盘柜侧检测到网络故障,MultiPath协议会主动切换链路,主动down掉故障的链路,拉起备用链路,保证链路可靠性,存储节点无需处理。
盘控分离式的存储节点默认配置至少是3台(两个存储节点节点+一个参与paxos服务的虚机节点),其中paxos服务是一种基于消息传递且具有高度容错特性的一致性算法,如果需要双存储节点场景,可以部署一台虚机,该虚机仅用来参与控制节点的paxos服务,和分布式保持一致,允许故障的数量和元数据及数据的副本是强相关,可以灵活配置,盘柜中的盘通过分组的形式将盘柜中的盘均匀的分到集群的多个存储节点上,避免因数据不均导致的负载不均衡,单点成为瓶颈的问题。
图3为本发明一实施例提供的用于实现本发明提供的融合型存储方法的电子设备结构示意图,该设备300包括:诸如中央处理单元(CPU)的处理器310、通信总线320、通信接口340以及存储介质330。其中,处理器310与存储介质330可以通过通信总线320相互通信。存储介质330内存储有计算机程序,当该计算机程序被处理器310执行时即可实现本发明提供的融合型存储方法中的一个或多个步骤的功能。
其中,存储介质可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。另外,存储介质还可以是至少一个位于远离前述处理器的存储装置。处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital Signal Processing,DSP)、专用集成电路(ApplicationSpecific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable GateArray,FPGA)或其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
应当认识到,本发明的实施例可以由计算机硬件、硬件和软件的组合、或者通过存储在非暂时性存储器中的计算机指令来实现或实施。所述方法可以使用标准编程技术,包括配置有计算机程序的非暂时性存储介质在计算机程序中实现,其中如此配置的存储介质使得计算机以特定和预定义的方式操作。每个程序可以以高级过程或面向对象的编程语言来实现以与计算机系统通信。然而,若需要,该程序可以以汇编或机器语言实现。在任何情况下,该语言可以是编译或解释的语言。此外,为此目的该程序能够在编程的专用集成电路上运行。此外,可按任何合适的顺序来执行本发明描述的过程的操作,除非本发明另外指示或以其他方式明显地与上下文矛盾。本发明描述的过程(或变型和/或其组合)可在配置有可执行指令的一个或多个计算机系统的控制下执行,并且可作为共同地在一个或多个处理器上执行的代码(例如,可执行指令、一个或多个计算机程序或一个或多个应用)、由硬件或其组合来实现。所述计算机程序包括可由一个或多个处理器执行的多个指令。
进一步,所述方法可以在可操作地连接至合适的任何类型的计算平台中实现,包括但不限于个人电脑、迷你计算机、主框架、工作站、网络或分布式计算环境、单独的或集成的计算机平台、或者与带电粒子工具或其它成像装置通信等等。本发明的各方面可以以存储在非暂时性存储介质或设备上的机器可读代码来实现,无论是可移动的还是集成至计算平台,如硬盘、光学读取和/或写入存储介质、RAM、ROM等,使得其可由可编程计算机读取,当存储介质或设备由计算机读取时可用于配置和操作计算机以执行在此所描述的过程。此外,机器可读代码,或其部分可以通过有线或无线网络传输。当此类媒体包括结合微处理器或其他数据处理器实现上文所述步骤的指令或程序时,本发明所述的发明包括这些和其他不同类型的非暂时性计算机可读存储介质。当根据本发明所述的方法和技术编程时,本发明还包括计算机本身。
以上所述仅为本发明的实施例而已,并不用于限制本发明。对于本领域技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (14)
1.一种融合型存储系统,其特征在于,该融合型存储系统包括多个存储节点及多个盘柜;
所述存储节点中配置有存储级内存(SCM);
所述多个存储节点中的SCM组成元数据存储池用于存储所述融合型存储系统的元数据,每个存储节点都拥有所述融合型存储系统的全部元数据;
所述多个存储节点中的内存组成内存池以供所述融合型存储系统中的存储节点的CPU使用;
所述多个存储节点中的每一个存储节点与所述多个盘柜中的每一个盘柜通过基于架构的非易失性内存NVMe-oF协议连接,所述多个存储节点中每一个存储节点都具有每个盘柜中所有介质盘的访问控制权限,但盘柜中的任一个介质盘的读/写权限同一时刻只归属于一个存储节点。
2.根据权利要求1所述的融合型存储系统,其特征在于,
所述元数据存储池依赖于存储引擎的分布式实现机制,存储引擎基于预设的数据路由算法将元数据的多个副本分发到不同的存储节点上的SCM中,使元数据在元数据存储池中副本冗余存储;
所述存储节点通过检测机制实时检测各SCM的运行状态,当检测到SCM出现故障时,将故障的SCM踢出所述元数据存储池并启用预设的数据重构机制将故障的SCM中的元数据进行副本冗余恢复。
3.根据权利要求2所述的融合型存储系统,其特征在于,
所述元数据存储池基于持久化存储开发套件PMDK实现,使用直接存取DAX技术将元数据映射到内存中以实现对SCM中元数据的高速读/写访问。
4.根据权利要求1所述的融合型存储系统,其特征在于,
所述多个存储节点中的内存配置有电池保护模块BBU;
所述多个存储节点中的内存组成的内存池基于计算快速连接CXL池化技术实现。
5.根据权利要求1所述的融合型存储系统,其特征在于,
所述多个存储节点中每个存储节点都配置为一个故障域,当某个存储节点上的存储引擎故障时,通过预设的选举策略从其它状态正常的存储节点中选举接管节点接管故障的存储节点的存储功能,使用元数据存储池中的元数据读/写盘柜中所述故障的存储节点拥有读/写权限的介质盘。
6.根据权利要求5所述的融合型存储系统,其特征在于,
所述存储节点中还配置有介质盘,所述介质盘的元数据也存储于所述元数据存储池;
当某个存储节点上的存储引擎故障时,由所述接管节点基于元数据存储池中的元数据接管所述故障的存储节点的介质盘,或通过分布式存储的数据重构策略对故障的存储节点中的介质盘中的数据进行数据重构。
7.根据权利要求6所述的融合型存储系统,其特征在于,
所述存储节点中的介质盘用于存储热数据,所述盘柜中的介质盘用于存储冷数据。
8.一种融合型存储方法,其特征在于,该方法应用于融合型存储系统中的存储节点,所述融合型存储系统包括多个存储节点及多个盘柜,该方法包括:
通过池化技术将所述存储节点中的内存与所述融合型存储系统中的其它存储节点中的内存形成内存池以供所述融合型存储系统中的存储节点的CPU使用;
通过池化技术将所述存储节点中的存储类内存SCM与所述融合型存储系统中的其它存储节点中的SCM形成元数据存储池用于存储所述融合型存储系统的元数据,每个存储节点都拥有所述融合型存储系统的全部元数据;
通过基于架构的非易失性内存NVMe-oF协议连接将所述存储节点连接到所述融合型存储系统中的每一个盘柜,赋予所述存储节点对所有盘柜中所有介质盘的访问控制权限,盘柜中的任一个介质盘的读/写权限同一时刻只归属于一个存储节点。
9.根据权利要求8所述的融合型存储方法,其特征在于,
所述元数据存储池依赖于存储引擎的分布式实现机制;
所述存储节点的存储引擎基于预设的数据路由算法将元数据的多个副本分发到不同的存储节点上的SCM中,使元数据在元数据存储池中副本冗余存储;
所述存储节点通过检测机制实时检测各SCM的运行状态,当检测到SCM出现故障时,将故障的SCM踢出所述元数据存储池并启用预设的数据重构机制将故障的SCM中的元数据进行副本冗余恢复。
10.根据权利要求8所述的融合型存储方法,其特征在于,
将所述多个存储节点中每个存储节点都配置为一个故障域;
当所述存储节点上的存储引擎故障时,通过预设的选举策略从其它状态正常的存储节点中选举接管节点,以使接管节点接管故障的存储节点的存储功能;
当所述存储节点正常且被选举为接管节点时,使用元数据存储池中的元数据读/写盘柜中所接管的故障的存储节点拥有读/写权限的介质盘。
11.根据权利要求10所述的融合型存储方法,其特征在于,
所述存储节点中还配置有介质盘,将所述介质盘的元数据也存储于所述元数据存储池;
当所述存储节点正常且被选举为接管节点时,所述接管节点基于元数据存储池中的元数据接管所述故障的存储节点的介质盘,或通过分布式存储的数据重构策略对故障的存储节点中的介质盘中的数据进行数据重构。
12.根据权利要求8所述的融合型存储方法,其特征在于,
基于持久化存储开发套件PMDK实现所述元数据存储池,使用直接存取DAX技术将元数据映射到内存中以实现对SCM中元数据的高速读/写访问;
基于计算快速连接CXL池化技术将所述多个存储节点中的内存组成的内存池,所述存储节点中的内存配置有电池保护模块BBU。
13.一种电子设备,其特征在于,包括处理器、通信接口、存储介质和通信总线,其中,处理器、通信接口、存储介质通过通信总线完成相互间的通信;
存储介质,用于存放计算机程序;
处理器,用于执行存储介质上所存放的计算机程序时,实施权利要求8-12中任一项所述的方法步骤。
14.一种存储介质,其上存储有计算机程序,其特征在于,所述计算机程序当被处理器执行时实施如权利要求8至12中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310331201.9A CN116400860A (zh) | 2023-03-30 | 2023-03-30 | 融合型存储方法、设备、系统及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310331201.9A CN116400860A (zh) | 2023-03-30 | 2023-03-30 | 融合型存储方法、设备、系统及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116400860A true CN116400860A (zh) | 2023-07-07 |
Family
ID=87006816
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310331201.9A Pending CN116400860A (zh) | 2023-03-30 | 2023-03-30 | 融合型存储方法、设备、系统及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116400860A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118689716A (zh) * | 2024-08-26 | 2024-09-24 | 武汉卓目科技股份有限公司 | 存储器的自适应冗余控制系统、方法、设备及存储介质 |
-
2023
- 2023-03-30 CN CN202310331201.9A patent/CN116400860A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118689716A (zh) * | 2024-08-26 | 2024-09-24 | 武汉卓目科技股份有限公司 | 存储器的自适应冗余控制系统、方法、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10963289B2 (en) | Storage virtual machine relocation | |
US20220027246A1 (en) | Storage system and control software deployment method | |
US11449401B2 (en) | Moving a consistency group having a replication relationship | |
US11262933B2 (en) | Sharing memory resources between asynchronous replication workloads | |
CN104506589B (zh) | 一种基于超融合存储的资源迁移调度方法 | |
CN110912991A (zh) | 一种基于超融合双节点高可用的实现方法 | |
US7702757B2 (en) | Method, apparatus and program storage device for providing control to a networked storage architecture | |
CN103929500A (zh) | 一种分布式存储系统的数据分片方法 | |
KR20110044858A (ko) | 데이터 센터들에 걸쳐 데이터 서버들내 데이터 무결정의 유지 | |
WO2014026025A1 (en) | Synchronous local and cross-site failover in clustered storage systems | |
CN105657066A (zh) | 用于存储系统的负载再均衡方法及装置 | |
CN102868727B (zh) | 一种实现逻辑卷高可用性的方法 | |
CN105426427A (zh) | 基于raid 0 存储的mpp 数据库集群副本实现方法 | |
CN103942112A (zh) | 磁盘容错方法、装置及系统 | |
CN106227464B (zh) | 一种双层冗余存储系统及其数据写入、读取及恢复方法 | |
US20220350497A1 (en) | Managing replication journal in a distributed replication system | |
CN103795801A (zh) | 一种基于实时应用集群的元数据集群设计方法 | |
CN104424052A (zh) | 一种自动冗余的分布式存储系统及方法 | |
CN106888116B (zh) | 一种双控制器集群共享资源的调度方法 | |
CN105468296A (zh) | 基于虚拟化平台的无共享存储管理方法 | |
CN108205573B (zh) | 一种数据分布式存储方法及系统 | |
CN113849136A (zh) | 一种基于国产平台的自动化fc块存储处理方法和系统 | |
CN116400860A (zh) | 融合型存储方法、设备、系统及存储介质 | |
CN103327074A (zh) | 一种全局共享缓存的紧耦合多控多活存储系统的设计方法 | |
WO2015165351A1 (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 |