CN102385544B - 一种磁盘重建方法和装置 - Google Patents

一种磁盘重建方法和装置 Download PDF

Info

Publication number
CN102385544B
CN102385544B CN201110412147.8A CN201110412147A CN102385544B CN 102385544 B CN102385544 B CN 102385544B CN 201110412147 A CN201110412147 A CN 201110412147A CN 102385544 B CN102385544 B CN 102385544B
Authority
CN
China
Prior art keywords
stripe cell
disk
data
stripe
cell
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
Application number
CN201110412147.8A
Other languages
English (en)
Other versions
CN102385544A (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.)
Innovation Technology Co., Ltd.
Shenzhen Innovation Software Technology Co., Ltd.
Original Assignee
Innovation And Technology Storage Technology Co Ltd
CHUANGXINKE SOFTWARE TECHNOLOGY (SHENZHEN) Co Ltd
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 Innovation And Technology Storage Technology Co Ltd, CHUANGXINKE SOFTWARE TECHNOLOGY (SHENZHEN) Co Ltd filed Critical Innovation And Technology Storage Technology Co Ltd
Priority to CN201110412147.8A priority Critical patent/CN102385544B/zh
Publication of CN102385544A publication Critical patent/CN102385544A/zh
Application granted granted Critical
Publication of CN102385544B publication Critical patent/CN102385544B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种磁盘重建方法和装置:当RAID中的任一磁盘出现错误的次数达到预定阀值时,用热备盘顶替该出现错误的磁盘,并将该出现错误的磁盘设置为ACTIVE_SPARE状态;依次对热备盘中的各条带单元进行重建,其中,在对每个条带单元X进行重建时,如果与条带单元X处于同一条带内的任一条带单元出现重建读介质错误,则将处于ACTIVE_SPARE状态的磁盘中的对应条带单元中的数据写入到条带单元X中,所述对应是指所处位置相同。应用本发明所述的方法和装置,能够提高重建成功率。

Description

