CN101276302B - 一种磁盘阵列系统中磁盘故障处理和数据重构方法 - Google Patents

一种磁盘阵列系统中磁盘故障处理和数据重构方法 Download PDF

Info

Publication number
CN101276302B
CN101276302B CN2007100649322A CN200710064932A CN101276302B CN 101276302 B CN101276302 B CN 101276302B CN 2007100649322 A CN2007100649322 A CN 2007100649322A CN 200710064932 A CN200710064932 A CN 200710064932A CN 101276302 B CN101276302 B CN 101276302B
Authority
CN
China
Prior art keywords
data
disk
fault
dish
array system
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.)
Expired - Fee Related
Application number
CN2007100649322A
Other languages
English (en)
Other versions
CN101276302A (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.)
Institute of Computing Technology of CAS
Original Assignee
Institute of Computing Technology of CAS
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 Institute of Computing Technology of CAS filed Critical Institute of Computing Technology of CAS
Priority to CN2007100649322A priority Critical patent/CN101276302B/zh
Publication of CN101276302A publication Critical patent/CN101276302A/zh
Application granted granted Critical
Publication of CN101276302B publication Critical patent/CN101276302B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

本发明公开了一种磁盘阵列系统中磁盘故障处理方法和数据重构方法,包括:磁盘阵列中的磁盘发生读写故障;定位故障数据块,保留故障磁盘上的剩余正确数据,并查找故障信息表,判断发生故障的数据块所在条带是否已经存在其他故障数据块,若存在,将磁盘阵列系统设置为“只读模式”,禁止用户执行写操作;否则,将故障数据块的位置信息记录到故障信息表中;然后判断磁盘阵列系统中是否存在冗余数据盘,若不存在,进入“降级”运行模式;否则,对故障数据块进行数据重构,恢复故障数据。

Description

