CN102508733A - 一种基于磁盘阵列的数据处理方法及磁盘阵列管理器 - Google Patents
一种基于磁盘阵列的数据处理方法及磁盘阵列管理器 Download PDFInfo
- Publication number
- CN102508733A CN102508733A CN2011102831415A CN201110283141A CN102508733A CN 102508733 A CN102508733 A CN 102508733A CN 2011102831415 A CN2011102831415 A CN 2011102831415A CN 201110283141 A CN201110283141 A CN 201110283141A CN 102508733 A CN102508733 A CN 102508733A
- Authority
- CN
- China
- Prior art keywords
- disk
- read
- write
- data block
- data
- 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
Links
Images
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明公开一种基于磁盘阵列的数据处理及其装置,数据存储系统中存储有用于记录发生读写失败的数据块所属条带和所在磁盘,以及对该数据块进行数据重建后重建数据块所在的热备磁盘的数据结构,磁盘阵列管理器根据数据结构对磁盘阵列进行读写;当读写失败时,在数据结构中记录发生读写失败的数据块所属条带和所在磁盘,并统计该条带中发生读写失败的数据块数量;若该数量未超过热备磁盘数量,则重建发生读写失败的数据块并将重建数据块写入热备磁盘的对应条块,并记录该重建数据块所在的热备磁盘;若该数量已超过热备磁盘数量,但所超出的数量未超过一个条带的容错能力,则重建发生读写失败的数据块。本发明可提高磁盘阵列对磁盘介质错误的容忍度。
Description
技术领域
本发明涉及通信技术领域的数据存储技术,尤其涉及一种基于磁盘阵列的数据处理方法及磁盘阵列管理器。
背景技术
在存储系统中,一般用磁盘阵列作为存储介质,通过RAID(RedundantArray of Independent Disks,独立硬盘冗余阵列)算法进行数据冗余,通过热备磁盘进行磁盘备份。
当磁盘阵列中的成员磁盘发生故障(即介质错误)时会导致数据读写失败,存储系统用热备磁盘将出现故障的成员磁盘顶替掉,通过RAID算法进行磁盘阵列重建,以继续保持数据冗余。在磁盘阵列重建开始后,存储系统依次将故障磁盘的数据按条带顺序写入热备磁盘的对应条块,在所有条带完成对应的写入后,存储系统将该故障磁盘踢出磁盘阵列,重建完成。如果存储系统中没有多余的热备磁盘,则磁盘阵列将发生故障的成员磁盘踢出阵列并降级运行,不再具有数据的冗余性。此时如果再有新的成员磁盘发生故障,则阵列失效,无法继续提供存储业务。在发生阵列失效后,可以通过其他专用的数据恢复工具将磁盘阵列中失效前已经保存的数据进行恢复,但是对失效后的数据则无能为力。
在监控存储的应用场景中,一般而言,监控系统中配置少量热备磁盘以为多个阵列备份,这样可以在降低成本的同时保证一定的数据冗余能力。当发生多于一块成员磁盘故障且没有热备磁盘的情况时,将导致磁盘阵列失效而无法继续进行监控数据保存。由于监控存储的数据流是24小时不间断写入,如果长时间没有人工进行介入,容易造成监控数据长时间丢失。
由此可见,目前的磁盘阵列故障处理机制对磁盘介质错误的容忍度较低。
发明内容
本发明提供一种基于磁盘阵列的数据处理方法及磁盘阵列管理器,用以提高磁盘阵列对磁盘介质错误的容忍程度。
本发明提供的基于磁盘阵列的数据处理方法,应用于数据存储系统,所述数据存储系统中存储有数据结构,用于记录发生读写失败的数据块所属的条带和所在的成员磁盘,以及对该数据块进行数据重建后重建数据块所在的热备磁盘,该方法包括:
磁盘阵列管理器根据所述数据结构对磁盘阵列进行读写;
当磁盘阵列发生读写失败时,磁盘阵列管理器在所述数据结构中记录发生读写失败的数据块所属的条带和所在的成员磁盘,并统计该条带中发生读写失败的数据块数量;
若该条带中发生读写失败的数据块数量未超过热备磁盘数量,则根据磁盘阵列校验算法重建发生读写失败的数据块并将重建数据块写入热备磁盘的对应条块,并记录该重建数据块所在的热备磁盘;
若该条带中发生读写失败的数据块数量已超过热备磁盘数量,但所超出的数量未超过一个条带所允许的发生读写失败的数据块的最大数量,则根据磁盘阵列校验算法重建发生读写失败的数据块;
若该条带中发生读写失败的数据块数量已超过热备磁盘数量,且所超出的数量超过一个条带所允许的发生读写失败的数据块的最大数量,则设置该条带失效。
本发明提供的磁盘阵列管理器,应用于数据存储系统,所述数据存储系统中存储有数据结构,用于记录发生读写失败的数据块所属的条带和所在的成员磁盘,以及对该数据块进行数据重建后重建数据块所在的热备磁盘,该磁盘阵列管理器包括:读写模块、数据结构维护模块、处理模块和数据重建模块,其中:
读写模块,用于根据所述处理模块的指示对磁盘阵列进行读写;
数据结构维护模块,用于当磁盘阵列发生读写失败时,在所述数据结构中记录发生读写失败的数据块所属的条带和所在的成员磁盘;以及,根据所述处理模块的指示,在所述读写模块将重建数据块写入热备磁盘后,在所述数据结构中记录该重建数据块所属的条带和所在的成员磁盘以及该热备磁盘;
数据重建模块,用于按照所述处理模块的指示,根据磁盘阵列校验算法重建发生读写失败的数据块;
处理模块,用于当磁盘阵列发生读写失败时,统计该条带中发生读写失败的数据块数量;若该条带中发生读写失败的数据块数量未超过热备磁盘数量,则指示所述数据重建模块根据磁盘阵列校验算法重建发生读写失败的数据块,并指示所述读写模块将重建数据块写入热备磁盘的对应条块,以及指示数据结构维护模块在该数据结构中记录该重建数据块所属的条带和所在的成员磁盘以及该热备磁盘;若该条带中发生读写失败的数据块数量已超过热备磁盘数量,但未超过一个条带所允许的发生读写失败的数据块的最大数量,则指示所述数据重建模块根据磁盘阵列校验算法重建发生读写失败的数据块;若该条带中发生读写失败的数据块数量已超过热备磁盘数量,且超过一个条带所允许的发生读写失败的数据块的最大数量,则指示所述数据结构维护模块在该数据结构中设置所述条带失效。
与现有技术相比,本发明具有如下有益技术效果:
在磁盘阵列发生读写失败时,由于在相应条带中发生读写失败的数据块数量未超过热备磁盘数量的情况下,通过在热备磁盘对该条带数据进行数据重建后将该热备磁盘加入该磁盘阵列,这样还能够保证该条带的冗余性,因此仍然将发生读写失败的成员磁盘保持在磁盘阵列中,提高了磁盘阵列的容错能力。即便磁盘阵列中有超过热备磁盘数量的多个成员磁盘发生读写失败,只要任意条带中发生读写失败的数据块数量超出热备磁盘数量的部分未超过该磁盘阵列所允许的容错能力,即使在磁盘阵列没有热备磁盘可用的情况下,仍然能够通过热备磁盘参与数据重建来保证相应条带的数据完整性,即保证磁盘阵列数据的完整性,存储系统可继续提供数据存储服务,从而提高了磁盘阵列的容错能力。
附图说明
图1为本发明实施例提供的基于磁盘阵列的数据处理流程示意图;
图2为本发明实施例提供的采用Hash表组织存储条块映射表的示意图;
图3A为本发明实施例中有一个磁盘发生介质错误并进行重建的示意图;
图3B为本发明实施例中有两个磁盘发生介质错误并进行重建的示意图;
图3C为本发明实施例中有三个磁盘发生介质错误并进行重建的示意图;
图3D、图3E、图3F为本发明实施例中加入新盘后的磁盘阵列重建的示意图;
图4A为现有技术中在有热备磁盘时发生磁盘介质错误时的示意图;
图4B为现有技术中在没有热备磁盘时发生磁盘介质错误时的示意图;
图5为本发明实施例提供的磁盘阵列管理器的结构示意图;
图6A、图6B和图6C分别为图5所示的磁盘阵列管理器中的处理模块的结构示意图;
图7A和图7B分别为图5所示的磁盘阵列管理器中的数据重建模块的结构示意图。
具体实施方式
下面结合附图对本发明实施例进行详细描述。
本发明实施例中,需要在存储系统中建立和维护条块映射表,该映射表用于记录发生读写失败的数据块(以下将“发生读写失败的数据块”简称为“坏块”)所属的条带和所在的成员磁盘。该条块映射表是磁盘阵列管理器能够正确对磁盘阵列进行数据读写的依据,还是对磁盘阵列进行重建的依据。条块映射表可存储在内存、NVRAM(Non-Volatile Random Access Memory,非易失性随机访问存储器)或其他永久存储介质中,通常可在存储系统初始化时创建条块映射表,在存储系统重新启动后,可从NVRAM或其他永久存储介质中读取该条块映射表并在内存中重建,以便磁盘阵列管理器根据该条块映射表进行数据读写。
例如,在磁盘阵列类型为RAID5且仅有一个热备磁盘(该热备磁盘的磁盘编号为n+1)的情况下,条带映射表的结构可如表1所示。
表1
其中,“条带状态”字段用于记录整个条带的状态,为可选字段,该字段的值可包括:
冗余,表示对应条带能实现数据冗余,在该条带中的坏块数量不超过热备磁盘数量时,设置该状态值。如,对于仅有1个热备磁盘的RAID5,在1个条带中有1个坏块的情况下,可使用热备磁盘和该条带上未发生读写失败的数据块重建该条带数据,从而能够根据磁盘阵列的成员磁盘和热备磁盘实现该条带的数据冗余,此时将该条带状态为冗余;
非冗余,表示对应条带不能实现数据冗余,在该条带中的坏块数量超过热备磁盘数量,但所超出的数值未超过该磁盘阵列所允许的最大磁盘错误数量(即未超过一个条带所允许的最大坏块数量)时,设置该状态值。如,对于仅有1个热备磁盘的RAID5,在1个条带中有2个坏块的情况下,可根据热备磁盘中的重建数据和该条带上未发生读写失败的成员磁盘恢复出发生读写失败的数据,但无法实现该条带的数据冗余(RAID5所允许的一个条带中最多只能有1个坏块,多于1个坏块时该条带的数据无法恢复),此时设置该条带状态为非冗余;
失效,表示对应条带失效,在该条带中的坏块数量超过热备磁盘数量,且所超出的数值已超过该磁盘阵列所允许的最大磁盘错误数量(即已超过一个条带所允许的最大坏块数量)时,设置该状态值。如,对于仅有1个热备磁盘的RAID5,在1个条带中有超过2个坏块的情况下,即使使用成员磁盘和热备磁盘中的重建数据也无法恢复出发生读写失败的数据,此时设置该条带状态为失效。
“成员磁盘对应的条带状态”字段用于记录成员磁盘在相应条带上是否发生读写失败,若发生读写失败则在对应表格中记录“错误”或类似标识。进一步的,如果对该发生读写失败的数据块进行了重建并存储在了热备磁盘上,则还可记录该重建后的数据块所在的热备磁盘,如表1中记录有成员磁盘1在条带1上发生读写失败,并在磁盘n+1中重建该数据;若未发生读写失败,则在对应的表格中记录“OK”或类似标识。
需要说明的是,以上条带映射表仅为一种具体实例,本领域技术人员应该能够理解,凡是能够记录发生读写失败的数据块所属的条带和所在的成员磁盘以及重建数据块所在的热备磁盘的数据结构,都应该在本发明的保护范围之内。
根据本发明实施例提供的条块映射表或类似数据结构,本发明实施例提供的数据处理流程可如图1所示(图1以条块映射表为例描述),磁盘阵列管理器对磁盘阵列进行读写,当磁盘阵列发生介质错误导致读写失败时,其处理流程可包括:
步骤101,磁盘阵列管理器在条块映射表中记录发生读写失败的数据块所属的条带和所在的成员磁盘,并统计该条带中发生读写失败的数据块数量。
在具体实施时,磁盘阵列管理器可在如表1所示的条块映射表中相应的条带下,在发生读写失败的成员磁盘所在的表格中记录“错误”,以表示该成员磁盘的该条带发生了读写失败。
步骤102,磁盘阵列管理器根据条带中发生读写失败的数据块数量、热备磁盘数量和一个条带的容错能力(即在能够保证数据完整性的情况,一个条带所允许的最大坏块数量,或者说一个条带所允许的介质错误磁盘的最大数量),确定对应的处理方式。由于不同磁盘阵列类型所采用的容错算法不同,因此容错能力可能不同,如RAID5允许一个条带中最多有1个坏块,RAID10允许一个条带中有2个坏块。
具体的,若该条带中发生读写失败的数据块数量未超过热备磁盘数量,则转入步骤103;若该条带中发生读写失败的数据块数量已超过热备磁盘数量,但所超出的数量未超过一个条带所允许的最大坏块数量,则转入步骤104;若该条带中发生读写失败的数据块数量已超过热备磁盘数量,且所超出的数量已超过一个条带所允许的最大坏块数量,则转入步骤105。
步骤103,磁盘阵列管理器使用热备磁盘参与条带重建,即,根据磁盘阵列校验算法重建发生读写失败的数据块并将重建数据块写入热备磁盘的对应条块,并在条块映射表中记录该重建数据块所在的热备磁盘。
具体实施时,磁盘阵列管理器可在如表1所示的条块映射表中相应的条带中,在发生读写失败的成员磁盘所在的表格中记录热备磁盘的磁盘号,表示在相应磁盘中已经针对该发生读写失败的数据块对应写入了重建数据。进一步的,还可在“条带状态”字段记录“冗余”,表示该条带中的某成员磁盘虽然发生读写失败,但通过在热备磁盘中进行数据块重建,还可根据该条带中未发生读写失败的成员磁盘和热备磁盘中重建的数据块实现该条带的数据冗余。
步骤104,磁盘阵列管理器根据磁盘阵列校验算法重建发生读写失败的数据块。
具体实施时,磁盘阵列管理器还可在如表1所示的条块映射表中相应的条带的“条带状态”字段记录“未冗余”,表示该条带中虽然有超过1个的成员磁盘发生读写失败,但通过在热备磁盘中进行数据块重建,还可根据该条带中未发生读写失败的成员磁盘和热备磁盘中重建的数据块保证该条带的数据完整性,但已无法实现该条带的数据冗余。
步骤105,磁盘阵列管理器设置该发生数据读写失败的数据块所属的条带为失效状态。
具体实施时,磁盘阵列管理器可在如表1所示的条块映射表中相应的条带的“条带状态”字段记录“失效”,表示该条带的数据已经无法保证完整性,该条带已经不能再使用。
上述流程中,磁盘阵列管理器在对磁盘阵列进行读写时,需要依据本发明实施例提供的条块映射表。具体的,磁盘阵列管理器在读写某个条带上的数据时,若根据条块映射表发现该条带正常(即条块映射表中的对应条带下未记录有发生读写失败的数据块),则按照常规方式进行读写;若根据条块映射表发现该条带的状态为“冗余”或“非冗余”,则根据其中记录的重建数据块所在的热备磁盘,通过该热备磁盘上的该条带上的数据块和磁盘阵列中该条带中未发生读写失败的数据块进行数据读写;若根据条块映射表发现该条带的状态为“失效”,则返回读写失败响应。
进一步的,为了提高对磁盘阵列进行读写的过程中,对条块映射表的查询效率,可在存储系统内存中用快速的查询算法组织条块映射表,例如使用红黑树或者Hash表等。图2示出了一种采用Hash表组织存储条块映射表的示意图。
通过以上流程可以看出,在磁盘阵列发生读写失败时,由于在相应条带中发生读写失败的数据块数量未超过热备磁盘数量的情况下,通过在热备磁盘对该条带数据进行数据重建后将该热备磁盘加入该磁盘阵列,这样还能够保证该条带的冗余性,因此仍然将发生读写失败的成员磁盘保持在磁盘阵列中。如果磁盘阵列中发生读写失败的数据块所属的条带中发生读写失败的数据块数量都未超过热备磁盘数量,那么对于整个磁盘阵列来说,依然能够保持数据的冗余性,整个过程不需要新的热备磁盘参与。而在现有技术中,由于重建后发生读写失败的磁盘被踢出,如果没有新的热备磁盘参与重建,则磁盘阵列无法保持数据的冗余性。
进一步的,本发明实施例中,即便磁盘阵列中有超过热备磁盘数量的多个成员磁盘发生读写失败,只要任意条带中发生读写失败的数据块数量超出热备磁盘数量的部分未超过该磁盘阵列所允许的容错能力,即使在磁盘阵列没有热备磁盘可用的情况下,仍然能够通过热备磁盘参与数据重建来保证相应条带的数据完整性,即保证磁盘阵列数据的完整性,存储系统可继续提供数据存储服务,但此时不能保证数据的冗余性。而在现有技术中,在相同的情况下,磁盘阵列就会失效。
由此可见,本发明实施例提供的数据处理方式与现有技术相比,提高了磁盘阵列对磁盘介质错误的容忍程度。
为了避免占用存储系统内存过多,以导致查询效率过低,以及重新运行磁盘阵列时恢复速度过慢,考虑到磁盘阵列的实际应用场合,可以设置磁盘阵列允许发生介质错误的条带数量的上限。相应的,上述流程可以改进为:当磁盘阵列发生读写失败时,磁盘阵列管理器根据条块映射表判断发生读写失败的条带数量是否达到该设定的上限,并在判断发生读写失败的条带数量达到该设定的上限时,设置磁盘阵列失效;在判断发生读写失败的条带数量还未达到该设定的上限时,按照图1所示的流程执行。
在磁盘阵列发生介质错误后,采用本发明实施例可一定程度上提高系统的容错能力。但为了避免磁盘阵列中存在过多的有介质错误的磁盘,导致磁盘阵列的可靠性变差,可在发生介质错误的磁盘数量超过一定值,或者发生介质错误的条带数量超过一定值的情况下,新增加热备磁盘,并用新增加的热备磁盘或原热备磁盘顶替磁盘阵列中发生介质错误的磁盘,优选的,优先顶替介质错误造成的坏块数量最多的磁盘。
具体实施时,可通过人工介入方式进行磁盘阵列重建,即允许用户通过管理命令进行重建,重建完成后踢出含有介质错误的磁盘。为保证存储系统的可靠性,踢盘前要求磁盘阵列的所有条带至少保证数据的完整性,如不存在状态为“失效”的条带。重建后踢盘存在以下几种情况:
情况一:踢盘前没有发生过热备磁盘加入阵列的情况,阵列的磁盘为该阵列创建时的磁盘;
情况二:踢盘前发生过热备磁盘加入阵列的情况,阵列的磁盘包含创建时的磁盘和加入后的热备磁盘,但是仅被重建的磁盘有介质错误;
情况三:踢盘前发生过热备磁盘加入阵列的情况,阵列的磁盘包含创建时的磁盘和加入后的热备磁盘,除被重建磁盘外,还有其他数据盘有介质错误。
对于情况一,可采用和现有技术实现相同的方法进行重建后踢盘,唯一不同的是由于本发明实施例允许有介质错误的磁盘保留在阵列中,因此重建完后,阵列中仍然可能有其他有介质错误的磁盘,此时除非继续重建,否则阵列仍然处于不保证数据冗余性的状态。
对于情况二,只需要把被重建盘踢出阵列即可。
对于情况三,当使用热备磁盘替换发生读写失败的磁盘并增加新的热备磁盘进行磁盘阵列重建时,一种具体实现是:磁盘阵列管理器根据条块映射表,将原热备磁盘中除该被替换成员磁盘以外的其它成员磁盘的数据写入新的热备磁盘中的相应条带,在该新的热备磁盘的其余条带中写入除该被替换成员磁盘以外的一个发生读写失败的成员磁盘的相应条带的数据;磁盘阵列管理器根据条块映射表,将被替换成员磁盘中未发生读写失败的数据块写入原热备磁盘中的相应条带,然后使用原热备磁盘替换被替换成员磁盘,并将被替换成员磁盘踢出磁盘阵列。
为了进一步对本发明的上述实施例的实现过程进行详细说明,下面以磁盘阵列类型为RAID5、存储系统中仅有1个热备磁盘为例,描述上述流程的具体实现过程。其中,RAID5中包括3个成员磁盘(磁盘1、磁盘2、磁盘3),磁盘4为热备磁盘。
初始时,RAID5中的各成员磁盘工作正常,未发生介质错误,此时条块映射表中没有记录。
RAID5中条带1上的磁盘1发生介质错误(即数据块D3发生读写失败),如图3A所示,阵列管理器在条块映射表中添加条目0,记录条带1上的成员磁盘1发生介质错误。由于条带1当前发生介质错误的成员磁盘数为1,未超过热备磁盘数量,则阵列管理器通过RAID5冗余算法计算得到读写失败的数据块D3’,并将该数据块D3’存储到磁盘4中的条带1的位置,从而实现重建,然后在条块映射表中相应位置记录热备磁盘(磁盘4),并将条带1的状态设为“冗余”,此时的条块映射表可如表3A所示。
表3A
如图3A所示,由于磁盘1发生介质错误后,仍然保持在磁盘阵列中,在重建后,需要维护重建盘(即磁盘4)和被重建盘(即磁盘1)的关系,后续其他成员磁盘再次发生介质错误时,该关系仍然保持不变(该关系用于重建后的踢盘处理)。具体的,热备磁盘第一次重建时,对磁盘1的条块全部重建,即,磁盘阵列管理器可在将重建数据块存储到磁盘4后,将磁盘1上的未发生读写失败的数据块复制到磁盘4的对应条带,如图中所示,将磁盘1上的数据块D1......Dm中的数据写入磁盘4的数据块D1’......Dm’。
使用热备磁盘重建完成后,磁盘1后续的写IO操作,除了要写磁盘1外,还要写与之对应的重建盘(这里是磁盘4)中对应的条带数据。例如,在写图3A所示的磁盘1的数据块D1、Dm时,还要写磁盘4的数据块D1’、Dm’。
之后,RAID5中条带j上的磁盘2发生介质错误(即图中磁盘2的数据块Pj),如图3B所示,阵列管理器在条块映射表中添加条目1,记录条带j上的成员磁盘2发生介质错误。由于条带j当前发生介质错误的成员磁盘数为1,未超过热备磁盘数量,则阵列管理器通过RAID5冗余算法计算得到读写失败的数据块Pj’,并将该数据块Pj’存储到磁盘4中的条带j的位置,从而实现重建,然后在条块映射表中相应位置记录热备磁盘(磁盘4),并将条带j的状态设为“冗余”,此时的条块映射表可如表3B所示。
表3B
可以看出,后续发生介质错误,热备磁盘再次重建时,仅重建发生介质错误的条带,重建完成后所有条带保持冗余性,也即阵列保持冗余性。
使用热备磁盘重建完成后,磁盘1后续的写IO操作,除了要写磁盘1外,还要写与之对应的重建盘(这里是磁盘4)中对应的条带数据。但是在写Dj时,由于磁盘2的数据块Pj已经发生了介质错误,因此不能写磁盘4的Pj’。
之后,如图3C所示,磁盘3在条带p上发生介质错误,其处理方式同前所述,此时的条块映射表可如表3C所示。
表3C
之后,加入热备磁盘5进行重建。如图3C中的阵列的磁盘1、2、3都有介质错误的坏块,现在根据重建盘(磁盘4)和被重建盘(磁盘1)的关系,在有新的热备磁盘的情况下,可以踢出磁盘1。由图3C可以看出,考虑阵列允许发生介质错误的条带数量的上限和阵列的全部条带数量的比例,磁盘4上的条块大部份是磁盘1的条块的备份(例如图3C中的磁盘4中除了条块Pj’、Pp’),因此在重建时仅需要重建磁盘4上的部分条块,这些条块不是磁盘1的备份,然后将磁盘4顶替磁盘1作为阵列的成员磁盘,将磁盘1踢出阵列,然后继续将热备磁盘重建完成。
其中,如图3D所示,首先,将磁盘4的条块Pj和Pp′被拷贝到磁盘5的对应位置;然后,如图3E所示,将磁盘1的条块Dj和Dp拷贝到磁盘4的对应位置(即步骤1中的条块Pj′和Pp′)。此时如果Dj也发生了介质错误,则需要通过Dk、Pj′来通过RAID5算法计算得到条块Dj的数据;最后,如图3F所示,重建完成后用磁盘4顶替磁盘1,将磁盘1踢出阵列,从有介质错误的多块磁盘中选择一块,例如这里选择磁盘2,然后继续对磁盘2进行重建,重建完成后整个重建踢盘过程结束。此时的条块映射表可如表3F所示。
表3F
现有技术中,如图4A所示,当磁盘1的D3发生介质错误后,热备磁盘磁盘4顶替重建,重建完后磁盘阵列踢出磁盘1,此时磁盘2的Pj又发生介质错误,阵列降级。如图4B所示,磁盘1发生介质错误后,磁盘1从阵列中踢出,磁盘2再发生介质错误后,导致阵列失效。
通过以上对比可以看出,在相同数量的热备磁盘的情况下,当RAID5阵列中的磁盘发生介质错误后,只要发生介质错误的条块不属于同一个条带,那么通过本发明实施例可以得到磁盘阵列的更高的数据冗余度。在RAID5阵列没有热备磁盘可用的情况下,只要任意条带中发生介质错误的条块个数小于2,仍然可以保证阵列的数据的完整性,继续为监控业务提供数据存储服务。
基于相同的技术构思,本发明实施例还提供了一种可应用于上述流程的磁盘阵列管理器。
参见图5,为本发明实施例提供的磁盘阵列管理器的结构示意图。如前所述,该磁盘阵列管理器应用于数据存储系统,该数据存储系统中存储有数据结构,用于记录发生读写失败的数据块所属的条带和所在的成员磁盘,以及对该数据块进行数据重建后重建数据块所在的热备磁盘。该数据结构可为前述的条块映射表。该磁盘阵列管理器包括:读写模块501、数据结构维护模块502、处理模块503和数据重建模块504,进一步的,该磁盘阵列管理器还可与显示设备和输入设备连接,其中:
读写模块501,用于根据处理模块503的处理结果(即处理指示)对磁盘阵列进行读写;
具体的,读写模块501在根据处理模块503的处理结果对磁盘阵列进行读写的过程中,若处理模块503根据对所述数据结构的处理,发现当前数据块所属条带存在有读写失败的数据块并对应记录有重建数据块所在的热备磁盘,则根据该条带中未发生读写失败的成员磁盘和该热备磁盘进行数据读写。例如,在读写某个条带上的数据时,若根据条块映射表发现该条带正常(即条块映射表中的对应条带下未记录有发生读写失败的数据块),则按照常规方式进行读写;若根据条块映射表发现该条带的状态为“冗余”或“非冗余”,则根据其中记录的重建数据块所在的热备磁盘,通过该热备磁盘上的该条带上的数据块和磁盘阵列中该条带中未发生读写失败的数据块进行数据读写;若根据条块映射表发现该条带的状态为“失效”,则返回读写失败响应。
数据结构维护模块502,用于根据处理模块503的指示维护该数据结构,包括:当磁盘阵列发生读写失败时,在该数据结构中记录发生读写失败的数据块所属的条带和所在的成员磁盘;以及,在读写模块501将重建数据块写入热备磁盘后,在该数据结构中记录该重建数据块所属的条带和所在的成员磁盘以及该热备磁盘,并记录磁盘阵列各条带发生读写失败的数据块数量。
处理模块503,用于当磁盘阵列发生读写失败时,统计该条带中发生读写失败的数据块数量;若该条带中发生读写失败的数据块数量未超过热备磁盘数量,则指示数据重建模块504根据磁盘阵列校验算法重建发生读写失败的数据块并将数据重建模块504所重建的数据块通过读写模块501写入热备磁盘的对应条块,以及指示数据结构维护模块502在该数据结构中记录该重建数据块所属的条带和所在的成员磁盘以及该热备磁盘;若该条带中发生读写失败的数据块数量已超过热备磁盘数量,但未超过一个条带所允许的发生读写失败的数据块的最大数量,则指示数据重建模块504根据磁盘阵列校验算法重建发生读写失败的数据块;若该条带中发生读写失败的数据块数量已超过热备磁盘数量,且超过一个条带所允许的发生读写失败的数据块的最大数量,则指示数据结构维护模块502在所述数据结构中设置所述条带失效,并可进一步发送读写失败响应。具体地,处理模块503可将读写失败响应返回给数据读写请求的发起者(如相关业务模块),还可发送给显示设备进行显示,或者根据读写失败响应生成响应告警信息并发送给显示设备进行显示,以使系统管理员通过显示设备所显示输出的内容及时发现磁盘阵列存在的问题,并及时采取相应措施。
处理模块503在统计条带中发生读写失败的数据块数量时,可通过查询数据结构中记录的数据进行统计(如图5中的虚线所示);在数据结构维护模块记录有磁盘阵列各条带发生读写失败的数据块数量时,也可通过数据结构维护模块502获得统计值。
数据重建模块504,用于按照处理模块503的指示,根据磁盘阵列校验算法重建数据块,并将重建数据块通过读写模块501写入热备磁盘。处理模块503在指示数据重建模块504进行数据块重建时,可在指示中携带条块等参数,数据重建模块504可根据该参数确定重建哪个条块以及将重建数据块写入热备磁盘的哪个条块。
其中,处理模块503的一种结构可如图6A所示,包括:失败处理单元602、统计单元603、第一判断单元604,其中:
失败处理单元602,用于当磁盘阵列发生读写失败时,指示数据结构维护模块502在所述数据结构中记录发生读写失败的数据块所属的条带和所在的成员磁盘,并指示统计单元603在数据结构维护模块502记录发生读写失败的数据块所属的条带和所在的成员磁盘后,统计该条带中发生读写失败的数据块数量;
统计单元603,用于根据所述失败处理单元602的指示,在数据结构维护模块502记录发生读写失败的数据块所属的条带和所在的成员磁盘后,统计该条带中发生读写失败的数据块数量,如前所述,统计单元603可通过查询数据结构或根据数据结构维护模块502进行统计;统计单元603在统计出发生读写失败的数据块数量后,触发第一判断单元604进行处理;
第一判断单元604,用于当统计单元603统计出的数据块数量未超过热备磁盘数量时,指示数据重建模块504重建发生读写失败的数据块,并指示数据结构维护模块502在读写模块501将数据重建模块504所重建的数据块写入热备磁盘后,在所述数据结构中记录该重建数据块所属的条带和所在的成员磁盘以及该热备磁盘;当统计单元603统计出的数据块数量已超过热备磁盘数量,但未超过一个条带所允许的发生读写失败的数据块的最大数量时,指示数据重建模块504重建发生读写失败的数据块;当统计单元603统计出的数据块数量已超过热备磁盘数量,且超过一个条带所允许的发生读写失败的数据块的最大数量时,指示数据结构维护模块502将该条带标记为失效,直接返回读写失败响应。
处理单元503的另一种结构可如图6B所示,即在图6A所示的结构的基础上增加第二判断单元606。相应的,统计单元603在磁盘阵列发生读写失败时,根据数据结构维护模块502的记录统计发生读写失败的条带数量;第二判断单元606判断统计单元603统计出的发生读写失败的条带数量是否达到设定阈值,若判断发生读写失败的条带数量达到设定阈值,则设置该磁盘阵列失效,进一步的,第二判断单元606可讲磁盘阵列失效的信息输出给显示设备进行显示输出;若判断发生读写失败的条带数量未达到设定阈值,则指示第一判断单元603进行处理。第一判断单元603的具体处理过程如前所述,此处略。
进一步的,在图6A或6B所示的处理模块503中还可包括第三判断单元607。图6C示出了在图6A的基础上增加第三判断单元607的示意图,该第三判断单元用于判断是否第一次将重建数据块写入热备磁盘中的相应条块(可根据数据结构维护模块502的记录,或者根据数据结构维护模块502所维护的数据结构进行判断),若是,则指示读写模块501将本次发生读写失败的数据块所在成员磁盘中未发生读写失败的各条带的数据块对应写入该热备磁盘中的相应条块;以及,当向该成员磁盘再次写入数据时,还根据所述数据结构或根据数据结构维护模块502的记录,判断热备磁盘中的对应条块是否存储有该成员磁盘的数据,并在判断为是时,指示读写模块501向该热备磁盘中的该条块写入相同的数据。如果判断为否,则说明热备磁盘中的对应条块存储有其它成员磁盘的重建数据块,此种情况下,不重写热备磁盘中的该条块。
进一步的,上述磁盘阵列管理器中的数据重建模块504还可在接收到使用热备磁盘替换发生读写失败的磁盘并增加新的热备磁盘进行磁盘阵列重建的指示后,根据所述数据结构,指示读写模块501将原热备磁盘中除该被替换成员磁盘以外的其它成员磁盘的数据写入新的热备磁盘中的相应条块,在该新的热备磁盘的其余条块中写入除该被替换成员磁盘以外的一个发生读写失败的成员磁盘的相应条带的数据;根据所述数据结构,指示读写模块501将被替换成员磁盘中未发生读写失败的数据块写入原热备磁盘中的相应条带;以及,在将原热备磁盘替换被替换成员磁盘后,将被替换成员磁盘踢出磁盘阵列。
如图7A所示,数据重建模块504具体包括:接收单元701、重建单元703、踢盘处理单元704,其中:
接收单元701,用于接收处理模块503发出的重建指示。该重建指示包括磁盘错误数据块重建指示或磁盘阵列重建指示。
进一步地,当所述重建指示为磁盘错误数据块指示时,该指示中可以包含以下参数:重建条带的编号、错误磁盘的编号、重建错误条块的目标热备磁盘的编号等,以便数据重建模块504可根据该等参数确定重建哪个条块以及将重建数据块写入热备磁盘的哪个条块。
当所述重建指示为磁盘阵列重建指示时,该指示中可包含以下参数:被替换的成员磁盘的编号(该参数可选),新的热备磁盘的编号,以及新的与热备磁盘对应的成员磁盘的编号,该新的与热备磁盘对应的成员磁盘可以是原磁盘阵列中除当前被替换的成员磁盘以外的一个存在坏块的磁盘,为保证数据可靠性,该磁盘上应没有失效状态的数据块。用户可通过与磁盘阵列管理器的处理模块503连接的输入设备发出磁盘阵列重建指示,处理模块503在接收到磁盘阵列重建指示后,向接收单元701发送磁盘阵列重建指示。
重建单元703,用于根据接收单元701接收到的具体重建指示,进行磁盘错误数据块重建或者进行磁盘阵列的重建,具体地,
当重建指示为磁盘上错误数据块重建,则重建单元703根据磁盘阵列校验算法重建数据块,由于在重建过程在前面已做详细描述,在此略。
当重建指示为使用热备磁盘替换发生读写失败的磁盘并增加新的热备磁盘进行磁盘阵列重建的指示时,则重建单元703根据所述数据结构或数据结构维护模块503的记录,指示读写模块501将原热备磁盘中除该被替换成员磁盘以外的其它成员磁盘的数据写入新的热备磁盘中的相应条块,在该新的热备磁盘的其余条块中写入除该被替换成员磁盘以外的一个发生读写失败的成员磁盘的相应条带的数据(如可根据磁盘阵列重建指示中的与热备磁盘对应的成员磁盘的编号来确定该“除该被替换成员磁盘以外的一个发生读写失败的成员磁盘”);以及,根据所述数据结构或数据结构维护模块503的记录,指示读写模块501将被替换成员磁盘中未发生读写失败的数据块写入原热备磁盘中的相应条带;
踢盘处理单元704,用于在将原热备磁盘替换被替换成员磁盘后,将被替换成员磁盘踢出磁盘阵列。具体的,重建单元703完成磁盘阵列重建后可指示踢盘处理单元704进行踢盘处理。
进一步地,如图7B所示,数据重建模块504还可进一步包括选择单元702,用于在接收单元701接收到磁盘阵列重建指示后,在该指示中没有携带被替换的成员磁盘的编号的情况下,根据所述数据结构或数据结构维护模块502的记录,选择出发生读写失败的数据块最多的成员磁盘作为被替换成员磁盘;如果该指示中包含有被替换的成员磁盘的编号,则选择单元702可根据该参数选择被替换成员磁盘。选择单元702将选择出的被替换成员磁盘的编号通知重建单元703以便重建单元703进行磁盘阵列重建。
综上所述,本发明实施例通过优化数据存储系统,提高了对磁盘介质错误进行容忍的程度,降低磁盘发生介质错误后磁盘阵列失效的概率,更好的贴近监控存储的用户需求,具体的,对于RAID5来说:
(1)允许磁盘阵列中存在多于一块发生介质错误的磁盘,只要磁盘阵列中任意条带不超过2块条块发生介质错误,且磁盘阵列能够使用一块热备磁盘,则保证数据的冗余性;
(2)允许磁盘阵列中存在多于一块发生介质错误的磁盘,只要磁盘阵列中任意条带不超过2块条块发生介质错误,即使磁盘阵列没有热备磁盘可用的情况下,仍然保证系统继续提供数据存储服务,但不保证数据的冗余性;
(3)上述优化是在阵列没有热备磁盘可用的情况下进行介质错误容忍,当有热备磁盘可用时,仍然可以选择在重建后踢盘。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台终端设备(可以是手机,个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视本发明的保护范围。
Claims (14)
1.一种基于磁盘阵列的数据处理方法,应用于数据存储系统,其特征在于,所述数据存储系统中存储有数据结构,用于记录发生读写失败的数据块所属的条带和所在的成员磁盘,以及对该数据块进行数据重建后重建数据块所在的热备磁盘,该方法包括:
磁盘阵列管理器根据所述数据结构对磁盘阵列进行读写;
当磁盘阵列发生读写失败时,磁盘阵列管理器在所述数据结构中记录发生读写失败的数据块所属的条带和所在的成员磁盘,并统计该条带中发生读写失败的数据块数量;
若该条带中发生读写失败的数据块数量未超过热备磁盘数量,则根据磁盘阵列校验算法重建发生读写失败的数据块并将重建数据块写入热备磁盘的对应条块,并记录该重建数据块所在的热备磁盘;
若该条带中发生读写失败的数据块数量已超过热备磁盘数量,但所超出的数量未超过一个条带所允许的发生读写失败的数据块的最大数量,则根据磁盘阵列校验算法重建发生读写失败的数据块;
若该条带中发生读写失败的数据块数量已超过热备磁盘数量,且所超出的数量超过一个条带所允许的发生读写失败的数据块的最大数量,则设置该条带失效。
2.如权利要求1所述的方法,其特征在于,当磁盘阵列发生读写失败时,该方法还包括:
磁盘阵列管理器根据所述数据结构判断发生读写失败的条带数量是否达到设定阈值,并在判断发生读写失败的条带数量达到设定阈值时,设置所述磁盘阵列失效。
3.如权利要求1所述的方法,其特征在于,在第一次将重建数据块写入热备磁盘中的相应条块时,磁盘阵列管理器还将本次发生读写失败的数据块所在成员磁盘中未发生读写失败的各条带的数据块对应写入该热备磁盘中的相应条块;
当磁盘阵列管理器向该成员磁盘再次写入数据时,磁盘阵列管理器还根据所述数据结构判断热备磁盘中的对应条块是否存储有该成员磁盘的数据,并在判断为是时,向该热备磁盘中的该条块写入相同的数据。
4.如权利要求1所述的方法,其特征在于,所述磁盘阵列管理器根据所述数据结构对磁盘阵列进行读写的过程中,若根据所述数据结构发现当前数据块所属条带存在有读写失败的数据块并对应记录有重建数据块所在的热备磁盘,则根据该条带中未发生读写失败的成员磁盘和该热备磁盘进行数据读写。
5.如权利要求1所述的方法,其特征在于,还包括:
当使用所述热备磁盘替换发生读写失败的磁盘并增加新的热备磁盘进行磁盘阵列重建时,磁盘阵列管理器执行:
根据所述数据结构,将原热备磁盘中除该被替换成员磁盘以外的其它成员磁盘的数据写入新的热备磁盘中的相应条带,在该新的热备磁盘的其余条带中写入除该被替换成员磁盘以外的一个发生读写失败的成员磁盘的相应条带的数据;
根据所述数据结构,将被替换成员磁盘中未发生读写失败的数据块写入原热备磁盘中的相应条带;
使用原热备磁盘替换被替换成员磁盘,并将被替换成员磁盘踢出磁盘阵列。
6.如权利要求5所述的方法,其特征在于,所述被替换成员磁盘是所述磁盘管理服务器根据所述数据结构选择出的发生读写失败的数据块最多的成员磁盘。
7.如权利要求1-6之一所述的方法,其特征在于,在所述数据存储系统中使用1个热备磁盘,以及所述磁盘阵列为RAID5的情况下:
当磁盘阵列发生读写失败时,磁盘阵列管理器在所述数据结构中记录发生读写失败的数据块所属的条带和所在的成员磁盘,并统计该条带中发生读写失败的数据块数量;
若该条带中发生读写失败的数据块数量为1,则根据磁盘阵列校验算法重建发生读写失败的数据块并将重建数据块写入热备磁盘的对应条块,并记录该重建数据块所在的热备磁盘;
若该条带中发生读写失败的数据块数量为2,则根据磁盘阵列校验算法重建发生读写失败的数据块;
若该条带中发生读写失败的数据块数量大于2,则设置该条带失效。
8.一种磁盘阵列管理器,应用于数据存储系统,其特征在于,所述数据存储系统中存储有数据结构,用于记录发生读写失败的数据块所属的条带和所在的成员磁盘,以及对该数据块进行数据重建后重建数据块所在的热备磁盘,该磁盘阵列管理器包括:读写模块、数据结构维护模块、处理模块和数据重建模块,其中:
读写模块,用于根据所述处理模块的指示对磁盘阵列进行读写;
数据结构维护模块,用于当磁盘阵列发生读写失败时,在所述数据结构中记录发生读写失败的数据块所属的条带和所在的成员磁盘;以及,根据所述处理模块的指示,在所述读写模块将重建数据块写入热备磁盘后,在所述数据结构中记录该重建数据块所属的条带和所在的成员磁盘以及该热备磁盘;
数据重建模块,用于按照所述处理模块的指示,根据磁盘阵列校验算法重建发生读写失败的数据块;
处理模块,用于当磁盘阵列发生读写失败时,统计该条带中发生读写失败的数据块数量;若该条带中发生读写失败的数据块数量未超过热备磁盘数量,则指示所述数据重建模块根据磁盘阵列校验算法重建发生读写失败的数据块,并指示所述读写模块将重建数据块写入热备磁盘的对应条块,以及指示数据结构维护模块在该数据结构中记录该重建数据块所属的条带和所在的成员磁盘以及该热备磁盘;若该条带中发生读写失败的数据块数量已超过热备磁盘数量,但未超过一个条带所允许的发生读写失败的数据块的最大数量,则指示所述数据重建模块根据磁盘阵列校验算法重建发生读写失败的数据块;若该条带中发生读写失败的数据块数量已超过热备磁盘数量,且超过一个条带所允许的发生读写失败的数据块的最大数量,则指示所述数据结构维护模块在该数据结构中设置所述条带失效。
9.如权利要求8所述的磁盘阵列管理器,其特征在于,所述处理模块,包括:失败处理单元、统计单元和第一判断单元,其中:
失败处理单元,用于当磁盘阵列发生读写失败时,指示所述数据结构维护模块在所述数据结构中记录发生读写失败的数据块所属的条带和所在的成员磁盘,并指示所述统计单元统计该条带中发生读写失败的数据块数量;
统计单元,用于根据所述失败处理单元的指示,统计该条带中发生读写失败的数据块数量;
第一判断单元,用于当所述统计单元统计出的数据块数量未超过热备磁盘数量时,指示所述数据重建模块重建发生读写失败的数据块,并指示所述数据结构维护模块在所述读写模块将所述数据重建模块所重建的数据块写入热备磁盘后,在所述数据结构中记录该重建数据块所属的条带和所在的成员磁盘以及该热备磁盘;当所述统计单元统计出的数据块数量已超过热备磁盘数量,但未超过一个条带所允许的发生读写失败的数据块的最大数量时,指示所述数据重建模块重建发生读写失败的数据块;当所述统计单元统计出的数据块数量已超过热备磁盘数量,且超过一个条带所允许的发生读写失败的数据块的最大数量时,指示所述数据结构维护模块将该条带标记为失效。
10.如权利要求9所述的磁盘阵列管理器,其特征在于,所述处理模块,还包括:第二判断单元;
所述统计单元,还用于当磁盘阵列发生读写失败时,统计发生读写失败的条带数量;
所述第二判断单元,用于判断所述统计单元统计出的发生读写失败的条带数量是否达到设定阈值,若判断发生读写失败的条带数量达到设定阈值,则设置所述磁盘阵列失效;若判断发生读写失败的条带数量未达到设定阈值,则指示所述第一判断单元进行处理。
11.如权利要求9或10所述的磁盘阵列管理器,其特征在于,所述处理模块,还包括:
第三判断单元,用于判断是否第一次将重建数据块写入热备磁盘中的相应条块,若是,则指示所述读写模块将本次发生读写失败的数据块所在成员磁盘中未发生读写失败的各条带的数据块对应写入该热备磁盘中的相应条块;以及,当向该成员磁盘再次写入数据时,还根据所述数据结构判断热备磁盘中的对应条块是否存储有该成员磁盘的数据,并在判断为是时,指示所述读写模块向该热备磁盘中的该条块写入相同的数据。
12.如权利要求9所述的磁盘阵列管理器,其特征在于,所述处理模块具体用于:在指示所述读写模块根据所述数据结构对磁盘阵列进行读写的过程中,若根据所述数据结构发现当前数据块所属条带存在有读写失败的数据块并对应记录有重建数据块所在的热备磁盘,则指示所述读写模块根据该条带中未发生读写失败的成员磁盘和该热备磁盘进行数据读写。
13.如权利要求9所述的磁盘阵列管理器,其特征在于,所述数据重建模块,包括:
接收单元,用于接收所述处理模块503发出的重建指示,所述重建指示包括磁盘错误数据块重建指示,或者是使用热备磁盘替换发生读写失败的磁盘并增加新的热备磁盘进行磁盘阵列重建的指示;
重建单元,用于根据所述接收单元接收到的重建指示,进行磁盘错误数据块重建或进行磁盘阵列的重建;其中,当重建指示为磁盘上错误数据块重建时,根据磁盘阵列校验算法重建数据块;当重建指示为使用热备磁盘替换发生读写失败的磁盘并增加新的热备磁盘进行磁盘阵列重建的指示时,根据所述数据结构,指示所述读写模块将原热备磁盘中除该被替换成员磁盘以外的其它成员磁盘的数据写入新的热备磁盘中的相应条块,在该新的热备磁盘的其余条带中写入除该被替换成员磁盘以外的一个发生读写失败的成员磁盘的相应条带的数据;以及,根据所述数据结构,指示所述读写模块将被替换成员磁盘中未发生读写失败的数据块写入原热备磁盘中的相应条带;
踢盘处理单元,用于在将原热备磁盘替换被替换成员磁盘后,将被替换成员磁盘踢出磁盘阵列。
14.如权利要求13所述的磁盘阵列管理器,其特征在于,所述数据重建模块,还包括:
选择单元,用于在所述接收单元接收到磁盘阵列重建指示后,根据所述数据结构选择出发生读写失败的数据块最多的成员磁盘作为被替换成员磁盘,并将选择出的被替换成员磁盘通知给所述重建单元。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110283141.5A CN102508733B (zh) | 2011-09-22 | 2011-09-22 | 一种基于磁盘阵列的数据处理方法及磁盘阵列管理器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110283141.5A CN102508733B (zh) | 2011-09-22 | 2011-09-22 | 一种基于磁盘阵列的数据处理方法及磁盘阵列管理器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102508733A true CN102508733A (zh) | 2012-06-20 |
CN102508733B CN102508733B (zh) | 2016-01-20 |
Family
ID=46220825
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110283141.5A Active CN102508733B (zh) | 2011-09-22 | 2011-09-22 | 一种基于磁盘阵列的数据处理方法及磁盘阵列管理器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102508733B (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104657237A (zh) * | 2015-03-12 | 2015-05-27 | 浪潮集团有限公司 | 一种检测磁盘阵列的方法 |
CN105468479A (zh) * | 2015-11-18 | 2016-04-06 | 浙江大华技术股份有限公司 | 一种磁盘阵列raid坏块处理方法及装置 |
CN107678694A (zh) * | 2017-10-17 | 2018-02-09 | 深圳大普微电子科技有限公司 | Raid条带重建方法及固态盘 |
CN107870730A (zh) * | 2016-09-23 | 2018-04-03 | 伊姆西Ip控股有限责任公司 | 用于管理存储系统的方法和系统 |
CN108334280A (zh) * | 2017-12-28 | 2018-07-27 | 创新科存储技术(深圳)有限公司 | 一种raid5磁盘组快速重建方法和装置 |
CN110442535A (zh) * | 2019-07-19 | 2019-11-12 | 华中科技大学 | 提高分布式固态盘键值缓存系统可靠性的方法及系统 |
CN110870286A (zh) * | 2018-06-28 | 2020-03-06 | 华为技术有限公司 | 容错处理的方法、装置和服务器 |
CN111382007A (zh) * | 2018-12-28 | 2020-07-07 | 深圳市茁壮网络股份有限公司 | 一种数据恢复方法、装置及电子设备 |
CN111435286A (zh) * | 2019-01-14 | 2020-07-21 | 深圳市茁壮网络股份有限公司 | 一种数据存储方法、装置和系统 |
CN111752748A (zh) * | 2019-03-26 | 2020-10-09 | 杭州宏杉科技股份有限公司 | 基于vraid的数据重建方法、装置、电子设备 |
WO2024020929A1 (en) * | 2022-07-28 | 2024-02-01 | Micron Technology, Inc. | Short stripe repair in memory systems |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040073747A1 (en) * | 2002-10-10 | 2004-04-15 | Synology, Inc. | Method, system and apparatus for scanning newly added disk drives and automatically updating RAID configuration and rebuilding RAID data |
US7024586B2 (en) * | 2002-06-24 | 2006-04-04 | Network Appliance, Inc. | Using file system information in raid data reconstruction and migration |
CN101135955A (zh) * | 2007-10-19 | 2008-03-05 | 杭州华三通信技术有限公司 | 实现磁盘冗余阵列重建的方法和磁盘冗余阵列 |
CN101276302A (zh) * | 2007-03-29 | 2008-10-01 | 中国科学院计算技术研究所 | 一种磁盘阵列系统中磁盘故障处理和数据重构方法 |
CN102012847A (zh) * | 2010-12-06 | 2011-04-13 | 创新科存储技术有限公司 | 一种改进的磁盘阵列重建方法 |
-
2011
- 2011-09-22 CN CN201110283141.5A patent/CN102508733B/zh active Active
Patent Citations (5)
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 |
US20040073747A1 (en) * | 2002-10-10 | 2004-04-15 | Synology, Inc. | Method, system and apparatus for scanning newly added disk drives and automatically updating RAID configuration and rebuilding RAID data |
CN101276302A (zh) * | 2007-03-29 | 2008-10-01 | 中国科学院计算技术研究所 | 一种磁盘阵列系统中磁盘故障处理和数据重构方法 |
CN101135955A (zh) * | 2007-10-19 | 2008-03-05 | 杭州华三通信技术有限公司 | 实现磁盘冗余阵列重建的方法和磁盘冗余阵列 |
CN102012847A (zh) * | 2010-12-06 | 2011-04-13 | 创新科存储技术有限公司 | 一种改进的磁盘阵列重建方法 |
Cited By (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104657237A (zh) * | 2015-03-12 | 2015-05-27 | 浪潮集团有限公司 | 一种检测磁盘阵列的方法 |
CN105468479A (zh) * | 2015-11-18 | 2016-04-06 | 浙江大华技术股份有限公司 | 一种磁盘阵列raid坏块处理方法及装置 |
CN105468479B (zh) * | 2015-11-18 | 2018-06-26 | 浙江大华技术股份有限公司 | 一种磁盘阵列raid坏块处理方法及装置 |
CN107870730B (zh) * | 2016-09-23 | 2020-11-20 | 伊姆西Ip控股有限责任公司 | 用于管理存储系统的方法和系统 |
CN107870730A (zh) * | 2016-09-23 | 2018-04-03 | 伊姆西Ip控股有限责任公司 | 用于管理存储系统的方法和系统 |
US11163472B2 (en) | 2016-09-23 | 2021-11-02 | EMC IP Holding Company LLC | Method and system for managing storage system |
CN107678694A (zh) * | 2017-10-17 | 2018-02-09 | 深圳大普微电子科技有限公司 | Raid条带重建方法及固态盘 |
CN108334280A (zh) * | 2017-12-28 | 2018-07-27 | 创新科存储技术(深圳)有限公司 | 一种raid5磁盘组快速重建方法和装置 |
CN108334280B (zh) * | 2017-12-28 | 2021-01-08 | 深圳创新科技术有限公司 | 一种raid5磁盘组快速重建方法和装置 |
CN110870286B (zh) * | 2018-06-28 | 2021-07-09 | 华为技术有限公司 | 容错处理的方法、装置和服务器 |
CN110870286A (zh) * | 2018-06-28 | 2020-03-06 | 华为技术有限公司 | 容错处理的方法、装置和服务器 |
US11231983B2 (en) | 2018-06-28 | 2022-01-25 | Huawei Technologies Co., Ltd. | Fault tolerance processing method, apparatus, and server |
CN111382007A (zh) * | 2018-12-28 | 2020-07-07 | 深圳市茁壮网络股份有限公司 | 一种数据恢复方法、装置及电子设备 |
CN111382007B (zh) * | 2018-12-28 | 2024-04-30 | 深圳市茁壮网络股份有限公司 | 一种数据恢复方法、装置及电子设备 |
CN111435286A (zh) * | 2019-01-14 | 2020-07-21 | 深圳市茁壮网络股份有限公司 | 一种数据存储方法、装置和系统 |
CN111435286B (zh) * | 2019-01-14 | 2023-12-05 | 深圳市茁壮网络股份有限公司 | 一种数据存储方法、装置和系统 |
CN111752748A (zh) * | 2019-03-26 | 2020-10-09 | 杭州宏杉科技股份有限公司 | 基于vraid的数据重建方法、装置、电子设备 |
CN111752748B (zh) * | 2019-03-26 | 2024-04-26 | 杭州宏杉科技股份有限公司 | 基于vraid的数据重建方法、装置、电子设备 |
CN110442535B (zh) * | 2019-07-19 | 2021-06-11 | 华中科技大学 | 提高分布式固态盘键值缓存系统可靠性的方法及系统 |
CN110442535A (zh) * | 2019-07-19 | 2019-11-12 | 华中科技大学 | 提高分布式固态盘键值缓存系统可靠性的方法及系统 |
WO2024020929A1 (en) * | 2022-07-28 | 2024-02-01 | Micron Technology, Inc. | Short stripe repair in memory systems |
Also Published As
Publication number | Publication date |
---|---|
CN102508733B (zh) | 2016-01-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102508733A (zh) | 一种基于磁盘阵列的数据处理方法及磁盘阵列管理器 | |
US11216196B2 (en) | Erasure coding magnetic tapes for minimum latency and adaptive parity protection feedback | |
CN104035830B (zh) | 一种数据恢复方法和装置 | |
CN102708019B (zh) | 一种硬盘数据恢复方法、装置及系统 | |
CN101276302B (zh) | 一种磁盘阵列系统中磁盘故障处理和数据重构方法 | |
US10025666B2 (en) | RAID surveyor | |
US6067635A (en) | Preservation of data integrity in a raid storage device | |
CN100390745C (zh) | 在处理数据时检验数据完整性的装置及方法 | |
US7640452B2 (en) | Method for reconstructing data in case of two disk drives of RAID failure and system therefor | |
CN100530125C (zh) | 一种数据的安全存储方法 | |
CN101916173B (zh) | 一种基于raid的数据读写方法及其系统 | |
CN104484251B (zh) | 一种硬盘故障的处理方法及装置 | |
US7093157B2 (en) | Method and system for autonomic protection against data strip loss | |
US20090313617A1 (en) | Method for Updating Control Program of Physical Storage Device in Storage Virtualization System and Storage Virtualization Controller and System Thereof | |
US20050283654A1 (en) | Method and apparatus for decreasing failed disk reconstruction time in a raid data storage system | |
CN101960429B (zh) | 视频媒体数据存储系统以及相关方法 | |
CN103929609B (zh) | 一种录像回放方法和装置 | |
CN102177496A (zh) | 用于针对当前数据和回放数据在不同raid数据存储类型之间转移数据的系统和方法 | |
CN106095330A (zh) | 一种元数据的存储方法和装置 | |
US20060259812A1 (en) | Data protection method | |
CN105630417A (zh) | 一种raid5系统及在raid5系统失效后继续写数据的方法 | |
CN105183590A (zh) | 一种磁盘阵列的容错处理方法 | |
CN106933707B (zh) | 基于raid技术的数据存储设备数据恢复方法及系统 | |
US7600151B2 (en) | RAID capacity expansion interruption recovery handling method and system | |
US10831601B2 (en) | Reconstruction hard disk array and reconstruction method for to-be-reconstructed hard disks therein including comparing backup data with an access timestamp of first, second and third hard disks |
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 | ||
CP03 | Change of name, title or address |
Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No. Patentee after: Xinhua three Technology Co., Ltd. Address before: 310053 Hangzhou hi tech Industrial Development Zone, Zhejiang province science and Technology Industrial Park, No. 310 and No. six road, HUAWEI, Hangzhou production base Patentee before: Huasan Communication Technology Co., Ltd. |
|
CP03 | Change of name, title or address |