一种磁盘重建方法和装置
技术领域
本发明涉及数据处理技术,特别涉及一种磁盘重建方法和装置。
背景技术
独立冗余磁盘阵列(RAID,Redundant Array of Independent Disk)是一种把多块独立的磁盘按不同的方式组合起来,从而形成一个磁盘组,以提供比单个磁盘更高的存储性能和数据处理能力的技术。
根据磁盘组合方式的不同,可将RAID分为不同的级别,如RAID 0、RAID 1、RAID 2、RAID 3、RAID 4、RAID 5等。
当RAID中的某一磁盘出现错误的次数较多时,可用热备盘来顶替该出现错误的磁盘,并根据其它磁盘来对热备盘进行重建,即将出现错误的磁盘中的数据重建到热备盘中,以下以RAID 5为例,来说明重建过程。
图1为现有RAID 5的一种组成结构示意图。如图1所示,假设共包括5块磁盘,按照从左到右的顺序分别为disk 1~disk 5,每个磁盘上均包括8个条带单元,按照从上到下的顺序分别为条带单元1~条带单元8,各磁盘中处于相同位置的条带单元组成一个条带,如各磁盘中的条带单元1组成一个条带;另外,各磁盘上交叉地存储有实际数据以及校验数据,图1中的黑色条带单元即表示用于存储校验数据的条带单元,其它条带单元即表示用于存储实际数据的条带单元;假设disk 3出现了错误,那么可用热备盘来顶替disk 3,并可根据disk 1、disk 2、disk 4和disk 5中的数据来对热备盘中的各条带单元依次进行重建,即先根据与热备盘中的条带单元1处于同一条带内的各条带单元中的数据来对热备盘中的条带单元1进行重建,之后根据与热备盘中的条带单元2处于同一条带内的各条带单元中的数据来对热备盘中的条带单元2进行重建,依次类推。
但是,上述重建方式在实际应用中会存在一定的问题,即:当对热备盘中的任一条带单元,假设为条带单元2进行重建时,如果处于同一条带内的其它任一条带单元出现错误,如出现重建读介质错误,则会导致条带单元2的重建失败,从而导致disk 3上的数据丢失。
发明内容
有鉴于此,本发明的主要目的在于提供一种磁盘重建方法,能够提高重建成功率。
本发明的另一目的在于提供一种磁盘重建装置,能够提高重建成功率。
为达到上述目的,本发明的技术方案是这样实现的:
一种磁盘重建方法,包括:
当独立冗余磁盘阵列RAID中的任一磁盘出现错误的次数达到预定阀值时,用热备盘顶替该出现错误的磁盘,并将该出现错误的磁盘设置为ACTIVE_SPARE状态;
依次对热备盘中的各条带单元进行重建,其中,在对每个条带单元X进行重建时,如果与条带单元X处于同一条带内的任一条带单元出现重建读介质错误,则将处于ACTIVE_SPARE状态的磁盘中的对应条带单元中的数据写入到条带单元X中,所述对应是指所处位置相同。
一种磁盘重建装置,包括:
第一处理模块,用于当独立冗余磁盘阵列RAID中的任一磁盘出现错误的次数达到预定阀值时,用热备盘顶替该出现错误的磁盘,并将该出现错误的磁盘设置为ACTIVE_SPARE状态;
第二处理模块,用于依次对热备盘中的各条带单元进行重建,其中,在对每个条带单元X进行重建时,如果与条带单元X处于同一条带内的任一条带单元出现重建读介质错误,则将处于ACTIVE_SPARE状态的磁盘中的对应条带单元中的数据写入到条带单元X中,所述对应是指所处位置相同。
可见,采用本发明的技术方案,在对任一条带单元进行重建时,如果与其处于同一条带内的其它任一条带单元出现重建读介质错误,则可将处于ACTIVE_SPARE状态的磁盘中的对应条带单元中的数据写入到要重建的条带单元中,从而提高了重建成功率,进而提高了RAID的冗余度。
附图说明
图1为现有RAID 5的一种组成结构示意图。
图2为本发明磁盘重建方法实施例的流程图。
图3为本发明用热备盘顶替出现错误的磁盘后的示意图。
图4为本发明磁盘重建装置实施例的组成结构示意图。
具体实施方式
针对现有技术中存在的问题,本发明中提出一种改进后的磁盘重建方案,能够提高重建成功率,进而提高了RAID的冗余度。
为使本发明的技术方案更加清楚、明白,以下参照附图并举实施例,对本发明所述方案作进一步地详细说明。
图2为本发明磁盘重建方法实施例的流程图。如图2所示,包括以下步骤:
步骤21:当RAID中的任一磁盘出现错误的次数达到预定阀值时,用热备盘顶替该出现错误的磁盘,并将该出现错误的磁盘设置为ACTIVE_SPARE状态。
如果某一磁盘出现错误的次数过多,如达到预定阀值,则可认为该磁盘有风险,并用热备盘顶替该有风险的磁盘,同时,将该有风险的磁盘设置为ACTIVE_SPARE状态。
所述阀值的具体取值可根据实际需要而定。
步骤22:依次对热备盘中的各条带单元进行重建,其中,在对每个条带单元X进行重建时,如果与条带单元X处于同一条带内的任一条带单元出现重建读介质错误,则将处于ACTIVE_SPARE状态的磁盘中的对应条带单元中的数据写入到条带单元X中,所述对应是指所处位置相同。
本步骤中,参照图1所示的热备盘,按照从上到下的顺序依次对各条带单元进行重建,即可先根据与热备盘中的条带单元1处于同一条带内的各条带单元中的数据来对热备盘中的条带单元1进行重建,之后可根据与热备盘中的条带单元2处于同一条带内的各条带单元中的数据来对热备盘中的条带单元2进行重建,依次类推。
其中,在对每个条带单元X(为便于表述,用条带单元X来代表要重建的任一条带单元)进行重建时,如果与条带单元X处于同一条带内的任一条带单元出现重建读介质错误,则可将处于ACTIVE_SPARE状态的磁盘中的对应条带单元中的数据写入到条带单元X中。
比如,条带单元X为热备盘中的条带单元1,那么则可将处于ACTIVE_SPARE状态的磁盘中按照从上到下的顺序处于第1位的条带单元中的数据写入到条带单元X中。
对于处于ACTIVE_SPARE状态的磁盘来说,虽然其出现了错误,但并不表示其中的数据完全不可用,在需要时,可利用其中的数据来重建热备盘。
另外,为进一步提高RAID的冗余度,本发明所述方案中还提出:
1)在对条带单元X进行重建时,如果与条带单元X处于同一条带内的任一条带单元出现主机端读介质错误,则根据条带单元X所在的条带内除条带单元X和出现错误的条带单元以外的各条带单元中的数据以及处于ACTIVE_SPARE状态的磁盘中的对应条带单元中的数据计算出所需数据,返回给主机端;
2)当主机端向除热备盘和处于ACTIVE_SPARE状态的磁盘以外的任一磁盘中的任一条带单元Y中写入数据时,如果发生写介质错误,则确定热备盘中与条带单元Y处于同一条带内的条带单元是否已经重建完毕;
如果是,则读出条带单元Y所在的条带内除条带单元Y以外的各条带单元中的数据,并根据读出的数据以及要写入到条带单元Y中的数据计算出校验值,将计算出的校验值写入到相应的条带单元中;
如果否,则读出条带单元Y所在的条带内除条带单元Y和热备盘中的条带单元以外的各条带单元中的数据以及处于ACTIVE_SPARE状态的磁盘中的对应条带单元中的数据,并根据读出的数据以及要写入到条带单元Y中的数据计算出校验值,将计算出的校验值写入到相应的条带单元中;
后续,可根据校验值重建出要写入到条带单元Y中的数据;如何计算所需数据、如何计算校验值以及如何确定将计算出的校验值写入哪个条带单元等均为现有技术。
可以看出,上述过程中,处于ACTIVE_SPARE状态的磁盘并未被完全舍弃,在对热备盘进行重建的过程中,还可能会被多次用到,当热备盘重建完毕后,即可舍弃处于ACTIVE_SPARE状态的磁盘。
上述过程可整体举例说明如下:
图3为本发明用热备盘顶替出现错误的磁盘后的示意图。
结合图1,假设disk 3出现错误的次数达到了预定阀值,那么可用热备盘来顶替disk 3,并首先对热备盘中的条带单元1进行重建,如果在重建过程中disk2中的条带单元1出现重建读介质错误,则可将处于ACTIVE_SPARE状态的磁盘中的条带单元1中的数据写入到热备盘的条带单元1中;如果在重建过程中disk 2中的条带单元1出现主机端读介质错误,则可根据disk 1中的条带单元1中的数据、disk 4中的条带单元1中的数据、disk 5中的条带单元1中的数据,以及处于ACTIVE_SPARE状态的磁盘中的条带单元1中的数据计算出所需数据,返回给主机端。
如果主机端向disk 2中的条带单元2写入数据时发生写介质错误,那么,可首先确定热备盘中的条带单元2是否已经重建完毕,如果是,则读出disk 1中的条带单元2中的数据、热备盘中的条带单元2中的数据、disk 4中的条带单元2中的数据,以及disk 5中的条带单元2中的数据,并根据读出的数据以及要写入到条带单元Y中的数据计算出校验值,将计算出的校验值写入到相应的条带单元中;如果否,则读出disk 1中的条带单元2中的数据、disk 4中的条带单元2中的数据、disk 5中的条带单元2的数据,以及处于ACTIVE_SPARE状态的磁盘中的条带单元2中的数据,并根据读出的数据以及要写入到条带单元Y中的数据计算出校验值,将计算出的校验值写入到相应的条带单元中。
至此,即完成了关于本发明方法实施例的介绍。
基于上述介绍,图4为本发明磁盘重建装置实施例的组成结构示意图。如图4所示,包括:
第一处理模块41,用于当RAID中的任一磁盘出现错误的次数达到预定阀值时,用热备盘顶替该出现错误的磁盘,并将该出现错误的磁盘设置为ACTIVE_SPARE状态;
第二处理模块42,用于依次对热备盘中的各条带单元进行重建,其中,在对每个条带单元X进行重建时,如果与条带单元X处于同一条带内的任一条带单元出现重建读介质错误,则将处于ACTIVE_SPARE状态的磁盘中的对应条带单元中的数据写入到条带单元X中,所述对应是指所处位置相同。
其中,第二处理模块42可进一步用于,在对条带单元X进行重建时,如果与条带单元X处于同一条带内的任一条带单元出现主机端读介质错误,则根据条带单元X所在的条带内除条带单元X和出现错误的条带单元以外的各条带单元中的数据以及处于ACTIVE_SPARE状态的磁盘中的对应条带单元中的数据计算出所需数据,返回给主机端。
第二处理模块42还可进一步用于,当主机端向除热备盘和处于ACTIVE_SPARE状态的磁盘以外的任一磁盘中的任一条带单元Y中写入数据时,如果发生写介质错误,则确定热备盘中与条带单元Y处于同一条带内的条带单元是否已经重建完毕;如果是,则读出条带单元Y所在的条带内除条带单元Y以外的各条带单元中的数据,并根据读出的数据以及要写入到条带单元Y中的数据计算出校验值,将计算出的校验值写入到相应的条带单元中;如果否,则读出条带单元Y所在的条带内除条带单元Y和热备盘中的条带单元以外的各条带单元中的数据以及处于ACTIVE_SPARE状态的磁盘中的对应条带单元中的数据,并根据读出的数据以及要写入到条带单元Y中的数据计算出校验值,将计算出的校验值写入到相应的条带单元中。
图4所示装置实施例的具体工作流程请参照上述方法实施例中的相应说明,此处不再赘述。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

