CN102053802B - 网络独立冗余磁盘阵列系统 - Google Patents
网络独立冗余磁盘阵列系统 Download PDFInfo
- Publication number
- CN102053802B CN102053802B CN201010618419A CN201010618419A CN102053802B CN 102053802 B CN102053802 B CN 102053802B CN 201010618419 A CN201010618419 A CN 201010618419A CN 201010618419 A CN201010618419 A CN 201010618419A CN 102053802 B CN102053802 B CN 102053802B
- Authority
- CN
- China
- Prior art keywords
- data
- subset
- node
- memory node
- memory
- 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
Links
Images
Abstract
本发明提供一种网络独立冗余磁盘阵列系统,包括有至少三个存储节点,每一个所述的存储节点包括有至少一个关联存储节点;所述存储节点包括:用于存储应用数据的数据卷、用于存储部分应用数据的活跃数据卷、用于接收应用读写请求的镜像子设备、用于管理数据卷和活跃数据卷中数据关系的数据管理子设备;用于计算校验块的冗余计算子设备、用于存储校验块数据的校验卷、用于存储最近修改的写活跃数据的缓存卷、用于接收写活跃数据请求和替换非活跃数据到所述冗余计算子设备的缓存子设备。本发明还提供了在网络独立冗余磁盘阵列系统上的数据处理方法。本发明的优点在于读请求的响应时间短,具有良好的读写性能;有较高的存储可靠性。
Description
技术领域
本发明涉及数据存储领域,特别涉及一种网络独立冗余磁盘阵列系统。
背景技术
在以数据为中心的信息时代,如何妥善有效地保护数据是存储系统的核心问题之一。金融、医疗、军事中的关键业务要求信息永远不会丢失。存储系统最重要的任务是不论发生什么故障,都要保证存储的信息不能丢失,并且尽力不间断地提供高质量的数据服务。数据信息的毁坏和丢失不但影响到企业的业务连续性,甚至极大地威胁到企业的生存。
为了保证存储在磁盘中的数据的安全性,本领域的技术人员提出了独立冗余磁盘阵列(RAID,Redundant Array of Independent Disk)技术,该技术将多个磁盘组合成一个磁盘阵列,并在各个磁盘中存储其它磁盘上数据的冗余信息,使得当阵列中的某个磁盘发生故障后,可以利用磁盘阵列中其它磁盘所存储的数据和冗余信息恢复故障磁盘上的数据。
RAID算法根据实现原理可分为不同的级别,分别用RAID0-RAID7表示其中RAID1和RAID5是广泛使用的两种方式。这些不同的RAID算法区别体现在数据的分布模式和冗余数据管理的差异。采用RAID1方式,尽管读写性能高,但是空间利用率只有50%。如果采用RAID5方式,提高了空间利用率,但是写性能尤其是小写性能较低。
RAID5小写性能低的主要原因是采用数据块更新和校验块更新同步的处理方式,这一处理方式也被称为同步冗余计算的方式。该方式需要读取待写入的条带块,读取处于另一存储节点上的校验块,然后进行XOR计算,并以“写穿”(write through)的方式写数据块和校验块,最后再返回I/O请求。这种同步冗余计算的方式将导致以下两个问题:
1、为了计算写请求数据的校验块,相关的I/O读写操作次数多,而且必须先读后写串行执行,这导致应用写请求的响应时间较长;
2、校验块计算负载和对存储数据块和校验块的存储节点的I/O负载(先是1次读操作,接下来是1次写操作),这些I/O操作必须在本次应用写请求返回前处理完毕;这导致小写操作时计算负载和I/O负载显著增加,难以优化提高应用访问和存储系统的整体性能。
上述的数据冗余技术已经被广泛应用于本地存储系统,但在网络存储系统中同样可以采用类似的数据冗余技术。即将多个存储节点组合成一个网络RAID系统,并在各个存储节点中存储其他存储节点数据的冗余信息,使得当网络RAID系统中的某个存储节点发生故障后,可以利用其他存储节点所存储的数据和冗余信息,访问故障节点对应的数据,并能恢复故障存储节点上的数据。
多个磁盘组成的RAID阵列采用集中的RAID控制管理数据读写、计算冗余信息和数据恢复等操作。多个存储节点组成的网络RAID系统可以采用单独的控制节点来管理数据读写、计算冗余信息和数据恢复等操作,如公开号为KR2003066838-A的韩国专利申请和公开号为CN1952867-A的中国专利申请;但是网络RAID系统中存储节点个数多,每个存储节点带宽高,上述单独的控制节点容易成为系统的性能瓶颈。
为了避免单独的控制节点,公开号为US2008256183-A1的美国专利申请所公开的网络RAID系统中,多个存储节点既能存储数据和冗余信息,又能执行计算冗余信息和数据恢复等操作,将以前单个控制器的操作分担到多个存储节点上合作完成。但该系统中的各个存储节点依然采用了同步冗余计算方式来实现数据块与校验块的更新,无法克服前述同步冗余计算方式所具有的缺陷。
发明内容
本发明的目的是克服现有网络独立冗余磁盘阵列系统响应时间长,系统负载大的缺陷,从而提供一种可靠性高、响应时间短的网络独立冗余磁盘阵列系统。
本发明提供了一种网络独立冗余磁盘阵列系统,包括有至少三个存储节点,每一个所述的存储节点包括有至少一个关联存储节点;所述存储节点包括:
用于存储应用数据的数据卷、用于存储部分应用数据的活跃数据卷、用于接收应用读写请求的镜像子设备、用于管理数据卷和活跃数据卷中数据关系的数据管理子设备;用于计算校验块的冗余计算子设备、用于存储校验块数据的校验卷、用于存储最近修改的写活跃数据的缓存卷、用于接收写活跃数据请求和替换非活跃数据到所述冗余计算子设备的缓存子设备;
其中,一个存储节点上的所述镜像子设备连接到本存储节点的所述数据管理子设备以及该存储节点的关联存储节点的缓存子设备;所述数据管理子设备连接到所述活跃数据卷以及所述的数据卷;所述的缓存子设备分别连接到所述缓存卷以及所述冗余计算子设备;所述冗余计算子设备连接到所述校验卷以及该存储节点的关联存储节点上的数据管理子设备。
本发明还提供了一种所述的网络独立冗余磁盘阵列系统上进行数据处理的方法,包括:
步骤101)、一处于正常状态的存储节点的镜像子设备接收到数据写请求后,将所述写请求中的数据发送到所述存储节点的数据管理子设备以及所述存储节点的关联存储节点的缓存子设备;
步骤102)、所述存储节点的数据管理子设备将所接收到的写请求的数据写入所述存储节点的活跃数据卷;所述存储节点的关联存储节点的缓存子设备将所接收到的写请求的数据写入所述关联存储节点的缓存卷。
上述技术方案中,还包括所述存储节点的关联存储节点的缓存子设备替换写请求数据的操作,该操作包括:
步骤111)、当所述存储节点的关联存储节点的缓存卷中的剩余空闲空间低于一下限阈值时,根据该缓存卷中所保存的数据块的活跃度,将其中不活跃的数据块写到所述存储节点的关联存储节点的冗余计算子设备,直到所述剩余空闲空间高于一上限阈值。
上述技术方案中,还包括所述存储节点的关联存储节点的冗余计算子设备计算校验块的操作,该操作包括:
步骤121)、所述存储节点的关联存储节点的冗余计算子设备接收到步骤111)中替换而出的数据,对这些替换而出的数据做计算校验块的操作;
步骤122)、将计算校验块操作的结果保存到所述存储节点的关联存储节点的校验卷,将步骤111)中替换而出的数据写回所述存储节点的数据管理子设备;
步骤123)、所述存储节点的数据管理子设备将写回的数据覆盖所述存储节点的数据卷中的旧数据。
上述技术方案中,还包括所述存储节点的数据管理子设备删除重复数据块的操作,该操作包括:
步骤131)、所述存储节点的数据管理子设备根据步骤123)写回的数据的日志信息比较所述存储节点的活跃数据卷与所述存储节点的数据卷中的数据块,删除活跃数据卷中数据内容重复的数据块。
本发明又提供了一种在所述的网络独立冗余磁盘阵列系统上进行数据处理的方法,包括:
步骤201)、一处于正常状态的存储节点的镜像子设备接收到读请求后,将该请求转发给所述存储节点的数据管理子设备;
步骤202)、所述存储节点的数据管理子设备根据所述读请求从所述存储节点的活跃数据卷或数据卷读取数据。
本发明还提供了一种在所述的网络独立冗余磁盘阵列系统上进行数据处理的方法,包括:
步骤301)、在一处于失效状态的存储节点的一关联存储节点上创建所述处于失效状态的存储节点的虚拟镜像子设备;
步骤302)、所述虚拟镜像子设备接收数据写请求后,将所述数据写请求转发给所述处于失效状态的存储节点的关联存储节点的缓存子设备;
步骤303)、所述关联存储节点的缓存子设备将所述写请求中的数据写入所述关联存储节点的缓存卷。
上述技术方案中,还包括所述关联存储节点的缓存子设备替换写请求数据的操作,该操作包括:
步骤311)、当所述关联存储节点的缓存卷中的剩余空闲空间低于一下限阈值时,根据该缓存卷中所保存的数据块的活跃度,将其中不活跃的数据块写到所述存储节点的关联存储节点的冗余计算子设备,直到所述剩余空闲空间高于一上限阈值。
上述技术方案中,还包括所述关联存储节点的冗余计算子设备计算校验块的操作,该操作包括:
步骤321)、所述关联存储节点的冗余计算子设备接收到步骤311)中替换而出的数据,使用RAID降级状态写操作对这些替换而出的数据做计算校验块的操作;
步骤322)、将计算校验块操作的结果保存到所述关联存储节点的校验卷。
本发明又提供了一种在所述的网络独立冗余磁盘阵列系统中进行数据重构的方法,包括:
步骤701)、一处于失效状态的存储节点向该存储节点的关联存储节点的缓存子设备发出读取所要恢复的数据的数据读请求,
步骤702)、所述关联存储节点的缓存子设备根据所述数据读请求查询所述关联存储节点的缓存卷是否包含所要恢复的数据,若包含,则将数据返回给所述处于失效状态的存储节点,然后执行下一步,否则,由所述关联节点的冗余计算子设备做数据重构,计算出所要恢复的数据,返回给所述处于失效状态的存储节点,然后执行下一步;
步骤703)、所述处于失效状态的存储节点根据关联存储节点所返回的所要恢复的数据恢复其数据卷中的数据;
步骤704)、所述处于失效状态的存储节点的冗余计算子设备根据从其关联存储节点所读取的数据块进行冗余计算,得到校验块后写入到其校验卷中。
本发明还提供了一种在所述的网络独立冗余磁盘阵列系统上进行数据处理的方法,包括:
步骤401)、在一处于失效状态的存储节点的一关联存储节点上创建所述处于失效状态的存储节点的虚拟镜像子设备;
步骤402)、所述虚拟镜像子设备接收数据读请求后,将所述数据读请求转发给所述处于失效状态的存储节点的关联存储节点的缓存子设备;
步骤403)、所述关联存储节点的缓存子设备根据数据读请求查询所述关联存储节点的缓存卷是否包含所要读取的数据,若包含,则返回所读取的数据,结束操作,否则,调用权利要求10所述的数据重构的方法来重构数据,然后从重构后的数据中读取所要读取的数据,结束操作。
本发明又提供了一种在所述的网络独立冗余磁盘阵列系统上进行数据处理的方法,包括:
步骤501)、一处于失效状态的存储节点的关联存储节点的镜像子设备接收到数据写请求后,将所述数据写请求中的数据写到所述关联存储节点的数据管理子设备;
步骤502)、所述关联存储节点将所述写请求中的数据写入所述关联存储节点的活跃数据卷。
本发明还提供了一种在所述的网络独立冗余磁盘阵列系统上进行数据处理的方法,包括:
步骤601)、一处于失效状态的存储节点的关联存储节点的镜像子设备接收到读请求后,将该请求转发给所述关联存储节点的数据管理子设备;
步骤202)、所述关联存储节点的数据管理子设备根据所述读请求从所述关联存储节点的活跃数据卷或数据卷读取数据。
本发明还提供了一种在所述的网络独立冗余磁盘阵列系统上进行数据处理的方法,包括:
步骤801)、一处于重构状态的存储节点的镜像子设备接收到数据写请求后,判断与所述数据写请求有关的数据块是否已经被恢复,若已经被恢复,执行下一步,否则执行步骤803);
步骤802)、将所述写请求的数据写到所述处于重构状态的存储节点的数据管理子设备,以及该处于重构状态的存储节点的关联存储节点的缓存子设备上,然后结束操作;
步骤803)、将所述写请求的数据只写到该处于重构状态的存储节点的关联存储节点的缓存子设备上,然后结束操作。
本发明再提供了一种在所述的网络独立冗余磁盘阵列系统上进行数据处理的方法,包括:
步骤901)、一处于重构状态的存储节点的镜像子设备接收到数据读请求后,判断与所述数据读请求有关的数据块是否已经被恢复,若已经被恢复,执行下一步,否则执行步骤903);
步骤902)、将所述数据读请求转发到所述处于重构状态的存储节点的数据管理子设备,由所述数据管理子设备从所述数据卷或活跃数据卷读取数据,结束操作;
步骤903)、将所述数据读请求转发到所述处于重构状态的存储节点的关联存储节点的缓存子设备上,由所述缓存子设备读取数据。
本发明的优点在于:
1、读请求的响应时间短,具有良好的读写性能;
2、有较高的存储可靠性。
附图说明
图1为本发明的网络独立冗余磁盘阵列系统在一个实施例中的示意图;
图2为在一个实施例中,当网络独立冗余磁盘阵列系统中的一个存储节点在正常状态下写上层应用数据的操作示意图;
图3为在一个实施例中,当网络独立冗余磁盘阵列系统中的一个存储节点在正常状态下写上层应用数据时,该存储节点的关联存储节点的缓存子设备做替换写请求数据操作、冗余计算子设备做计算校验块操作,以及该存储节点的数据管理子设备做删除重复数据块的操作的示意图;
图4为在一个实施例中,当网络独立冗余磁盘阵列系统中的一个存储节点在重构状态下时,该存储节点的镜像子设备重构丢失数据的操作示意图;
图5为在一个实施例中,当网络独立冗余磁盘阵列系统中的一个存储节点在重构状态下时,该存储节点重新计算丢失校验块数据的操作示意图。
具体实施方式
在对本发明做详细说明前,首先对本发明中所涉及的相关概念进行说明。
应用数据:上层应用软件做读操作或写操作时所涉及的数据。
冗余数据:上层应用软件所写数据的复制,是副本数据。
校验块数据:使用校验算法计算不同节点的冗余数据后的结果。
活跃数据:活跃数据是指根据存储局部性原则,最近时间段内读或写的数据。
非活跃数据:指根据存储局部性原则,相对于活跃数据,最近时间段内没有读或写的数据。
下面结合附图和具体实施方式对本发明加以说明。
在图1中给出了本发明的网络RAID系统的一个最小实施例,最小的网络RAID系统至少需要3个存储节点,简单指定节点的ID为{1,2,3}。这三个存储节点的内部结构相同,每一个存储节点都是其他两个存储节点的关联节点,即每一个存储节点上都包含有其他两个存储节点的冗余数据。由于只有3个存储节点的网络RAID系统最为简单,易于为本领域技术人员所理解,因此以本实施例为基础,对本发明的网络RAID系统的基本组成以及相应的工作流程加以说明。本领域技术人员据此可在其他实施例中实现存储节点数高于3个的网络RAID系统。
之前提到,本实施例中的3个存储节点的内部结构完全相同,因此可以以任意一个存储节点为例,对存储节点的内部结构进行说明。每个存储节点在硬件上都包含有用于存储数据的磁盘以及用于磁盘资源管理的逻辑卷管理器,所述逻辑卷管理器以逻辑卷的方式管理存储资源。从功能上来说,如图1所示,存储节点1包括有用于存储应用数据的数据卷、用于存储部分应用数据的活跃数据卷,以及用于接收应用读写请求的镜像子设备,用于管理数据卷和活跃数据卷中数据关系的数据管理子设备;用于计算校验块的冗余计算子设备、用于存储校验块数据的校验卷、用于存储最近修改的写活跃数据的缓存卷、用于接收写活跃数据请求和替换非活跃数据到冗余计算子设备的缓存子设备。其中,一个存储节点上的所述镜像子设备连接到本存储节点的所述数据管理子设备以及该存储节点的关联存储节点的缓存子设备;所述数据管理子设备连接到所述活跃数据卷以及所述的数据卷;所述的缓存子设备分别连接到所述缓存卷以及所述冗余计算子设备;所述冗余计算子设备连接到所述校验卷以及该存储节点的关联存储节点上的数据管理子设备。由于一存储节点中的数据卷、活跃数据卷、镜像子设备、数据管理子设备以及另一个关联存储节点(如存储节点2或3)上的缓存卷都与数据镜像有关,因此这些部分可形成数据镜像模块,而校验卷、冗余计算子设备、缓存子设备与数据冗余有关,因此这些部分可形成冗余压缩模块。在下文中将会对数据镜像模块与冗余压缩模块各自如何做数据镜像与冗余压缩的过程进行说明。
下面以存储节点1为例,对存储节点中的各个部分做进一步的说明,其他存储节点的内部结构与之类似。
存储节点1中的数据卷、活跃数据卷、校验卷和缓存卷都是由逻辑卷管理器分配出来的逻辑卷。当读写请求到达逻辑卷时,逻辑卷管理器根据当前的物理资源使用情况,为新的写请求在磁盘上分配存储资源,并转发读写请求到底层磁盘设备。
在存储节点1中,逻辑存储空间可以分成三种类型,第一种是用于存储应用数据的“数据空间”dSpace,第二种是用于存储镜像数据的“镜像空间”mSpace,第三种是用于存储冗余数据的“冗余空间”rSpace。对逻辑存储空间的上述划分有助于了解存储节点与其关联存储节点间的数据存储方式。具体的说,存储节点1的“数据空间”dSpace对应于数据卷,作为本领域的公知常识,所述的数据卷都以一定的粒度(如1MB)划分成多个逻辑单元,这些逻辑单元从0开始顺序编址。之前提到,存储节点1的关联节点有存储节点2以及存储节点3,由于它的关联节点有两个,因此可以将数据卷中的所述逻辑单元分成两部分,如按照逻辑单元地址的奇偶性划分,将奇数部分映射到存储节点3上,偶数部分映射到存储节点2上。在存储节点2上,将从存储节点1和存储节点3映射过来的“数据空间的子空间”组合成为“冗余空间”rSpace,与校验卷组合后对应冗余计算子设备,校验卷存储校验计算后的校验数据。在存储节点2上,经过缓存子设备后,rSpace按照前面与划分dSpace子空间相同的方法划分为两个子空间,将与存储节点1相应的部分映射回存储节点1。存储节点3与存储节点2使用相同的方法,将rSpace中与存储节点1相应的部分映射回存储节点1。存储节点1将存储节点2、存储节点3映射过来的冗余空间的两个子空间组合成“镜像空间”mSpace,然后与dSpace分别成为镜像子设备的两个互为镜像的设备,存储相同的数据。自此,存储节点1的关联节点集的数据划分和组合完成。
存储节点1的镜像子设备将上层应用的读请求直接转发给本节点的数据管理子设备,将上层应用的写请求的数据同时写到本节点的数据管理子设备和关联存储节点的缓存子设备中。
存储节点1的数据管理子设备从镜像子设备接收到上层应用的写请求的数据后,将这些数据写到活跃数据卷中,而在处理读请求时,先从本存储节点的活跃数据卷中读数据,如果活跃数据卷中没有才从本存储节点的数据卷中读数据。
存储节点1的关联存储节点,即存储节点2、存储节点3的缓存子设备接收存储节点1的镜像子设备发送的写活跃数据,如果在缓存卷中没有缓存过这个数据块,则在缓存卷中申请缓存资源,再写入写请求的数据;如果已经缓存,则直接覆盖缓存卷中的旧数据块,多次写请求数据只保留最后1个数据块信息;当缓存卷中所保存的数据块达到一定数量后,采用最近最少使用(LRU)或最少使用频率(LFU)等缓存替换算法,将一组连续大块(如16MB)的非活跃数据块替换到本节点的冗余计算子设备中,释放这些非活跃块占用的缓存卷空间。
参考图1,存储节点2、存储节点3的冗余计算子设备接收到缓存卷替换出来的数据,采用现有技术中的纠错码计算方法,如RAID4或RAID5或RAID6,来计算新的校验块,并将计算出的校验块存储到校验卷中,此外还要由所述的冗余计算子设备中的导入的数据设备将从缓存卷替换出来的数据再转发到存储节点1的数据管理子设备中。
上述系统中,所述的存储节点2、存储节点3的冗余计算设备在计算校验块过程中,前述的一组连续大块的非活跃数据块包含有多个冗余计算子设备的条带,如16MB的连续大块聚合了8个冗余计算子设备的2MB的条带,如果所包含的条带为完整的条带,那么进行校验计算不需要读取其他的数据,直接使用2MB的数据计算;如果所包含的条带中有不完整的条带,则需要从存储节点1的数据管理子设备上读取旧数据后再进行校验计算。
上述系统中,当系统空闲或者资源不足时,所述的数据管理子设备将活跃数据卷中与数据卷中对应地址上相同的数据删除,只保留一份数据卷中数据。
以上是对本发明的网络RAID系统的各个组成部分的说明。在此基础上可实现对网络RAID系统的数据读写操作和冗余管理操作。在网络RAID系统中,存储节点包括正常、失效、重构三种状态。下面以存储节点1为例,对这三种状态下本发明的网络RAID系统所要完成的读写操作和冗余管理操作的具体过程进行说明。
1、存储节点1正常状态下的数据写
图2出示了在正常状态下,存储节点1写上层应用数据的操作示意图,具体步骤如下:
步骤101、存储节点1的镜像子设备接收到上层应用的数据写请求;
步骤102、存储节点1的镜像子设备将写请求的数据同时写到本节点的数据管理子设备和存储节点2、存储节点3的缓存子设备中;
步骤103、存储节点1的数据管理子设备接收到镜像子设备的写请求后,保留数据卷中原有的数据不变,而将写请求的数据写入到底层的活跃数据卷中,具体包括:
步骤103-1、如果活跃数据卷中没有写过这个数据块,则分配新的存储空间,再写入写请求的数据;
步骤103-2、如果活跃数据卷中曾经写过这个数据块,则直接用写请求的新数据覆盖旧数据块;
步骤103-3、然后数据管理子设备返回写请求完成通知;
步骤104、存储节点2、存储节点3上的缓存子设备接收到存储节点1的镜像子设备的写请求后,将写请求的数据写入到缓存卷中,具体包括:
步骤104-1、如果缓存中没有缓存过这个数据块,则在缓存中分配新的存储空间,再写入写请求的数据;
步骤104-2、如果缓存中已经缓存这个数据块,则直接覆盖缓存中的旧数据块;
步骤104-3、然后存储节点2、存储节点3上的缓存子设备返回写请求完成通知;
步骤105、存储节点1的镜像子设备接收到底层的数据管理子设备和存储节点2、存储节点3上的缓存子设备的写请求完成通知后,再通知上层应用写请求完成。
在完成数据写操作后,在满足一定条件的前提下,缓存子设备还要做替换写请求数据的操作,冗余计算子设备要做计算校验块的操作,数据管理子设备要做删除和数据卷中数据一致的活跃数据卷数据的操作。上述三个操作依次进行,图3中给出了上述三个操作的示意图,下面结合图3对这些操作的实现进行说明。
在网络RAID系统中,缓存子设备的缓存卷空间有限,必须及时替换部分数据到冗余计算子设备上,并释放占用的缓存卷空间,具体步骤如下:
步骤111、当缓存子设备缓存写请求的数据时,记录数据访问的信息,统计数据块组的活跃度;
步骤112、当缓存卷中的剩余空闲空间低于指定下限阈值时,缓存子设备启动内部的缓存替换线程;
步骤113、缓存子设备中的缓存替换线程根据数据块的活跃度,优先替换不活跃的数据块组到冗余计算子设备上,即从缓存卷中读取要替换的数据块组,然后以写请求方式将这组数据写到冗余计算子设备上;
步骤114、当缓存卷中的剩余空闲空间高于指定上限阈值时,缓存子设备停止缓存替换线程。
存储节点2、存储节点3上的冗余计算子设备接收到本节点的缓存子设备发起的写请求后,计算得到新的校验块并存储到校验卷上,具体步骤如下:
步骤121、存储节点2、存储节点3上的冗余计算子设备接收到本节点上的缓存子设备替换非活跃的连续大块的数据而发起的连续大块的数据的写请求;
步骤122、存储节点2、存储节点3上的冗余计算子设备使用校验算法计算连续大块的数据得到新的校验块;对于连续大块的数据中对应冗余计算子设备的完整条带部分,冗余计算子设备使用完整条带的数据计算新校验块;对于连续大块的数据中对应冗余计算子设备的不完整条带部分,需要从存储节点1的读取旧数据,再计算校验块。
步骤123、存储节点2、存储节点3上的冗余计算子设备以覆盖写方式将校验块写入本节点的校验卷中,同时将上述连续大块的数据也写回到存储节点1的数据管理子设备中;在本步骤中,将写请求的数据写回到存储节点1的数据管理子设备中是为了进行下文中所提到的重复数据合并。
步骤124、存储节点1的数据管理子设备用存储节点2、存储节点3上的冗余计算子设备写回的新数据覆盖自身数据卷中原来的旧数据。
存储节点2、存储节点3上的冗余计算子设备写回存储节点1的数据卷中的数据块与存储节点1的数据管理子设备的活跃数据卷的数据块是重复的,因此存储节点1的数据管理子设备需要删除活跃数据卷中的重复数据块,释放占用的活跃数据卷的存储空间,具体步骤如下:
步骤131、存储节点1的数据管理子设备接收存储节点2、存储节点3上的冗余计算子设备写回数据时,记录写回的数据块日志信息;
步骤132、当存储节点1的活跃数据卷中的剩余空闲空间低于指定下限阈值时,存储节点1的数据管理子设备启动内部的重复数据合并线程;
步骤133、存储节点1的数据管理子设备的合并线程读取数据块的写回日志信息;
步骤134、存储节点1的数据管理子设备的合并线程根据日志信息,读取本节点上的活跃数据卷中的数据块和数据卷中对应的数据块,比较两者数据内容是否相同;如果相同,则删除活跃数据卷中的数据块;
步骤135、当存储节点1的活跃数据卷中的剩余空闲空间高于指定上限阈值时,存储节点1的数据管理子设备停止合并线程。
2、存储节点1正常状态下的数据读
在正常状态下的存储节点1的数据读处理的具体步骤如下:
步骤201、存储节点1的镜像子设备接收到上层应用的读请求后,直接转发给底层的数据管理子设备;
步骤202、存储节点1的数据管理子设备接收到镜像子设备的读请求后,从底层的活跃数据卷或数据卷读取数据,具体包括:
步骤202-1、存储节点1的数据管理子设备先从本节点的活跃数据卷中读数据;
步骤202-2、如果存储节点1的活跃数据卷中有这个数据块,则向上返回读取的数据块信息;
步骤202-3如果存储节点1的活跃数据卷中没有这个数据块,则数据管理子设备从数据卷中读数据,再向上返回读取的数据块信息。
3、存储节点1在失效状态下的存储节点1的数据写
当存储节点1发生故障后,其上的数据丢失,网络RAID系统将存储节点1由正常状态变为失效状态。为了继续为上层应用提供存储节点1的读写服务,在存储节点2上使用存储节点2与存储节点3的缓存子设备创建存储节点1的虚拟镜像子设备1,用来接收对故障的存储节点1的数据读写请求。存储节点1失效状态下的虚拟镜像子设备1数据写处理的具体步骤如下:
步骤301、虚拟镜像子设备1接收到上层应用的数据写请求,只需将写请求转发给存储节点2与存储节点3的缓存子设备;
步骤302、未故障的存储节点2与存储节点3上的缓存子设备接收到虚拟镜像子设备1的数据写请求,将该数据写请求保存到缓存卷中。当缓存卷的资源少于阈值时,类似于正常状态下写操作时所做的数据块替换操作,从缓存卷中选取一些不活跃的数据块作为替换出的数据块,将这些被替换的数据块发送给同一节点内的冗余计算子设备;
步骤303、存储节点2、存储节点3上的冗余计算子设备接收到缓存子设备替换下的数据块后,对这些替换数据块进行校验块计算。由于存储节点1此时处于失效状态,存储节点1上的数据不可用,因此使用传统RAID降级状态写操作计算得到新校验块,然后存入校验卷。
4、存储节点1在失效状态下对存储节点1的数据读
存储节点1失效状态下的数据读处理的具体步骤如下:
步骤401、虚拟镜像子设备1接收到上层应用的数据读请求,只需将读请求转发给存储节点2、存储节点3的缓存子设备;
步骤402、存储节点2、存储节点3上的缓存子设备接收到虚拟镜像子设备1的数据读请求后,如果在缓存卷中有这个数据块,则从缓存卷中读取数据后返回;如果没有,则将读请求继续转发给底层的冗余计算子设备;
步骤403、由于存储节点2、存储节点3上的冗余计算子设备不能读取故障的存储节点1上的数据卷的数据,因此需要执行下文中提到的RAID重构操作恢复丢失的数据块,即读取同一个RAID条带中本节点的校验卷中的校验块和存储节点2、存储节点3上的数据卷中的数据块,重构计算得到丢失的存储节点1上的数据块。
5、存储节点1在失效状态下对存储节点2、存储节点3的数据写
存储节点2与存储节点3的处理过程一样。以存储节点3为例,在存储节点1失效状态下对存储节点3数据写的具体步骤包括:
步骤501、存储节点3的镜像子设备接收到上层应用的数据写请求;
步骤502、存储节点3的镜像子设备将写请求的数据写到本节点的数据管理子设备;
步骤503、存储节点3的数据管理子设备接收到镜像子设备的写请求后,保留数据卷中原有的数据不变,而将写请求的数据写入到活跃数据卷中,具体包括:
步骤503-1、如果活跃数据卷中没有写过这个数据块,则分配新的存储空间,再写入写请求的数据;
步骤503-2、如果活跃数据卷中曾经写过这个数据块,则直接用写请求的新数据覆盖旧数据块;
步骤503-3、然后数据管理子设备返回写请求完成通知。
从上述描述可以看出,当一个存储节点的关联存储节点处于失效状态时,对该存储节点的数据写只在该存储节点上完成,不再在其关联存储节点上存储镜像数据。
6、存储节点1在失效状态下对存储节点2或存储节点3的数据读与在正常状态下的读一样,此处不再重复。
7、存储节点1在重构状态下对丢失数据的恢复
当故障的存储节点1被修复或用新的存储节点替换后,需要在之前故障的存储节点上重新创建数据卷、校验卷、镜像卷和活跃数据卷,重新创建镜像子设备、缓存子设备和冗余计算子设备,存储节点1由失效状态进入重构状态。
由于本发明中数据卷和校验卷分离存储,因此数据卷和校验卷的数据分别恢复,先恢复数据卷中的数据,后恢复校验卷中的数据。
图4示出了重构状态下的恢复丢失数据流程中的镜像子设备重构丢失数据的操作示意图。
步骤701、存储节点1在重构状态下的数据卷中的数据恢复。存储节点1上的数据管理子设备启动内部的数据重构线程,实现数据恢复的具体步骤如下:
步骤701-1、存储节点1启动数据卷重构线程,记录当前数据卷恢复窗口位置,并向存储节点2、存储节点3上的缓存子设备发出读请求;
步骤701-2、存储节点2、存储节点3上的缓存子设备查询是否缓存相应数据块;如果缓存命中,则直接返回数据块给存储节点1;否则,从同一节点上的冗余计算子设备获取相应数据块,然后返回数据块给存储节点1;
步骤701-3、存储节点2、存储节点3上的冗余计算子设备进行数据重构,使用XOR算法计算出存储节点1的恢复数据,返回给同一节点的缓存管理子设备;
步骤701-4、重复执行上述的步骤701-1、步骤701-2、步骤701-3的操作,直到所有的数据卷中的数据都恢复完毕。
图5示出了重构状态下的恢复丢失校验块数据流程中的重新计算丢失校验块数据的操作示意图。
步骤702、存储节点1重构状态下的校验卷中的数据恢复。存储节点1上的冗余计算子设备启动内部的数据重构线程,恢复所有丢失的校验块,具体包括:
步骤702-1、存储节点1的冗余计算子设备的数据重构线程记录当前校验卷恢复窗口位置,并从存储节点2、存储节点3的数据管理子设备的数据卷中读数据块;
步骤702-2、存储节点1的冗余计算子设备的数据重构线程利用从存储节点2、存储节点3读取的数据块进行冗余计算得到校验块,并写到本节点的校验卷中;
步骤702-3、重复执行上述的步骤702-1、步骤702-2的操作,直到所有的校验卷中校验块数据恢复完毕。
当被修复或新替换的存储节点1上的数据卷和校验卷的数据都恢复后,存储节点1的状态由重构状态变为正常状态。
8、存储节点1在重构状态下的数据写
存储节点1的重构过程需要一定的时间,当存储节点1处于重构状态下时发生了数据写处理,则相关步骤如下:
被修复或新替换的存储节点1的镜像子设备接收到上层应用的数据写请求,根据前面所述的数据卷恢复窗口位置判断这个数据块是否被恢复来分别处理,具体包括:
步骤801、如果这个数据块已经被存储节点1镜像子设备内部的数据重构线程恢复,那么写请求数据同时写到存储节点1的数据管理子设备和存储节点2、存储节点3的缓存子设备上;
步骤802、如果这个数据块还没有被恢复,则只需将数据写到存储节点2、存储节点3的缓存子设备上。
9、存储节点1重构状态下的数据读
当存储节点1处于重构状态下时发生了数据读处理,相关步骤如下:
被修复或新替换的存储节点1的镜像子设备接收到上层应用的数据读请求,根据前面所述的冗余卷恢复窗口位置判断这个数据块是否被恢复来分别处理,具体包括:
步骤901、如果这个数据块已经被存储节点1镜像子设备的数据重构线程恢复,那么将数据读请求转发到本节点的数据管理子设备;
步骤902、如果这个数据块还没有被恢复,则将数据读请求转发到存储节点2、存储节点3的缓存子设备上。
本发明的优点在于:
1、本发明的系统整体聚合读性能与系统中存储节点的数量成正比。因为每个存储节点的读过程仅限于本地操作,存储节点之间没有影响,所以系统整体聚合读性能是所有节点读性能的和。
2、本发明的系统整体聚合写性能与系统中不相关的关联节点集的数量成正比。因为一个存储节点的写过程仅影响它的关联节点集的存储节点,其他的节点则不参与这个存储节点的写过程,所以系统的整体聚合写性能是所有不相关的关联节点集的写性能的和。此外,假如系统的设备中不存在性能瓶颈点,关联节点集的聚合写性能是其中所有存储节点的写性能的和。或者说,使用高性能的交换网络设备,高性功能的缓存设备,合理的缓存管理算法,本发明的系统整体聚合写性能可达到与系统中存储节点的数量成正比。
3、本发明的存储节点具有本地存储的读性能,RAID1的写性能,RAID4或5或6的存储空间使用率(取决于冗余压缩模块使用的算法)。和单个控制集中管理方式对比,本发明中上层应用的读操作通过数据管理子设备读取活跃数据卷的写活跃数据或数据卷中的非活跃数据,读请求的I/O路径短,读请求的响应时间短,具有本地存储的读性能;本发明中上层应用的写操作等待数据管理子设备和远端的镜像缓存写完成,具有RAID1的写特性。本发明通过冗余缓存子设备利用大容量的缓存卷缓存频繁写活跃数据,多次写请求的数据在缓存卷中合并为1个,在异步冗余计算方式中只需一次异步计算校验块操作;并且冗余子设备的冗余压缩以条带为单位,而冗余缓存换出的连续大块包含多个冗余子设备的条带,冗余计算以较大的粒度进行,小写不可能触发冗余计算。
4、本发明的整个系统能够容忍的节点失效数目是最大不相关的关联节点集的数目与关联节点集容忍节点失效数目的乘积。因为,其中每个关联节点集中都能容忍一个或两个节点(取决于冗余压缩模块使用的算法)失效,仍能继续提供存储服务可靠性。
最后所应说明的是,以上实施例仅用以说明本发明的技术方案而非限制。尽管参照实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,对本发明的技术方案进行修改或者等同替换,都不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。
Claims (15)
1.一种网络独立冗余磁盘阵列系统,其特征在于,包括有至少三个存储节点,每一个所述的存储节点与至少一个其他存储节点相关联,相关联的存储节点称为所述存储节点的关联存储节点;所述存储节点包括:
用于存储应用数据的数据卷、用于存储部分应用数据的活跃数据卷、用于接收应用读写请求的镜像子设备、用于管理数据卷和活跃数据卷中数据关系的数据管理子设备;用于计算校验块的冗余计算子设备、用于存储校验块数据的校验卷、用于存储最近修改的写活跃数据的缓存卷、用于接收写活跃数据请求和替换非活跃数据到所述冗余计算子设备的缓存子设备;
其中,一个存储节点上的所述镜像子设备连接到本存储节点的所述数据管理子设备以及该存储节点的关联存储节点的缓存子设备;所述数据管理子设备连接到所述活跃数据卷以及所述的数据卷;所述的缓存子设备分别连接到所述缓存卷以及所述冗余计算子设备;所述冗余计算子设备连接到所述校验卷以及该存储节点的关联存储节点上的数据管理子设备。
2.一种在权利要求1所述的网络独立冗余磁盘阵列系统上进行数据处理的方法,包括:
步骤101)、一处于正常状态的存储节点的镜像子设备接收到数据写请求后,将所述写请求中的数据发送到所述存储节点的数据管理子设备以及所述存储节点的关联存储节点的缓存子设备;
步骤102)、所述存储节点的数据管理子设备将所接收到的写请求的数据写入所述存储节点的活跃数据卷;所述存储节点的关联存储节点的缓存子设备将所接收到的写请求的数据写入所述关联存储节点的缓存卷。
3.根据权利要求2所述的数据处理方法,其特征在于,还包括所述存储节点的关联存储节点的缓存子设备替换写请求数据的操作,该操作包括:
步骤111)、当所述存储节点的关联存储节点的缓存卷中的剩余空闲空间低于一下限阈值时,根据该缓存卷中所保存的数据块的活跃度,将其中不活跃的数据块写到所述存储节点的关联存储节点的冗余计算子设备,直到所述剩余空闲空间高于一上限阈值。
4.根据权利要求3所述的数据处理方法,其特征在于,还包括所述 存储节点的关联存储节点的冗余计算子设备计算校验块的操作,该操作包括:
步骤121)、所述存储节点的关联存储节点的冗余计算子设备接收到步骤111)中替换而出的数据,对这些替换而出的数据做计算校验块的操作;
步骤122)、将计算校验块操作的结果保存到所述存储节点的关联存储节点的校验卷,将步骤111)中替换而出的数据写回所述存储节点的数据管理子设备;
步骤123)、所述存储节点的数据管理子设备将写回的数据覆盖所述存储节点的数据卷中的旧数据。
5.根据权利要求4所述的数据处理方法,其特征在于,还包括所述存储节点的数据管理子设备删除重复数据块的操作,该操作包括:
步骤131)、所述存储节点的数据管理子设备根据步骤123)写回的数据的日志信息比较所述存储节点的活跃数据卷与所述存储节点的数据卷中的数据块,删除活跃数据卷中数据内容重复的数据块。
6.一种在权利要求1所述的网络独立冗余磁盘阵列系统上进行数据处理的方法,包括:
步骤201)、一处于正常状态的存储节点的镜像子设备接收到读请求后,将该请求转发给所述存储节点的数据管理子设备;
步骤202)、所述存储节点的数据管理子设备根据所述读请求从所述存储节点的活跃数据卷或数据卷读取数据。
7.一种在权利要求1所述的网络独立冗余磁盘阵列系统上进行数据处理的方法,包括:
步骤301)、在一处于失效状态的存储节点的一关联存储节点上创建所述处于失效状态的存储节点的虚拟镜像子设备;
步骤302)、所述虚拟镜像子设备接收数据写请求后,将所述数据写请求转发给所述处于失效状态的存储节点的关联存储节点的缓存子设备;
步骤303)、所述关联存储节点的缓存子设备将所述写请求中的数据写入所述关联存储节点的缓存卷。
8.根据权利要求7所述的数据处理方法,其特征在于,还包括所述关联存储节点的缓存子设备替换写请求数据的操作,该操作包括:
步骤311)、当所述关联存储节点的缓存卷中的剩余空闲空间低于一下限阈值时,根据该缓存卷中所保存的数据块的活跃度,将其中不活跃的数 据块写到所述存储节点的关联存储节点的冗余计算子设备,直到所述剩余空闲空间高于一上限阈值。
9.根据权利要求8所述的数据处理方法,其特征在于,还包括所述关联存储节点的冗余计算子设备计算校验块的操作,该操作包括:
步骤321)、所述关联存储节点的冗余计算子设备接收到步骤311)中替换而出的数据,使用RAID降级状态写操作对这些替换而出的数据做计算校验块的操作;
步骤322)、将计算校验块操作的结果保存到所述关联存储节点的校验卷。
10.一种在权利要求1所述的网络独立冗余磁盘阵列系统中进行数据重构的方法,包括:
步骤701)、一处于失效状态的存储节点向该存储节点的关联存储节点的缓存子设备发出读取所要恢复的数据的数据读请求,
步骤702)、所述关联存储节点的缓存子设备根据所述数据读请求查询所述关联存储节点的缓存卷是否包含所要恢复的数据,若包含,则将数据返回给所述处于失效状态的存储节点,然后执行下一步,否则,由所述关联节点的冗余计算子设备做数据重构,计算出所要恢复的数据,返回给所述处于失效状态的存储节点,然后执行下一步;
步骤703)、所述处于失效状态的存储节点根据关联存储节点所返回的所要恢复的数据恢复其数据卷中的数据;
步骤704)、所述处于失效状态的存储节点的冗余计算子设备根据从所述处于失效状态的存储节点的关联存储节点所读取的数据块进行冗余计算,得到校验块后写入到其校验卷中。
11.一种在权利要求1所述的网络独立冗余磁盘阵列系统上进行数据处理的方法,包括:
步骤401)、在一处于失效状态的存储节点的一关联存储节点上创建所述处于失效状态的存储节点的虚拟镜像子设备;
步骤402)、所述虚拟镜像子设备接收数据读请求后,将所述数据读请求转发给所述处于失效状态的存储节点的关联存储节点的缓存子设备;
步骤403)、所述关联存储节点的缓存子设备根据数据读请求查询所述关联存储节点的缓存卷是否包含所要读取的数据,若包含,则返回所读取的数据,结束操作,否则,由所述关联节点的冗余计算子设备做数据重构, 然后从重构后的数据中读取所要读取的数据,结束操作。
12.一种在权利要求1所述的网络独立冗余磁盘阵列系统上进行数据处理的方法,包括:
步骤501)、一处于失效状态的存储节点的关联存储节点的镜像子设备接收到数据写请求后,将所述数据写请求中的数据写到所述关联存储节点的数据管理子设备;
步骤502)、所述关联存储节点将所述写请求中的数据写入所述关联存储节点的活跃数据卷。
13.一种在权利要求1所述的网络独立冗余磁盘阵列系统上进行数据处理的方法,包括:
步骤601)、一处于失效状态的存储节点的关联存储节点的镜像子设备接收到读请求后,将该请求转发给所述关联存储节点的数据管理子设备;
步骤602)、所述关联存储节点的数据管理子设备根据所述读请求从所述关联存储节点的活跃数据卷或数据卷读取数据。
14.一种在权利要求1所述的网络独立冗余磁盘阵列系统上进行数据处理的方法,包括:
步骤801)、一处于重构状态的存储节点的镜像子设备接收到数据写请求后,判断与所述数据写请求有关的数据块是否已经被恢复,若已经被恢复,执行下一步,否则执行步骤803);
步骤802)、将所述写请求的数据写到所述处于重构状态的存储节点的数据管理子设备,以及该处于重构状态的存储节点的关联存储节点的缓存子设备上,然后结束操作;
步骤803)、将所述写请求的数据只写到该处于重构状态的存储节点的关联存储节点的缓存子设备上,然后结束操作。
15.一种在权利要求1所述的网络独立冗余磁盘阵列系统上进行数据处理的方法,包括:
步骤901)、一处于重构状态的存储节点的镜像子设备接收到数据读请求后,判断与所述数据读请求有关的数据块是否已经被恢复,若已经被恢复,执行下一步,否则执行步骤903);
步骤902)、将所述数据读请求转发到所述处于重构状态的存储节点的数据管理子设备,由所述数据管理子设备从所述数据卷或活跃数据卷读取数据,结束操作;
步骤903)、将所述数据读请求转发到所述处于重构状态的存储节点的关联存储节点的缓存子设备上,由所述缓存子设备读取数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010618419A CN102053802B (zh) | 2010-12-31 | 2010-12-31 | 网络独立冗余磁盘阵列系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010618419A CN102053802B (zh) | 2010-12-31 | 2010-12-31 | 网络独立冗余磁盘阵列系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102053802A CN102053802A (zh) | 2011-05-11 |
CN102053802B true CN102053802B (zh) | 2012-09-05 |
Family
ID=43958170
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010618419A Active CN102053802B (zh) | 2010-12-31 | 2010-12-31 | 网络独立冗余磁盘阵列系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102053802B (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102681791B (zh) * | 2012-04-13 | 2015-04-15 | 华中科技大学 | 一种集群存储系统的节能存储方法 |
CN104484252B (zh) * | 2014-12-26 | 2017-11-24 | 华为技术有限公司 | 固态硬盘的备电检测方法、装置和系统 |
CN106897022B (zh) * | 2015-12-17 | 2019-05-31 | 腾讯科技(深圳)有限公司 | 一种管理存储设备的方法及装置 |
CN105630423B (zh) * | 2015-12-25 | 2018-11-27 | 华中科技大学 | 一种基于数据缓存的纠删码集群存储扩容方法 |
CN105739924B (zh) * | 2016-01-29 | 2018-05-11 | 华为技术有限公司 | 基于缓存集群的缓存方法和系统 |
CN108701005B (zh) | 2016-02-18 | 2021-02-23 | 华为技术有限公司 | 数据更新技术 |
CN108513657B (zh) * | 2016-12-26 | 2021-01-29 | 华为技术有限公司 | 数据转换方法及备份服务器 |
CN110019013B (zh) * | 2017-12-08 | 2021-11-05 | 中国电信股份有限公司 | 镜像存储方法、装置和计算机可读存储介质 |
CN110348245B (zh) * | 2018-04-02 | 2023-07-14 | 深信服科技股份有限公司 | 基于nvm的数据完整性保护方法、系统、装置及存储介质 |
CN111258807B (zh) * | 2020-01-16 | 2023-05-09 | 四川效率源科技有限责任公司 | 一种逻辑卷管理中raid6缺失磁盘的数据恢复方法 |
CN113986148B (zh) * | 2021-12-27 | 2022-03-22 | 苏州浪潮智能科技有限公司 | 一种数据读取方法、装置及相关设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101291347A (zh) * | 2008-06-06 | 2008-10-22 | 中国科学院计算技术研究所 | 一种网络存储系统 |
CN101770413A (zh) * | 2010-01-07 | 2010-07-07 | 杭州华三通信技术有限公司 | 冗余磁盘阵列重建的方法及设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7024586B2 (en) * | 2002-06-24 | 2006-04-04 | Network Appliance, Inc. | Using file system information in raid data reconstruction and migration |
-
2010
- 2010-12-31 CN CN201010618419A patent/CN102053802B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101291347A (zh) * | 2008-06-06 | 2008-10-22 | 中国科学院计算技术研究所 | 一种网络存储系统 |
CN101770413A (zh) * | 2010-01-07 | 2010-07-07 | 杭州华三通信技术有限公司 | 冗余磁盘阵列重建的方法及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN102053802A (zh) | 2011-05-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102053802B (zh) | 网络独立冗余磁盘阵列系统 | |
US11487619B2 (en) | Distributed storage system | |
EP0462917B1 (en) | Method and apparatus for recovering parity protected data | |
US6970987B1 (en) | Method for storing data in a geographically-diverse data-storing system providing cross-site redundancy | |
CN101291347B (zh) | 一种网络存储系统 | |
US9389958B2 (en) | File system driven raid rebuild technique | |
Chang et al. | Myriad: Cost-effective disaster tolerance | |
US8060772B2 (en) | Storage redundant array of independent drives | |
CN103761058B (zh) | Raid1和raid4混合结构网络存储系统及方法 | |
US20030041211A1 (en) | Dual axis RAID systems for enhanced bandwidth and reliability | |
US11422703B2 (en) | Data updating technology | |
JP2004118837A (ja) | 耐故障性の記憶サブシステムにデータを格納するための方法、記憶サブシステムおよびそのシステムのためのデータ編成管理プログラム | |
CN105404469A (zh) | 一种视频数据的存储方法和系统 | |
KR20160003657A (ko) | 비휘발성 메모리 시스템에서의 동기 미러링 | |
US11003558B2 (en) | Systems and methods for sequential resilvering | |
US20050091451A1 (en) | Methods of reading and writing data | |
CN103942112A (zh) | 磁盘容错方法、装置及系统 | |
CN112596673B (zh) | 具有双重raid数据保护的多活多控存储系统 | |
US20170277450A1 (en) | Lockless parity management in a distributed data storage system | |
CN102110154A (zh) | 一种集群文件系统中文件冗余存储方法 | |
US11449402B2 (en) | Handling of offline storage disk | |
CN110196818A (zh) | 缓存数据的方法、缓存设备和存储系统 | |
US11093339B2 (en) | Storage utilizing a distributed cache chain and a checkpoint drive in response to a data drive corruption | |
Gabber et al. | Data logging: A method for efficient data updates in constantly active RAIDs | |
Uehara et al. | Feasibility Study of Location-Conscious Multi-Site Erasure-Coded Ceph Storage for Disaster Recovery |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |