CN110187825A - 一种超融合多副本加速存储系统 - Google Patents
一种超融合多副本加速存储系统 Download PDFInfo
- Publication number
- CN110187825A CN110187825A CN201810672195.2A CN201810672195A CN110187825A CN 110187825 A CN110187825 A CN 110187825A CN 201810672195 A CN201810672195 A CN 201810672195A CN 110187825 A CN110187825 A CN 110187825A
- Authority
- CN
- China
- Prior art keywords
- caching
- write
- read
- logic
- api
- 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 9
- 230000000903 blocking effect Effects 0.000 claims abstract description 20
- 239000003818 cinder Substances 0.000 claims description 21
- 230000004888 barrier function Effects 0.000 claims 1
- 239000004744 fabric Substances 0.000 abstract description 3
- 238000013500 data storage Methods 0.000 abstract description 2
- 230000007257 malfunction Effects 0.000 abstract description 2
- 238000007726 management method Methods 0.000 abstract description 2
- 230000001133 acceleration Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000007812 deficiency Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000000034 method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000002035 prolonged effect Effects 0.000 description 1
- 238000005303 weighing Methods 0.000 description 1
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/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- 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/064—Management of blocks
-
- 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/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明属于数据存储领域,公开了一种超融合的多副本加速存储系统,包括包括读写拦截模块和至少一个存储节点,存储节点包括块设备服务器组件、多副本NVRAM缓存组件和分布式文件系统组件。本发明公开的存储系统与现有技术相比,在底层结构上增加NARAM缓存,将块设备映射到底层文件上,统一存储,简化了管理复杂度,底层双活的分布式文件系统、使得上层独立;多个节点的底层分布式文件系统可提供横向扩展,数据自动分布到底层各个节点的文件系统中,实现自动平衡分布;数据的读写故障自动重定向,使得客户端对故障状态无感知,数据优先存储于NVRAM缓存中,大大延长了SSD的生命周期。
Description
【技术领域】
本发明属于数据存储领域,具体涉及一种超融合多副本加速存储系统。
【背景技术】
在现有的“Cinder”兼容的后端存储设备中,存在两点问题,或者速度快,延迟低,但横向扩展性不强,或者横向扩展性强,但速度慢,延迟高。不能兼顾速度和横向扩展性。
【发明内容】
本发明的目的在于针对现有技术的不足,提供一种超融合多副本加速存储系统,可兼顾速度和横向扩展性。
本发明中英文名词翻译如下表:
NVRAM缓存 | 非易失性随机访问存储器 |
API | 应用编程接口 |
Cinder | 逻辑存储卷” |
OpenStack | 开源云计算管理平台项目 |
vlun | 虚拟局域网 |
具体的,本发明的技术方案是:
一种超融合多副本加速存储系统,包括读写拦截模块和至少三个存储节点,其特征在于:所述存储节点包括块设备服务器组件、多副本NVRAM缓存组件和分布式文件系统组件;所述块设备服务器组件通过Scoket API与读写拦截模块进行通信,多副本NVRAM缓存组件服务于块设备服务器组件,分布式文件系统组件作为块设备服务器组件和多副本NVRAM
进一步的,所述读写拦截模块为Open stack cinder读写拦截模块,所述Openstack cinder读写拦截模块包括Cinder API、写请求逻辑、读请求逻辑和块设备API,所述块设备API发送读写请求到块设备服务器组件。
进一步的,所述Cinder API为标准的LINUX异步IO接口。
进一步的,所述读请求逻辑配置两个IP地址,读请求顺序尝试每个IP地址,直到其中一个成功返回或两个IP地址都尝试失败。
进一步的,所述写请求逻辑配置两个IP地址,写请求顺序尝试每个IP地址,直到其中一个成功返回或两个IP地址都尝试失败。
进一步的,所述块设备服务器组件包括Socket API、缓存API、文件系统API、写逻辑和读逻辑;所述Socket API与读写拦截模块通信,所述缓存API中写逻辑先被缓存在一个NVRAM缓存中,读逻辑的结果由缓存中的页面和文件系统提供的页面组成,所述文件系统API中,如果块设备服务器组件没有设置缓存,则直接转发写请求到底层文件系统,对于读请求,从文件系统中读取所有当前不在缓存中的页。
进一步的,所述多副本NVRAM缓存组件包括缓存协调、缓存复制、API、写逻辑和读逻辑。所述缓存协调中,当一个缓存节点发生故障后重新加入时,需要识别出在其离线期间所发生的写操作,使得多份缓存副本达到一致状态。所述写逻辑中,一个卷的当前主缓存接收所有的写请求,并且复制到其他副本。所述读逻辑中,如果一个卷的主缓存NVRAM故障,则尝试从其他缓存副本中获取页。所述缓存复制中,数据页同步地从主缓存被复制到其他缓存。
与现有技术相比,本发明公开的后端存储系统,底层双活的分布式文件系统,融合NVRAM加速的块设备存储,在底层结构上增加NARAM缓存,将块设备映射到底层文件上,统一存储,简化了管理复杂度;底层双活的分布式文件系统、使得上层独立;多个节点的底层分布式文件系统可提供横向扩展,数据自动分布到底层各个节点的文件系统中,实现自动平衡分布;数据的读写故障自动重定向,使得客户端对故障状态无感知,数据优先存储于NVRAM缓存中,大大延长了SSD的生命周期。
【附图说明】
图1为本发明实施例的结构示意图。
图2为实施例中Open stack cinder读写拦截模块的读请求逻辑流程图。
图3为实施例中Open stack cinder读写拦截模块的写请求逻辑流程图。
图4为实施例中用户态的块服务模块组件的读写流程图。
图5为实施例中多副本NVRAM缓存组件中缓存协调的流程图。
图6为实施例中多副本NVRAM缓存组件中写逻辑的流程图。
图7为实施例中多副本NVRAM缓存组件中读逻辑的流程图。
图8为实施例中多副本NVRAM缓存组件中缓存复制的流程图。
图9为实施例中缓存配置流程图。
图10为实施例中缓存节点启动流程图。
图11为内存结构初始化流程图。
图12为缓存刷新流程图。
图13为缓存刷新规则示意图。
图14为哈希队列插入流程图。
图15为哈希队列算法流程图。
【具体实施方式】
下面将结合附图对本发明的技术方案进行清楚完整的描述。显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于本发明的实施例,本领域的普通技术人员在没有做出创造性劳动的前提下所获得的其他实施例,都属于本发明的保护范围。
实施例:参照图1,
一种超融合多副本加速存储系统,包括一个Open stack cinder读写拦截模块,两个存储节点。每个存储节点包括一个用户态的块设备服务器组价,一个多副本NVRAM缓存组件和一个分布式多副本文件系统组件。Open stack cinder读写拦截模块提供了一个标准的RBD块设备插件。
该Open stack cinder读写拦截模块包括Cinder API、写请求逻辑、读请求逻辑和块设备API,该块设备API发送读写请求到块设备服务器组件。该Cinder API为标准的LINUX异步IO接口。该读请求逻辑配置2个IP地址,读请求顺序尝试每个IP地址,直到其中一个成功返回或者两个IP地址都尝试失败。该写请求逻辑配置2个IP地址,写请求顺序尝试每个IP地址,直到其中一个成功返回或者两个IP地址都尝试失败。
该用户态的块设备服务器组件包括Socket API、缓存API、文件系统API、写逻辑和读逻辑。该Socket API与RBD读写拦截模块通信。该缓存API中,写逻辑先被缓存在一个NVRAM缓存中,读逻辑的结果由缓存中的页面和文件系统提供的页面组成。该文件系统API中,如果块设备没有设置缓存,则直接转发写逻辑给底层文件系统。对于读逻辑,则从文件系统中读取所有当前不在缓存中的页。
该多副本NVRAM缓存组件中包括缓存协调、缓存复制、API、写逻辑和读逻辑。所述缓存协调中,当一个缓存节点发生故障后重新加入时,需要识别出在其离线期间所发生的写操作,使得多份缓存副本达到一致状态。所述写逻辑中,一个卷的当前主缓存接收所有的写请求,并且复制到其他副本。所述读逻辑中,如果一个卷的主缓存NVRAM故障,则尝试从其他缓存副本中获取页。所述缓存复制中,数据页同步地从主缓存被复制到其他缓存。
该存储系统的数据配置中包括Open stack、缓存配置和块设备。该Open stack用Cinder作为后端,与所有Cinder配置相同。Cinder会调用读写拦截模块查询块设备服务,获取块设备基本信息。块设备服务提供接口API,在底层文件系统创建稀疏文件,并映射为Cinder块设备(vlun)。缓存配置中,先将缓存分为三个分区,每个分区扮演不同角色,然后根据配置文件中的定义创建从lun到缓存分区的映射,最后创建空闲列表,空闲列表被所有分区分享。
上述实施例仅用于说明本发明的技术方案,而非对其限制。本发明并不局限于上面已经描述并在附图中示意的准确结构,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,做出的各种改变和变形,都应当视为属于本发明的保护范围。
Claims (8)
1.一种超融合多副本加速存储系统,包括读写拦截模块和至少三个存储节点,其特征在于:所述存储节点包括块设备服务器组件、多副本NVRAM缓存组件和分布式文件系统组件;所述块设备服务器组件通过Scoket API与读写拦截模块进行通信,多副本NVRAM缓存组件服务于块设备服务器组件,分布式文件系统组件作为块设备服务器组件和多副本NVRAM的后端存储。
2.根据权利要求1所述的存储系统,其特征在于:所述读写拦截模块为Open stackcinder读写拦截模块,所述Open stack cinder读写拦截模块包括Cinder API、写请求逻辑、读请求逻辑和块设备API,所述块设备API发送读写请求到块设备服务器组件。
3.根据权利要求2所述的存储系统,其特征在于:所述Cinder API为标准的LINUX异步IO接口。
4.根据权利要求2所述的存储系统,其特征在于:所述读请求逻辑配置两个IP地址,读请求顺序尝试每个IP地址,直到其中一个成功返回或两个IP地址都尝试失败。
5.根据权利要求2所述的存储系统,其特征在于:所述写请求逻辑配置两个IP地址,写请求顺序尝试每个IP地址,直到其中一个成功返回或两个IP地址都尝试失败。
6.根据权利要求1-5任一项所述的存储系统,其特征在于:所述块设备服务器组件包括Socket API、缓存API、文件系统API、写逻辑和读逻辑;所述Socket API与读写拦截模块通信,所述缓存API中写逻辑先被缓存在一个NVRAM缓存中,读逻辑的结果由缓存中的页面和文件系统提供的页面组成,所述文件系统API中,如果块设备服务器组件没有设置缓存,则直接转发写请求到底层文件系统,对于读请求,从文件系统中读取所有当前不在缓存中的页。
7.根据权利要求1-5任一项所述的存储系统,其特征在于:所述多副本NVRAM缓存组件包括缓存协调、缓存复制、API、写逻辑和读逻辑;所述缓存协调中,当一个缓存节点发生故障后重新加入时,需要识别出在其离线期间所发生的写操作,使得多份缓存副本达到一致状态;所述写逻辑中,一个卷的当前主缓存接收所有的写请求,并且复制到其他副本;所述读逻辑中,如果一个卷的主缓存NVRAM故障,则尝试从其他缓存副本中获取页;所述缓存复制中,数据页同步地从主缓存被复制到其他缓存。
8.根据权利要6任一项所述的存储系统,其特征在于:所述多副本NVRAM缓存组件包括缓存协调、缓存复制、API、写逻辑和读逻辑;所述缓存协调中,当一个缓存节点发生故障后重新加入时,需要识别出在其离线期间所发生的写操作,使得多份缓存副本达到一致状态;所述写逻辑中,一个卷的当前主缓存接收所有的写请求,并且复制到其他副本;所述读逻辑中,如果一个卷的主缓存NVRAM故障,则尝试从其他缓存副本中获取页;所述缓存复制中,数据页同步地从主缓存被复制到其他缓存。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810672195.2A CN110187825A (zh) | 2018-06-26 | 2018-06-26 | 一种超融合多副本加速存储系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810672195.2A CN110187825A (zh) | 2018-06-26 | 2018-06-26 | 一种超融合多副本加速存储系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110187825A true CN110187825A (zh) | 2019-08-30 |
Family
ID=67713473
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810672195.2A Pending CN110187825A (zh) | 2018-06-26 | 2018-06-26 | 一种超融合多副本加速存储系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110187825A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116149558A (zh) * | 2023-02-21 | 2023-05-23 | 北京志凌海纳科技有限公司 | 一种分布式存储双活模式中的副本分配策略系统及方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080046538A1 (en) * | 2006-08-21 | 2008-02-21 | Network Appliance, Inc. | Automatic load spreading in a clustered network storage system |
CN104317736A (zh) * | 2014-09-28 | 2015-01-28 | 曙光信息产业股份有限公司 | 一种分布式文件系统多级缓存实现方法 |
CN106850856A (zh) * | 2017-03-28 | 2017-06-13 | 南京卓盛云信息科技有限公司 | 一种分布式存储系统及其同步缓存方法 |
CN107197022A (zh) * | 2017-06-02 | 2017-09-22 | 华南理工大学 | OpenStack存储优化方法及系统 |
CN107301022A (zh) * | 2017-06-27 | 2017-10-27 | 北京溢思得瑞智能科技研究院有限公司 | 一种基于容器技术的存储访问方法及系统 |
-
2018
- 2018-06-26 CN CN201810672195.2A patent/CN110187825A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080046538A1 (en) * | 2006-08-21 | 2008-02-21 | Network Appliance, Inc. | Automatic load spreading in a clustered network storage system |
CN104317736A (zh) * | 2014-09-28 | 2015-01-28 | 曙光信息产业股份有限公司 | 一种分布式文件系统多级缓存实现方法 |
CN106850856A (zh) * | 2017-03-28 | 2017-06-13 | 南京卓盛云信息科技有限公司 | 一种分布式存储系统及其同步缓存方法 |
CN107197022A (zh) * | 2017-06-02 | 2017-09-22 | 华南理工大学 | OpenStack存储优化方法及系统 |
CN107301022A (zh) * | 2017-06-27 | 2017-10-27 | 北京溢思得瑞智能科技研究院有限公司 | 一种基于容器技术的存储访问方法及系统 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116149558A (zh) * | 2023-02-21 | 2023-05-23 | 北京志凌海纳科技有限公司 | 一种分布式存储双活模式中的副本分配策略系统及方法 |
CN116149558B (zh) * | 2023-02-21 | 2023-10-27 | 北京志凌海纳科技有限公司 | 一种分布式存储双活模式中的副本分配策略系统及方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10523786B2 (en) | I/O bandwidth reduction using storage-level common page information | |
US10360120B2 (en) | High availability failover manager | |
CN106716377B (zh) | 在分布式储存系统中的快照的同步 | |
CN104049918B (zh) | 一种双控存储服务器的缓存管理方法 | |
US7882304B2 (en) | System and method for efficient updates of sequential block storage | |
CN110226157A (zh) | 用于减少行缓冲冲突的动态存储器重新映射 | |
CN107391391B (zh) | 在固态硬盘的ftl实现数据拷贝的方法、系统及固态硬盘 | |
WO2020204880A1 (en) | Snapshot-enabled storage system implementing algorithm for efficient reclamation of snapshot storage space | |
US9047195B2 (en) | Computer system with virtualization mechanism and management table, cache control method and computer program | |
CN105980991A (zh) | 在多个计算节点之间的存储资源共享 | |
JP2003162377A (ja) | ディスクアレイシステム及びコントローラ間での論理ユニットの引き継ぎ方法 | |
US10146696B1 (en) | Data storage system with cluster virtual memory on non-cache-coherent cluster interconnect | |
US9916249B2 (en) | Space allocation in a multi-grained writeback cache | |
US20160098302A1 (en) | Resilient post-copy live migration using eviction to shared storage in a global memory architecture | |
US10114566B1 (en) | Systems, devices and methods using a solid state device as a caching medium with a read-modify-write offload algorithm to assist snapshots | |
WO2019049224A1 (ja) | 分散ストレージシステム及び分散記憶制御方法 | |
US10346077B2 (en) | Region-integrated data deduplication | |
US20210208786A1 (en) | Implementing coherency and page cache support in a distributed way for files | |
CN110187825A (zh) | 一种超融合多副本加速存储系统 | |
CN116009761A (zh) | 一种数据写入方法以及相关设备 | |
Anderson et al. | Assise: performance and availability via NVM colocation in a distributed file system | |
US20230236759A1 (en) | Scanning pages of shared memory | |
US11074003B2 (en) | Storage system and restoration method | |
US20140188952A1 (en) | Reading data without an indirection logical reference identifier in a system that uses indirection access | |
US7657717B1 (en) | Coherently sharing any form of instant snapshots separately from base volumes |
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 |