Claims (2)

1.一种磁盘重建方法,其特征在于,包括:
当独立冗余磁盘阵列RAID中的任一磁盘出现错误的次数达到预定阀值时,用热备盘顶替该出现错误的磁盘,并将该出现错误的磁盘设置为ACTIVE_SPARE状态;
依次对热备盘中的各条带单元进行重建,其中,在对每个条带单元X进行重建时,如果与条带单元X处于同一条带内的任一条带单元出现重建读介质错误,则将处于ACTIVE_SPARE状态的磁盘中的对应条带单元中的数据写入到条带单元X中,所述对应是指所处位置相同,否则,根据与条带单元X处于同一条带内的各条带单元中的数据对条带单元X进行重建;
该方法进一步包括:
在对条带单元X进行重建时,如果与条带单元X处于同一条带内的任一条带单元出现主机端读介质错误,则根据条带单元X所在的条带内除条带单元X和出现错误的条带单元以外的各条带单元中的数据以及处于ACTIVE_SPARE状态的磁盘中的对应条带单元中的数据计算出所需数据,返回给主机端;
该方法进一步包括:
当主机端向除热备盘和处于ACTIVE_SPARE状态的磁盘以外的任一磁盘中的任一条带单元Y中写入数据时,如果发生写介质错误,则确定热备盘中与条带单元Y处于同一条带内的条带单元是否已经重建完毕;
如果是,则读出条带单元Y所在的条带内除条带单元Y以外的各条带单元中的数据,并根据读出的数据以及要写入到条带单元Y中的数据计算出校验值,将计算出的校验值写入到相应的条带单元中;
如果否,则读出条带单元Y所在的条带内除条带单元Y和热备盘中的条带单元以外的各条带单元中的数据以及处于ACTIVE_SPARE状态的磁盘中的对应条带单元中的数据,并根据读出的数据以及要写入到条带单元Y中的数据计算出校验值,将计算出的校验值写入到相应的条带单元中。
2.一种磁盘重建装置,其特征在于,包括:
第一处理模块,用于当独立冗余磁盘阵列RAID中的任一磁盘出现错误的次数达到预定阀值时,用热备盘顶替该出现错误的磁盘,并将该出现错误的磁盘设置为ACTIVE_SPARE状态;
第二处理模块,用于依次对热备盘中的各条带单元进行重建,其中,在对每个条带单元X进行重建时,如果与条带单元X处于同一条带内的任一条带单元出现重建读介质错误,则将处于ACTIVE_SPARE状态的磁盘中的对应条带单元中的数据写入到条带单元X中,所述对应是指所处位置相同,否则,根据与条带单元X处于同一条带内的各条带单元中的数据对条带单元X进行重建;
所述第二处理模块进一步用于,在对条带单元X进行重建时,如果与条带单元X处于同一条带内的任一条带单元出现主机端读介质错误,则根据条带单元X所在的条带内除条带单元X和出现错误的条带单元以外的各条带单元中的数据以及处于ACTIVE_SPARE状态的磁盘中的对应条带单元中的数据计算出所需数据,返回给主机端;
所述第二处理模块进一步用于,当主机端向除热备盘和处于ACTIVE_SPARE状态的磁盘以外的任一磁盘中的任一条带单元Y中写入数据时,如果发生写介质错误,则确定热备盘中与条带单元Y处于同一条带内的条带单元是否已经重建完毕;如果是,则读出条带单元Y所在的条带内除条带单元Y以外的各条带单元中的数据,并根据读出的数据以及要写入到条带单元Y中的数据计算出校验值,将计算出的校验值写入到相应的条带单元中;如果否,则读出条带单元Y所在的条带内除条带单元Y和热备盘中的条带单元以外的各条带单元中的数据以及处于ACTIVE_SPARE状态的磁盘中的对应条带单元中的数据,并根据读出的数据以及要写入到条带单元Y中的数据计算出校验值,将计算出的校验值写入到相应的条带单元中。
CN201110412147.8A 2011-12-12 2011-12-12 一种磁盘重建方法和装置 Active CN102385544B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201110412147.8A CN102385544B (zh) 2011-12-12 2011-12-12 一种磁盘重建方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110412147.8A CN102385544B (zh) 2011-12-12 2011-12-12 一种磁盘重建方法和装置