一种磁盘阵列系统中磁盘故障处理和数据重构方法
技术领域
本发明涉及数据存储领域,特别涉及磁盘阵列系统中磁盘故障处理和数据重构的方法。
背景技术
磁盘阵列(RAID,简称Redundant Array of Independent Disks)是一种把多块独立的硬盘(物理硬盘)按不同的方式组合起来形成一个硬盘组(逻辑硬盘),从而提供比单个硬盘更高的存储性能和提供数据备份的技术。RAID技术作为一种成熟的技术广泛应用于磁盘阵列系统中。磁盘阵列按照独立硬盘组成磁盘阵列的不同方式分成不同的RAID级别(RAID Levels)。现有技术中已拥有了从RAID 0到RAID 6七种基本的RAID级别。不同的RAID级别代表着不同的存储性能、数据安全性、存储成本以及算法复杂度和数据冗余度。
在大多数的RAID级别中,当磁盘阵列中的磁盘失效时,RAID系统可以通过冗余的数据或者编码重构故障磁盘,从而保证了数据的完整性,提高数据的可用性。但是,对于一个具有冗余能力的RAID系统,其在数据重构的过程中存在较大的风险与不足。
以实际应用中较为常见的RAID5为例,RAID5是一种存储性能、数据安全和存储成本兼顾的存储解决方案。RAID5不对磁盘中存储的数据进行备份,而是把数据和相对应的奇偶校验信息存储到组成RAID5的各个磁盘上,并且奇偶校验信息和相对应的数据分别存储于不同的磁盘上。当RAID5的一个磁盘数据发生损坏后,利用剩下的数据和相应的奇偶校验信息去恢复被损坏的数据。RAID5在重构数据的过程中,通常在检测到磁盘发生读写故障后,会立即将故障磁盘设置为“故障”状态,并且将其剔出阵列,同时加入一块新的冗余数据盘,然后通过冗余的编码信息将故障磁盘中的数据信息重构到冗余数据盘中。由于RAID5本身的冗余编码信息有限,采用上述的数据重构方法极易导致阵列崩溃,数据丢失。因此,RAID5的数据重构过程具有高风险的缺陷。
RAID6是另一种常见的存储解决方案。在RAID6中,数据和校验码都是被分成数据块,然后分别存储到磁盘阵列的各个硬盘上。与RAID5相比,RAID6还加入了一个独立的校验磁盘,它把分布在各个磁盘上的校验码都备份在一起,这样RAID6磁盘阵列就允许多个磁盘同时出现故障。但RAID6重构数据的过程与RAID5相类似,也会将发生故障的磁盘设为“故障”状态,并剔出阵列。基于RAID6本身所具有的冗余编码信息丰富的特点,应用现有的数据重构方法会延长数据重构时间,因此需要高性能处理器或者特殊硬件的支持,RAID6的数据重构过程具有低性能的缺陷。
鉴于现有的数据重构方法在磁盘阵列系统中的应用存在上述的不足,迫切需要一种新的方法。
发明内容
本发明的目的是克服现有磁盘阵列在数据重构过程中风险高、性能低的缺陷,从而提供一种低风险、高效率的磁盘阵列故障处理方法。
为了实现上述目的,本发明提供了一种磁盘阵列系统中磁盘故障处理方法,按照以下步骤顺序执行:
步骤1)、磁盘阵列中的磁盘发生读写故障;
步骤2)、在故障磁盘中定位故障数据块,保留故障磁盘上的剩余正确数据,并查找故障信息表,判断发生故障的数据块所在条带是否已经存在其他故障数据块,若存在,执行下一步,否则,执行步骤4);
步骤3)、磁盘阵列系统的信息完整性被破坏,将磁盘阵列系统设置为“只读模式”,禁止用户执行写操作,对磁盘的故障处理操作结束;
步骤4)、将故障数据块的位置信息记录到故障信息表中;
步骤5)、判断磁盘阵列系统中是否存在冗余数据盘,若不存在,执行下一步,否则,执行步骤7);
步骤6)、进入“降级”运行模式,结束操作;
步骤7)、对故障数据块进行数据重构,恢复故障数据;其中,该步骤具体包括以下步骤:
步骤7-1)、判断发生故障的磁盘是否是磁盘阵列中的工作盘,如果是,执行步骤7-3),否则,执行下一步;
步骤7-2)、工作盘所绑定的从盘发生故障,为发生故障的从盘所对应的主盘再分配一个冗余数据盘,构建一主多从的主从盘结构,然后执行下一步,如果无法为主盘分配新的从盘,则磁盘阵列系统进入“降级”运行模式;
步骤7-3)、将工作盘的故障数据块的信息加入到故障信息表中;该步骤包括将关于主从盘关系的信息添加到故障信息表中;
步骤7-4)、判断发生故障的工作盘是否建立了主从盘关系,若已建立,执行步骤7-6),否则,执行下一步;
步骤7-5)、为发生故障的工作盘寻找一个冗余数据盘,将发生故障的工作盘作为主盘,所述的冗余数据盘作为从盘,建立主从盘结构;
步骤7-6)、将主盘上的故障数据信息映射到从盘的相应位置;所述映射包括将发生故障位置的数据块立即通过其他多个盘的冗余编码恢复到从盘,并将这个信息记录到故障信息表,以及以后对故障位置数据块进行的访问,将直接访问从盘;
步骤7-7)、启动数据重构操作;
步骤7-8)、执行数据重构的循环操作,记录数据迁移点的位置信息,并判断对当前磁盘的数据重构操作是否结束,若没有,执行下一步,否则,执行步骤7-14);
步骤7-9)、判断当前数据是否是有效数据,若是,执行下一步,否则,执行步骤7-11);
步骤7-10)、采用数据迁移技术将主盘数据重构到从盘上,重新执行步骤7-8);
步骤7-11)、判断当前数据是否为新发生的故障数据,若是,执行下一步,否则,执行步骤7-13);
步骤7-12)、采用冗余编码技术恢复故障数据,并写入从盘,重新执行步骤7-8);
步骤7-13)、判断当前数据是否为已经迁移的数据,对于已经迁移的数据无需再次迁移,重新执行步骤7-8);
步骤7-14)、数据重构操作完毕,将发生故障的工作盘设置成“故障”状态,剔除出磁盘阵列,并将从盘升级为主盘,解除发生故障的工作盘与冗余数据盘间的主从关系。
所述的磁盘阵列系统在数据迁移过程中,允许对发生数据迁移的磁盘进行访问,当用户读写数据时,若用户读写数据点落在数据迁移点之前,则直接对从盘进行操作;若用户读写数据点落在数据迁移点之后,则直接对主盘进行操作;若用户读写数据点落在数据迁移点之上,那么通过数据迁移点所在的数据块的锁机制来保证从盘数据与主盘数据的一致性或者从盘数据新于主盘数据;若用户读写数据点落在故障数据块上,磁盘存在主从盘关系,则将对主盘故障数据块的访问转换成对从盘映射数据块的操作,若不存在主从盘关系,则通过冗余编码信息对故障数据块进行操作。
所述的磁盘阵列系统在做读写访问时,如果被访问的数据块在故障信息表内,则访问从盘映射数据,或对其他磁盘相同位置的信息做冗余编码计算;如果被访问的数据块不在故障信息表内,则直接访问原有数据块。
在所述的步骤7-2)中,所述的一主多从的主从盘结构中,多个从盘补充主盘成为一个完好的磁盘。
在所述的步骤7-5)中,所述的主从盘结构中,所述的从盘补充主盘成为一个完好的磁盘。
在所述的步骤7-6)中,所述的映射是将发生故障位置的数据块通过其它磁盘的冗余编码恢复到从盘,并将发生故障数据块的位置信息记录到故障信息表。
在所述的步骤7-7)中,在启动数据重构操作时,若磁盘阵列系统中存在多个故障磁盘数据重构操作,则并行执行数据重构操作或按照优先级关系串行执行。
在所述的步骤7-8)中,所述的数据迁移点的位置信息作为每个磁盘的元数据信息被不断刷新保存到磁盘。
本发明的优点在于:
1、本发明将磁盘故障做局部化处理,保留故障磁盘上的正确数据,提高了磁盘阵列系统的容错能力;
2、本发明在数据重构过程中采用了主从盘结构、故障信息表和数据迁移技术,不仅加快了数据重构速度,而且大大降低了数据重构风险,提高了磁盘阵列系统的可用性。
附图说明
图1为本发明的磁盘阵列系统中磁盘故障处理和数据重构方法的流程图;
图2为本发明的磁盘阵列系统中磁盘故障处理和数据重构方法中数据重构的流程图;
图3为本发明数据重构过程中,故障数据映射与主从盘关系建立示意图;
图4为数据迁移过程中,不同读写请求处理方法示意图;
图5为本发明在数据重构过程中,多盘读写故障而保证数据完整性的示意图;
图6是本发明数据重构结束操作示意图。
具体实施方式
下面结合附图和具体实施方式对本发明作进一步详细描述:
本发明的故障处理和数据重构方法的基本思想是:当磁盘数据发生故障后,先将主盘上发生故障位置的数据块复制到从盘,再将发生故障主盘上的所有数据块从前到后,依次迁移到从盘,完成一次恢复过程。与现有技术相比,本发明不将磁盘的局部损坏视为整个磁盘的损坏,当检测到工作盘发生故障后,不将工作盘设置为“故障”状态,也不将发生故障的工作盘从磁盘阵列中剔除,而是把发生故障的磁盘继续保留在磁盘阵列中作为有效磁盘使用,这样做一方面能够提升数据重构的性能,另一方面也能够降低重构过程中其它磁盘发生故障所带来的风险。在以下的实施例中,以RAID级别的磁盘阵列系统为例,对本发明的方法做进一步说明。
如图1所示,本发明的磁盘阵列系统中磁盘故障处理和数据重构方法包括以下步骤:
步骤10、磁盘阵列系统中的磁盘发生读写故障;
步骤20、在故障磁盘中定位故障数据块,保留故障磁盘上的剩余正确数据,并查找故障信息表,判断发生故障的数据块所在条带是否已经存在其他故障数据块,若存在,执行下一步,否则,执行步骤40;
本领域的普通技术人员都知道,磁盘阵列系统中,不同磁盘上相同条带的数据块间具有联系,且一个数据块中保存有同一条带其他数据块的冗余数据。因此,如果同一条带中同一时间内只有一个故障数据块,则故障数据块可通过其他数据块上的冗余数据进行恢复,但如果同一条带在同一时间内有两个以上的故障数据块,则会破坏磁盘阵列系统的信息完整性。根据发生故障的磁盘数据块的不同情况,需要做不同的操作。
在现有技术中,如果一个磁盘发生故障,会将整个磁盘视为故障,不再使用故障磁盘上的任何数据。但通过本步骤可见,本发明将故障做局部化处理,只舍弃故障磁盘上的故障数据块,保留正确数据块,允许对正确数据块进行读写操作。
步骤30、磁盘阵列系统的信息完整性被破坏,将磁盘阵列系统设置为“只读模式”,禁止用户执行写操作,对磁盘的故障处理操作结束;
步骤40、将故障数据块的位置信息记录到故障信息表中;
磁盘阵列的故障信息表主要包括两部分的内容,一是磁盘阵列中发生故障的数据块所在的位置,二是如果要进行重构操作,故障信息表还应当包括关于主从盘关系的信息。在本步骤中,需要将故障数据块的位置信息添加到故障信息表中,而关于主从盘关系的信息则在后续的步骤73中实现。
步骤50、判断磁盘阵列系统中是否存在冗余数据盘,若不存在,执行下一步,否则,执行步骤70;
步骤60、进入“降级”运行模式;
在正常情况下,磁盘阵列系统具有冗余信息,通过对冗余信息的编码可实现对信息的保护,例如在RAID5结构中用N+1块磁盘存储N块盘的信息,当一块磁盘发生故障时,通过其他磁盘中所保存的冗余信息可恢复故障盘中的信息。但如果磁盘发生故障时,没有备份盘可以替换或替换过程没有完成,则其余N块盘虽然可以通过冗余编码提供完整的信息,但这时磁盘阵列处于无冗余状态,数据安全低,而且整体性能变差,这种情况就是本步骤中所述的“降级”模式。
步骤70、对故障数据块进行数据重构,恢复故障数据。
从步骤10到步骤60,可视为对磁盘阵列系统中的磁盘故障进行处理的过程,而本步骤则实现了故障数据块的数据重构,对故障数据块进行数据重构是一个较为复杂的操作,如图2所示,其具体实现如下:
步骤71、判断发生故障的磁盘是否是磁盘阵列中的工作盘,如果是,执行步骤73,否则,执行下一步;
步骤72、工作盘所绑定的从盘发生故障,为发生故障的从盘所对应的主盘再寻找一个冗余数据盘,构建一个一主多从的主从盘结构,然后执行下一步,如果无法为主盘分配新的从盘,则磁盘阵列系统进入“降级”运行模式。
在本步骤中,发生故障的从盘在恢复过程中并不放弃,但在恢复过程完成后,只保留没有故障的从盘,并用没有故障的从盘替代主盘。
步骤73、将工作盘的故障数据块的信息加入到故障信息表中。在本步骤中,主要是将关于主从盘关系的信息添加到故障信息表中。
步骤74、判断发生故障的工作盘是否建立了主从盘关系,若已建立,执行步骤76,否则,执行下一步;
步骤75、为发生故障的工作盘寻找一个冗余数据盘,将发生故障的工作盘作为主盘,所找到的冗余数据盘作为从盘,建立主从盘结构,从盘补充主盘构成完好磁盘,然后执行下一步,如果无法为发生故障的工作盘分配一个冗余数据盘作为从盘,则磁盘阵列系统进入“降级”运行模式。
步骤76、将主盘上的故障数据信息映射到从盘的相应位置。在本步骤中,映射有两个含义,第一,发生故障位置的数据块立即通过其他多个盘的冗余编码恢复到从盘,并将这个信息记录到故障信息表;第二,以后对故障位置数据块进行的访问,将直接访问从盘,直接访问从盘比用冗余编码访问多个盘的速度快。
如图3所示,在一个包含有四个工作盘和一个冗余数据盘的磁盘阵列中,分别用A、B、C、D表示各个工作盘,假设标记为D的工作盘发生读写故障,根据上述步骤为D盘查找冗余数据盘作为它的从盘,然后将D盘上的故障数据块的位置信息存入故障信息表,并将故障数据块映射到从盘上。
步骤77、启动数据重构操作,若磁盘阵列系统中存在多个故障磁盘数据重构操作,则可以并行执行数据重构操作,也可以按照一定的优先级关系串行执行;
在本实施例中,可按照优先级关系串行执行数据重构过程,如果有故障磁盘正在做数据重构操作,则其它故障磁盘的重构操作需要等待。
步骤78、执行数据重构的循环操作,记录数据迁移点的位置信息,并判断对当前磁盘的数据重构操作是否结束,若没有,执行下一步,否则,执行步骤714。在本步骤中,所述的数据迁移点是指数据重构过程中,当前需要重构的数据块的位置。数据迁移点的位置会随着数据迁移的过程而不断改变。
步骤79、判断当前数据是否是有效数据,若是,执行下一步,否则,执行步骤711。
步骤710、采用数据迁移技术将主盘数据重构到从盘上,重新执行步骤78。
步骤711、判断当前数据是否为新发生的故障数据,若是,执行下一步,否则,执行步骤713。在步骤76中,实现了主盘上的故障数据信息向从盘的映射,但在数据恢复过程中,主盘可能会产生新的故障数据块,因此,在本步骤中,还要对当前数据是否为故障数据进行判断,并在后续操作中对故障数据做相应的处理。
步骤712、采用冗余编码技术恢复故障数据,并写入从盘,重新执行步骤78;
步骤713、已经迁移的数据无需再次迁移,重新执行步骤78;
步骤714、数据重构操作完毕,将发生故障的工作盘剔除出磁盘阵列,并将从盘升级为主盘,解除发生故障的工作盘与冗余数据盘间的主从关系。
在磁盘故障处理和数据重构过程中,都可对故障数据块进行访问,以保障服务的连续性和数据的完整性。在步骤78中,通过记录数据迁移点位置的方法保证了在服务连续性的前提下不影响数据的完整性。如图4所示,在数据重构过程中,当记录数据迁移点位置后,用户访问数据迁移盘存在如下情况,本发明采取了相应处理方法保证了数据完整性:
1、用户访问数据落在数据迁移点之前,即用户所访问的数据位于数据重构操作完毕的区域内:对于这种情况,一律将用户的请求映射到从盘,用户对主盘的数据读写操作都转换成对从盘的操作。
2、用户访问数据落在数据迁移点之上:本发明中规定,对于同一数据块不能存在多种操作,只能有一种操作,因此,可以采用锁机制来保证该数据块在迁移操作过程中,用户无法对其进行读写,从而保证在用户和数据迁移操作对一个数据块竞争的过程中,从盘数据新于主盘数据或者两者保持一致。
3、用户访问数据落在故障数据块上:在访问主盘数据时,查找故障信息表,如果能够找到访问数据块的信息,那么被访问的数据块为故障数据块。此时,如果存在主从盘关系,那么对主盘故障数据块的访问转换成对从盘映射数据块的操作。如果不存在主从盘关系,那么通过冗余编码信息对故障数据块进行操作。
4、用户访问数据落在数据迁移点之后,即用户所访问的数据还没有进行数据重构操作:如果用户访问数据落在数据迁移点之后,数据读写操作可以直接对主盘进行,然后通过后继的数据迁移保证数据的完整性。在这种情况下,如果用户读写数据块发生故障,那么同样将其加入故障信息表,并将恢复的故障数据块映射到从盘对应位置。
数据迁移点位置信息记录在磁盘阵列的元数据信息中。这样,当发生诸如断电、网络故障等意外情况时,还能保存最近迁移点位置信息。通过保存的迁移点位置信息可以继续磁盘数据重构操作,提高了效率。
在步骤60、步骤72和步骤75中,磁盘阵列系统都进入“降级”模式,在降级模式下,仍然可以对故障磁盘进行访问。在对故障磁盘进行访问时,如果访问的数据块是故障数据块,则通过冗余编码完成访问,如果访问的是故障盘中的正常数据块,则直接访问原有信息。
采用本发明的方法,可以降低数据重构和降级状态所带来的数据丢失风险。在采用本发明方法的磁盘阵列中,不同磁盘上不同位置的数据块发生故障不会破坏磁盘阵列的数据完整性,只有不同磁盘上相同位置的数据块同时发生故障,且故障数据高于阵列的冗余数量时,才会破坏阵列数据的完整性。如图4所示,仍以本实施例中所采用的RAID级别的磁盘阵列系统为例,在具有四个工作盘和一个冗余盘的磁盘阵列系统中,即使有多个工作盘发生故障,磁盘阵列依然可以保持数据的完整性。在图5中,数字标号分别表示故障磁盘数据块的索引号。4号故障数据块位于A盘上,3号故障数据块位于B盘上,2号故障数据块位于C盘上,1号故障数据块位于D盘上。由于4号和1号数据块在同一条带,因此,只要满足这两个数据块不在同一时间内发生故障,那么阵列的数据完整性能够得到保证,即使每个磁盘都拥有故障数据块,但是数据依然安然无恙。由于数据块的容量远远小于磁盘的容量,多个磁盘相同位置的数据块同时发生故障(如1,4号数据块同时发生故障)的概率远远小于多个磁盘同时发生故障(如A中任意一个数据块发生故障同时D中任何一个数据块发生故障)的概率。因此,与传统数据重构方法相比,本发明具有极大优势。
如图6所示,当主盘数据全部重构到对应从盘之后,该故障磁盘的数据重构完毕。重构完毕的从盘数据可以与主盘保持一致,也可以新于主盘中的数据。重构完毕后,故障磁盘被设置为“故障状态”,并且将其从磁盘阵列中剔除。此时,带有有效数据的从盘升级为主盘,成为阵列一员,主从盘关系自然解除。
最后所应说明的是,以上实施例仅用以说明本发明的技术方案而非限制。尽管参照实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,对本发明的技术方案进行修改或者等同替换,都不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。

Claims (8)

1.一种磁盘阵列系统中磁盘故障处理方法,按照以下步骤顺序执行:
步骤1)、磁盘阵列中的磁盘发生读写故障;
步骤2)、在故障磁盘中定位故障数据块,保留故障磁盘上的剩余正确数据,并查找故障信息表,判断发生故障的数据块所在条带是否已经存在其他故障数据块,若存在,执行下一步,否则,执行步骤4);
步骤3)、磁盘阵列系统的信息完整性被破坏,将磁盘阵列系统设置为“只读模式”,禁止用户执行写操作,对磁盘的故障处理操作结束;
步骤4)、将故障数据块的位置信息记录到故障信息表中;
步骤5)、判断磁盘阵列系统中是否存在冗余数据盘,若不存在,执行下一步,否则,执行步骤7);
步骤6)、进入“降级”运行模式,结束操作;
步骤7)、对故障数据块进行数据重构,恢复故障数据;其中,该步骤具体包括以下步骤:
步骤7-1)、判断发生故障的磁盘是否是磁盘阵列中的工作盘,如果是,执行步骤7-3),否则,执行下一步;
步骤7-2)、工作盘所绑定的从盘发生故障,为发生故障的从盘所对应的主盘再分配一个冗余数据盘,构建一主多从的主从盘结构,然后执行下一步,如果无法为主盘分配新的从盘,则磁盘阵列系统进入“降级”运行模式;
步骤7-3)、将工作盘的故障数据块的信息加入到故障信息表中;该步骤包括将关于主从盘关系的信息添加到故障信息表中;
步骤7-4)、判断发生故障的工作盘是否建立了主从盘关系,若已建立,执行步骤7-6),否则,执行下一步;
步骤7-5)、为发生故障的工作盘寻找一个冗余数据盘,将发生故障的工作盘作为主盘,所述的冗余数据盘作为从盘,建立主从盘结构;
步骤7-6)、将主盘上的故障数据信息映射到从盘的相应位置;所述映射包括将发生故障位置的数据块立即通过其他多个盘的冗余编码恢复到从盘,并将这个信息记录到故障信息表,以及以后对故障位置数据块进行的访问,将直接访问从盘;
步骤7-7)、启动数据重构操作;
步骤7-8)、执行数据重构的循环操作,记录数据迁移点的位置信息,并判断对当前磁盘的数据重构操作是否结束,若没有,执行下一步,否则,执行步骤7-14);
步骤7-9)、判断当前数据是否是有效数据,若是,执行下一步,否则,执行步骤7-11);
步骤7-10)、采用数据迁移技术将主盘数据重构到从盘上,重新执行步骤7-8);
步骤7-11)、判断当前数据是否为新发生的故障数据,若是,执行下一步,否则,执行步骤7-13);
步骤7-12)、采用冗余编码技术恢复故障数据,并写入从盘,重新执行步骤7-8);
步骤7-13)、判断当前数据是否为已经迁移的数据,对于已经迁移的数据无需再次迁移,重新执行步骤7-8);
步骤7-14)、数据重构操作完毕,将发生故障的工作盘设置成“故障”状态,剔除出磁盘阵列,并将从盘升级为主盘,解除发生故障的工作盘与冗余数据盘间的主从关系。
2.根据权利要求1所述的磁盘阵列系统中磁盘故障处理方法,其特征在于,所述的磁盘阵列系统在数据迁移过程中,允许对发生数据迁移的磁盘进行访问,当用户读写数据时,若用户读写数据点落在数据迁移点之前,则直接对从盘进行操作;若用户读写数据点落在数据迁移点之后,则直接对主盘进行操作;若用户读写数据点落在数据迁移点之上,那么通过数据迁移点所在的数据块的锁机制来保证从盘数据与主盘数据的一致性或者从盘数据新于主盘数据;若用户读写数据点落在故障数据块上,磁盘存在主从盘关系,则将对主盘故障数据块的访问转换成对从盘映射数据块的操作,若不存在主从盘关系,则通过冗余编码信息对故障数据块进行操作。
3.根据权利要求1所述的磁盘阵列系统中磁盘故障处理方法,其特征在于,磁盘阵列系统在做读写访问时,如果被访问的数据块在故障信息表内,则访问从盘映射数据,或对其他磁盘相同位置的信息做冗余编码计算;如果被访问的数据块不在故障信息表内,则直接访问原有数据块。
4.根据权利要求1所述的磁盘阵列系统中磁盘故障处理方法,其特征在于,在所述的步骤7-2)中,所述的一主多从的主从盘结构中,多个从盘补充主盘成为一个完好的磁盘。
5.根据权利要求1所述的磁盘阵列系统中磁盘故障处理方法,其特征在于,在所述的步骤7-5)中,所述的主从盘结构中,所述的从盘补充主盘成为一个完好的磁盘。
6.根据权利要求1所述的磁盘阵列系统中磁盘故障处理方法,其特征在于,在所述的步骤7-6)中,所述的映射是将发生故障位置的数据块通过其它磁盘的冗余编码恢复到从盘,并将发生故障数据块的位置信息记录到故障信息表。
7.根据权利要求1所述的磁盘阵列系统中磁盘故障处理方法,其特征在于,在所述的步骤7-7)中,在启动数据重构操作时,若磁盘阵列系统中存在多个故障磁盘数据重构操作,则并行执行数据重构操作或按照优先级关系串行执行。
8.根据权利要求1所述的磁盘阵列系统中磁盘故障处理方法,其特征在于,在所述的步骤7-8)中,所述的数据迁移点的位置信息作为每个磁盘的元数据信息被不断刷新保存到磁盘。
CN2007100649322A 2007-03-29 2007-03-29 一种磁盘阵列系统中磁盘故障处理和数据重构方法 Expired - Fee Related CN101276302B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2007100649322A CN101276302B (zh) 2007-03-29 2007-03-29 一种磁盘阵列系统中磁盘故障处理和数据重构方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2007100649322A CN101276302B (zh) 2007-03-29 2007-03-29 一种磁盘阵列系统中磁盘故障处理和数据重构方法

Publications (2)

Publication Number Publication Date
CN101276302A CN101276302A (zh) 2008-10-01
CN101276302B true CN101276302B (zh) 2010-10-06

Family

ID=39995764

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2007100649322A Expired - Fee Related CN101276302B (zh) 2007-03-29 2007-03-29 一种磁盘阵列系统中磁盘故障处理和数据重构方法

Country Status (1)

Country Link
CN (1) CN101276302B (zh)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102301339B (zh) * 2009-04-21 2017-08-25 国际商业机器公司 用于控制固态盘(ssd)设备的装置和方法
CN101814010B (zh) * 2010-01-11 2011-11-23 浪潮(北京)电子信息产业有限公司 一种磁盘阵列实现方法及装置
CN102207893B (zh) * 2010-03-29 2014-07-16 北京邦诺存储科技有限公司 廉价磁盘冗余阵列的管理设备和方法
CN101923496A (zh) * 2010-07-30 2010-12-22 华中科技大学 一种raid的数据并行重构方法
CN101916173B (zh) * 2010-08-27 2013-08-28 杭州华三通信技术有限公司 一种基于raid的数据读写方法及其系统
CN101980137B (zh) 2010-10-19 2012-05-30 成都市华为赛门铁克科技有限公司 廉价磁盘冗余阵列重构方法、装置及系统
CN101984400B (zh) * 2010-11-05 2012-10-03 成都市华为赛门铁克科技有限公司 一种raid控制方法、装置及系统
CN102184129B (zh) * 2011-04-27 2014-03-12 杭州华三通信技术有限公司 磁盘阵列的容错方法和装置
CN102508733B (zh) * 2011-09-22 2016-01-20 杭州华三通信技术有限公司 一种基于磁盘阵列的数据处理方法及磁盘阵列管理器
CN103019623B (zh) * 2012-12-10 2016-01-20 华为技术有限公司 存储盘处理方法及装置
CN103049400B (zh) * 2012-12-27 2015-12-23 华为技术有限公司 一种磁盘重构方法及其装置
CN103647804B (zh) 2013-11-22 2017-04-26 华为技术有限公司 一种存储单元的数据处理方法、设备及系统
CN103678048B (zh) * 2013-11-29 2015-11-25 华为技术有限公司 独立磁盘冗余阵列修复方法、装置和存储设备
CN105022586B (zh) * 2014-04-17 2018-06-05 中国移动通信集团公司 一种数据处理方法、装置和系统
WO2016029481A1 (zh) 2014-08-30 2016-03-03 华为技术有限公司 一种隔离磁盘区域的方法和设备
CN104636082B (zh) * 2014-12-30 2019-02-22 曙光信息产业股份有限公司 磁盘阵列raid的控制方法及装置
CN107491263B (zh) * 2016-06-12 2022-07-22 北京忆恒创源科技股份有限公司 一种基于存储对象的数据重构方法
CN107526536B (zh) * 2016-06-22 2020-11-27 伊姆西Ip控股有限责任公司 用于管理存储系统的方法和系统
CN106201834A (zh) * 2016-07-06 2016-12-07 乐视控股(北京)有限公司 一种磁盘损坏的处理方法和装置
CN106708646A (zh) * 2016-12-22 2017-05-24 郑州云海信息技术有限公司 硬盘异常自动复位方法及其装置
KR102234725B1 (ko) * 2017-05-30 2021-04-02 에스케이하이닉스 주식회사 컨트롤러 및 메모리 시스템 및 메모리 시스템의 동작 방법
CN107046485A (zh) * 2017-06-01 2017-08-15 郑州云海信息技术有限公司 一种远程定位异常设备位置的方法和系统
CN107346273B (zh) * 2017-06-14 2020-09-04 北京奇艺世纪科技有限公司 一种数据恢复方法、装置及电子设备
CN110879761A (zh) * 2018-09-05 2020-03-13 华为技术有限公司 硬盘故障处理方法、阵列控制器及硬盘
WO2020048442A1 (zh) * 2018-09-05 2020-03-12 华为技术有限公司 硬盘故障处理方法、阵列控制器及硬盘
CN110865903B (zh) * 2019-11-06 2020-10-23 重庆紫光华山智安科技有限公司 基于纠删码分布式存储的节点异常重连复用方法及系统
CN114443368B (zh) * 2021-12-31 2023-11-14 苏州浪潮智能科技有限公司 raid系统的冗余数据处理方法、装置、系统及介质
CN117908780B (zh) * 2023-12-22 2024-10-18 北京鑫宇兴业科技有限公司 磁盘阵列在线扩容方法、装置、设备及存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1551202A (zh) * 2003-05-06 2004-12-01 �Ҵ���˾ 自修复方法和存储系统

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1551202A (zh) * 2003-05-06 2004-12-01 �Ҵ���˾ 自修复方法和存储系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
刘春,袁由光.一种容错磁盘子系统的实现.计算机工程与科学.2001,23(5),105-107. *
王胜明,陈基禄,孙淑淇.基于故障恢复的RAID系统设计.微机发展.2003,13(1),38-40. *

Also Published As

Publication number Publication date
CN101276302A (zh) 2008-10-01

Similar Documents

Publication Publication Date Title
CN101276302B (zh) 一种磁盘阵列系统中磁盘故障处理和数据重构方法
CN100392611C (zh) 存储控制装置和方法
US7143308B2 (en) Apparatus, system, and method for differential rebuilding of a reactivated offline RAID member disk
CN100390745C (zh) 在处理数据时检验数据完整性的装置及方法
US10452498B2 (en) Fault tolerance for persistent main memory
US7640452B2 (en) Method for reconstructing data in case of two disk drives of RAID failure and system therefor
US6751136B2 (en) Drive failure recovery via capacity reconfiguration
CN103246478B (zh) 一种基于软raid支持无分组式全局热备盘的磁盘阵列系统
CN102508733B (zh) 一种基于磁盘阵列的数据处理方法及磁盘阵列管理器
CN101567211A (zh) 一种提高磁盘可用性的方法和磁盘阵列控制器
CN101436149B (zh) 磁盘阵列数据重建方法
CN101916173B (zh) 一种基于raid的数据读写方法及其系统
CN102521058A (zh) Raid组磁盘数据预迁移方法
CN104035830A (zh) 一种数据恢复方法和装置
JPH04230512A (ja) Dasdアレイのための更新記録方法及び装置
CN101609420A (zh) 实现磁盘冗余阵列重建的方法和磁盘冗余阵列及其控制器
CN103019623B (zh) 存储盘处理方法及装置
CN102508620A (zh) 一种处理raid5坏扇区的方法
CN111858189B (zh) 对存储盘离线的处理
CN103530069A (zh) 一种raid5磁盘阵列坏扇区处理方法
CN102999399A (zh) 一种jbod阵列自动恢复存储的方法和装置
CN102226892B (zh) 一种磁盘容错处理方法及设备
WO2024098696A1 (zh) 一种数据恢复方法、装置、设备及可读存储介质
CN107977285A (zh) 一种纠删码存储机制的数据修改方法、装置及介质
US7529776B2 (en) Multiple copy track stage recovery in a data storage system

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
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20101006