Publications (2)

Publication Number Publication Date
CN102385544A CN102385544A (zh) 2012-03-21
CN102385544B true CN102385544B (zh) 2014-07-16

Family

ID=45824975

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110412147.8A Active CN102385544B (zh) 2011-12-12 2011-12-12 一种磁盘重建方法和装置

Country Status (1)

Country Link
CN (1) CN102385544B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105183623B (zh) * 2015-08-25 2018-12-07 浙江宇视科技有限公司 一种基于热备vd提高vdg重建性能的方法和装置
CN105512337B (zh) * 2015-12-31 2019-10-29 联想(北京)有限公司 一种数据管理方法及存储装置
CN108334280B (zh) * 2017-12-28 2021-01-08 深圳创新科技术有限公司 一种raid5磁盘组快速重建方法和装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101916173A (zh) * 2010-08-27 2010-12-15 杭州华三通信技术有限公司 一种基于raid的数据读写方法及其系统
CN102012847A (zh) * 2010-12-06 2011-04-13 创新科存储技术有限公司 一种改进的磁盘阵列重建方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101916173A (zh) * 2010-08-27 2010-12-15 杭州华三通信技术有限公司 一种基于raid的数据读写方法及其系统
CN102012847A (zh) * 2010-12-06 2011-04-13 创新科存储技术有限公司 一种改进的磁盘阵列重建方法

Also Published As

Publication number Publication date
CN102385544A (zh) 2012-03-21

Similar Documents

Publication Publication Date Title
CN102708019B (zh) 一种硬盘数据恢复方法、装置及系统
CN103034458B (zh) 固态硬盘中实现独立磁盘冗余阵列的方法及装置
CN102880428B (zh) 分布式独立磁盘冗余阵列的创建方法及装置
CN101833422B (zh) 磁盘阵列的数据处理方法及设备
CN103578565B (zh) 一种NAND Flash存储芯片的校验方法及装置
CN101984400B (zh) 一种raid控制方法、装置及系统
CN102799533B (zh) 一种磁盘损坏扇区屏蔽方法及装置
CN101840360A (zh) Raid系统的快速重建方法及装置
CN103488432B (zh) 一种混合磁盘阵列及其延迟写入校验方法和数据恢复方法
CN102207895A (zh) 一种独立磁盘冗余阵列数据重建方法和装置
CN103593260B (zh) 一种元数据的保护方法和装置
CN101916173A (zh) 一种基于raid的数据读写方法及其系统
CN104347122A (zh) 一种消息式内存模组的访存方法和装置
CN103019894B (zh) 一种独立冗余磁盘阵列的重建方法
CN104503781A (zh) 硬盘的固件升级方法和存储系统
CN102591746B (zh) 数据重构方法和存储设备
CN109032513B (zh) 基于ssd和hdd的raid架构及其备份、重建方法
CN104516679B (zh) 一种raid数据处理方法及装置
CN103678025A (zh) 一种磁盘阵列中的磁盘故障处理方法
CN102385544B (zh) 一种磁盘重建方法和装置
CN101251812A (zh) 一种应用于集群系统数据容错的方法
CN104461373B (zh) 一种raid数据处理方法及装置
EP2613258A1 (en) Automatic remapping in redundant array of independent disks and related raid
CN102681918B (zh) 数据存储备份方法及装置
CN105630417A (zh) 一种raid5系统及在raid5系统失效后继续写数据的方法

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: 518057 Room 501A, 9 Buildings, Shenzhen Software Park (Phase 2), No. 1 Science and Technology Middle Road, Nanshan High-tech Zone, Shenzhen, Guangdong Province

Co-patentee after: Innovation Technology Co., Ltd.

Patentee after: Shenzhen Innovation Software Technology Co., Ltd.

Address before: 518057 Section D West, 2nd Floor, 1st # Building, Industrial Building, Great Wall Computer Building, No. 3 Kefa Road, Nanshan District, Shenzhen City, Guangdong Province

Co-patentee before: Innovation and Technology Storage Technology Co., Ltd.

Patentee before: Chuangxinke Software Technology (Shenzhen) Co., Ltd.

CP03 Change of name, title or address