CN102023902B - 一种磁盘阵列重建方法 - Google Patents
一种磁盘阵列重建方法 Download PDFInfo
- Publication number
- CN102023902B CN102023902B CN 201010622571 CN201010622571A CN102023902B CN 102023902 B CN102023902 B CN 102023902B CN 201010622571 CN201010622571 CN 201010622571 CN 201010622571 A CN201010622571 A CN 201010622571A CN 102023902 B CN102023902 B CN 102023902B
- Authority
- CN
- China
- Prior art keywords
- band
- reconstruction
- data
- raid
- dish
- 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
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种磁盘阵列重建方法,该方法包括:在进行磁盘阵列raid重建时,只重建丢失的成员盘上的数据单元对应的条带而不重建丢失的成员盘上的校验单元对应的条带;在后续对没有完成重建的条带写入数据时,以重构写方式写入数据,重建出丢失的成员盘上的校验单元。该方法只重建丢失成员盘上的数据单元而不重建校验单元,从而减少了需要重建的数据量,达到加速raid重建的目的,该方法不需要在raid正常使用时增加额外的***负担,只需在对未完成重建的条带进行写入时将数据写入方式改为重构写方式,就可以重建出丢失的成员盘上的校验单元,逐步完成重建。
Description
技术领域
本发明涉及存储技术领域,特别涉及一种磁盘阵列重建方法。
背景技术
磁盘阵列(RIAD)是由多个磁盘(即成员盘)构成的并行读写存储***。在raid***中,所有的成员盘被合并起来虚拟成为一块具有超大存储空间的磁盘,该虚拟磁盘被划分为一个个的条带,每个条带的存储单元(即条带单元)则对应成员盘的相同偏移地址上的一块存储空间。在raid5和raid6中每个条带被保留了一个或两个条带单元用于保存校验数据,该条带单元被称为检验单元,条带上的其余单元则被称为数据单元。图1为raid5的条带结构示意图,如图1所示,该raid由5块成员盘构成,其中被斜线覆盖的部分为检验单元,其他为数据单元。
raid的重建是在raid的成员盘丢失后发起的数据重建工作,一般要对每个条带单元进行算法分析并恢复丢失的条带单元。重建工作在执行过程中会向raid发出读写命令,因此重建工作的执行效率会间接影响到raid***的读写响应性能。
为了减少raid重建过程对于读写响应性能的影响,人们开发了多种riad重建加速算法,例如,有一种算法使用了数据写入的日志记录***,即将每次写入raid的条带地址都记录下来。当raid需要重建时则通过该日志***查询每个条带是否被写入过数据,若没有则忽略该条带。其目的是只重建写入了数据的条带,从而减少了需要重建的数据量,达到了加速重建过程的目的。
然而,上述算法的缺点是在raid***的正常数据写入过程中需要对日志***进行实时更新,这样很显然变相的使raid***增加了一定的负载,影响了raid***在正常使用时的性能。
发明内容
本发明实施例提供一种磁盘阵列重建方法,在提高重建速度的同时,不会影响raid***正常使用时的性能。
为达到上述目的,本发明的技术方案具体是这样实现的:
一种磁盘阵列重建方法,该方法包括:
在进行磁盘阵列raid重建时,只重建丢失的成员盘上的数据单元对应的条带而不重建丢失的成员盘上的校验单元对应的条带;
在后续对没有完成重建的条带写入数据时,以重构写方式写入数据,重建出丢失的成员盘上的校验单元。
较佳地,所述在进行磁盘阵列raid重建时,只重建丢失的成员盘上的数据单元对应的条带而不重建丢失的成员盘上的校验单元对应的条带,包括:
对丢失成员盘后剩余待重建的条带进行逐个分析,若当前分析的条带所丢失的是数据单元,则重建该条带并分析下一个条带,否则不进行重建而是标记该条带并分析下一个条带;重复上述过程直到所有待重建条带分析完成。
较佳地,所述在后续对没有完成重建的条带写入数据时,以重构写方式写入数据,包括:
对条带进行数据写入时,判断该条带是否被标记为未重建,若是,则以重构写方式进行数据写入。
较佳地,所述raid包括:
raid5或raid6。
由上述的技术方案可见,本发明的这种磁盘阵列重建方法,利用了raid***本身的条带单元分布规律,通过只重建丢失成员盘上的数据单元而不重建校验单元,从而减少了需要重建的数据量,达到加速raid重建的目的,该方法不需要在raid正常使用时增加额外的***负担,只需在对未完成重建的条带进行写入时将数据写入方式改为重构写方式,就可以重建出丢失的成员盘上的校验单元,逐步完成重建。
附图说明
图1为raid5的条带结构示意图;
图2为本发明实施例针对raid5的重建方法原理图;
图3为本发明实施例针对raid6丢失1块成员盘的重建方法原理图;
图4为本发明实施例针对raid6丢失2块成员盘的重建方法原理图;
图5为本发明实施例的raid重建方法流程图。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本发明进一步详细说明。
本发明主要是利用了raid***本身的条带单元分布规律,通过只重建丢失的成员盘上的数据单元对应的条带而不重建丢失的成员盘上的校验单元对应的条带,从而减少了需要重建的数据量,达到加速raid重建的目的,这种方法不需要在raid正常使用时增加额外的***开销,只需要在后续对没有完成重建的条带写入数据时,将数据写入方式改为重构写方式,就可以重新生成丢失的成员盘上的校验单元,完成raid重建。
raid***根据功能不同,有很多不同的raid结构,其中raid5和raid6中的条带校验单元在不同的成员盘上的分布是逐个偏移的,这一点从图1、图2中可以看出。基于这种有规律的条带结构可知,raid5在丢失一块成员盘的情况下,对于数据单元在其他成员盘中,而校验单元在丢失的成员盘的数据来说,丢失校验单元对于这些数据的读取并不会受到影响。因此在重建时可以暂时将这部分条带略过,从而使得重建的效率得到提升。
以图2的情况为例,条带1和条带2的校验单元位于丢失的成员盘中,因此不需要重建,在这种由五块盘构成的raid5在重建时每五个条带中有一个条带是校验单元,即1/5的条带数据是不用重建的。
图3表示了raid6丢失1块成员盘的情况,从图3中可看出,条带1~4的校验单元位于丢失的成员盘中,因此不需要重建,在这种由五块成员盘构成的raid6在重建时每五个条带中就有两个是校验单元,即2/5的条带是不用重建的。
图4表示了raid6丢失2块成员盘的情况,从图4中可看出,条带1和条带2的校验单元均位于丢失的成员盘中,因此不需要重建,在这种由五块成员盘构成的raid6在重建时每五个条带中就有一个是校验单元,即1/5的条带是不用重建的。
本发明还提供了一种磁盘阵列的重建方法,在进行磁盘阵列raid重建时,只重建丢失的成员盘上的数据单元对应的条带而不重建丢失的成员盘上的校验单元对应的条带;在后续对没有完成重建的条带写入数据时,以重构写方式写入数据,重建出丢失的成员盘上的校验单元。
具体地,可以对丢失成员盘后剩余待重建的条带进行逐个分析,若当前分析的条带所丢失的是数据单元,则重建该条带并分析下一个条带,否则不进行重建而是标记该条带并分析下一个条带;重复上述过程直到所有待重建条带分析完成。后续对条带进行数据写入时,判断该条带是否被标记为未重建,若是,则以重构写方式进行数据写入。
图5为本发明一个较佳实施例的raid重建方法流程图,如图5所示,该方法具体包括如下步骤:
步骤501,逐个分析条带;
对丢失成员盘后剩余待重建的条带逐个进行分析;
步骤502,判断当前分析的条带所丢失的是否为数据单元,若是,则执行步骤503,否则执行步骤505;
步骤503,重建当前条带的数据单元;
具体重建方法采用现有技术,本发明未对具体重建方法进行修改,这里不再赘述。
步骤504,判断条带分析是否完毕,若是,则结束流程,否则返回步骤501;
步骤505,不进行重建,而是将当前条带记录下来,并执行步骤504。
记录当前条带可以采用对没有重建的条带做标记的方法,具体标记任意,在按照上述流程完成重建之后,实际上只重建了数据单元,没有重建校验单元,在后续向这些带有标记的条带写入数据时,需要按照重构写方式来写入,以便重建丢失的校验单元,完成对所有条带的重建。
其中,重构写方式是向raid条带写入数据时采用的一种校验计算方式,其过程为先从raid读取除了要写入的数据单元之外的其它数据单元,然后再根据读上来的数据和即将写入的数据计算得出条带的新的校验单元。
本发明只给出了raid5、raid6在不同情况下的重建原理图,但是应用本发明的思想,对于其他raid模式,也可以采用本发明的重建方法,这里就不再赘述了。
由上述的实施例可见,本发明的这种磁盘阵列重建方法,虽然没有一次性完成所有条带单元的重建,但是这并不影响重建后对raid中数据的读取操作,但是却大幅提高了重建的速度,后续只要在被标记的条带中写入数据时,采用重构写方式,就可以陆续地重建出丢失的校验单元,最终完成所有条带单元的数据重建,使raid***在实现快速重建的同时,无需为实现快速重建而增加正常使用时的额外负担。
Claims (4)
1.一种磁盘阵列重建方法,其特征在于,该方法包括:
在进行磁盘阵列raid重建时,只重建丢失的成员盘上的数据单元对应的条带而不重建丢失的成员盘上的校验单元对应的条带;
在后续对没有完成重建的条带写入数据时,以重构写方式写入数据,重建出丢失的成员盘上的校验单元。
2.如权利要求1所述的磁盘阵列重建方法,其特征在于,所述在进行磁盘阵列raid重建时,只重建丢失的成员盘上的数据单元对应的条带而不重建丢失的成员盘上的校验单元对应的条带,包括:
对丢失成员盘后剩余待重建的条带进行逐个分析,若当前分析的条带所丢失的是数据单元,则重建该条带并分析下一个条带,否则不进行重建而是标记该条带并分析下一个条带;重复上述过程直到所有待重建条带分析完成。
3.如权利要求2所述的磁盘阵列重建方法,其特征在于,所述在后续对没有完成重建的条带写入数据时,以重构写方式写入数据,包括:
对条带进行数据写入时,判断该条带是否被标记为未重建,若是,则以重构写方式进行数据写入。
4.如权利要求1、2或3所述的磁盘阵列重建方法,其特征在于,所述raid包括:
raid5或raid6。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010622571 CN102023902B (zh) | 2010-12-28 | 2010-12-28 | 一种磁盘阵列重建方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010622571 CN102023902B (zh) | 2010-12-28 | 2010-12-28 | 一种磁盘阵列重建方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102023902A CN102023902A (zh) | 2011-04-20 |
CN102023902B true CN102023902B (zh) | 2013-05-08 |
Family
ID=43865223
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201010622571 Active CN102023902B (zh) | 2010-12-28 | 2010-12-28 | 一种磁盘阵列重建方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102023902B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015078192A1 (zh) * | 2013-11-29 | 2015-06-04 | 华为技术有限公司 | 一种数据处理方法及设备 |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102184129B (zh) * | 2011-04-27 | 2014-03-12 | 杭州华三通信技术有限公司 | 磁盘阵列的容错方法和装置 |
CN102609224B (zh) * | 2012-02-16 | 2015-03-11 | 浪潮(北京)电子信息产业有限公司 | 一种独立冗余磁盘阵列***及其初始化方法 |
CN103513938B (zh) * | 2013-09-16 | 2016-06-29 | 华为技术有限公司 | 一种独立磁盘冗余阵列raid***扩容方法及装置 |
CN103678048B (zh) * | 2013-11-29 | 2015-11-25 | 华为技术有限公司 | 独立磁盘冗余阵列修复方法、装置和存储设备 |
CN108874314A (zh) * | 2018-05-31 | 2018-11-23 | 郑州云海信息技术有限公司 | 一种独立冗余磁盘阵列的重构方法及装置 |
CN111381997B (zh) * | 2018-12-28 | 2024-03-01 | 杭州宏杉科技股份有限公司 | 一种raid重建方法及装置 |
CN111078472B (zh) * | 2019-12-23 | 2023-06-02 | 四川效率源信息安全技术股份有限公司 | 一种raid6缺失磁盘后的数据恢复方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101387975A (zh) * | 2008-10-20 | 2009-03-18 | 中科院成都信息技术有限公司 | 一种磁盘阵列*** |
CN101770413A (zh) * | 2010-01-07 | 2010-07-07 | 杭州华三通信技术有限公司 | 冗余磁盘阵列重建的方法及设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6891690B2 (en) * | 2002-11-20 | 2005-05-10 | International Business Machines Corporation | On-drive integrated sector format raid error correction code system and method |
-
2010
- 2010-12-28 CN CN 201010622571 patent/CN102023902B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101387975A (zh) * | 2008-10-20 | 2009-03-18 | 中科院成都信息技术有限公司 | 一种磁盘阵列*** |
CN101770413A (zh) * | 2010-01-07 | 2010-07-07 | 杭州华三通信技术有限公司 | 冗余磁盘阵列重建的方法及设备 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015078192A1 (zh) * | 2013-11-29 | 2015-06-04 | 华为技术有限公司 | 一种数据处理方法及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN102023902A (zh) | 2011-04-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102023902B (zh) | 一种磁盘阵列重建方法 | |
CN103049222B (zh) | 一种raid5的写io优化处理方法 | |
CN101727299B (zh) | 连续数据存储中面向raid5的写操作优化设计方法 | |
CN104035830B (zh) | 一种数据恢复方法和装置 | |
CN100576181C (zh) | 一种磁盘阵列的数据重建方法 | |
CN102207895B (zh) | 一种独立磁盘冗余阵列数据重建方法和装置 | |
EP2899626B1 (en) | Method and system for service-aware data placement in a storage system | |
CN110187830A (zh) | 一种加速磁盘阵列重建的方法及*** | |
CN101840360A (zh) | Raid***的快速重建方法及装置 | |
CN106527971B (zh) | 一种提升ssd在垃圾回收期间读性能的方法 | |
US20130232292A1 (en) | Implementing large block random write hot spare ssd for smr raid | |
CN102722340A (zh) | 数据处理方法、装置及*** | |
CN101609420A (zh) | 实现磁盘冗余阵列重建的方法和磁盘冗余阵列及其控制器 | |
CN104809032A (zh) | 用于存储***中服务感知的奇偶校验放置的方法和*** | |
CN107250975A (zh) | 数据存储***和数据存储方法 | |
CN104407813A (zh) | 一种基于固态存储介质的raid***及方法 | |
CN103186438A (zh) | 一种提高磁盘阵列数据重构效率的方法 | |
CN104182176B (zh) | 一种独立磁盘冗余阵列raid5的快速扩容方法 | |
CN110413454A (zh) | 基于存储阵列的数据重建方法、装置及存储介质 | |
CN102981936A (zh) | 一种磁盘阵列数据重构的方法 | |
CN105988727A (zh) | 一种基于raid的存储方法和存储装置 | |
WO2005066759A3 (en) | Method, system, and program for managing parity raid data updates | |
CN102915207A (zh) | 固态储存装置及其数据储存方法 | |
CN106484324A (zh) | 一种raid重建的方法、***及raid | |
CN103488547A (zh) | 一种raid组故障硬盘快速重建的方法 |
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: Room 505, Taixing Building, 11 Garden East Road, Haidian District, Beijing, 100191 Co-patentee after: Shenzhen Innovation Software Technology Co., Ltd. Patentee after: Innovation Technology Co., Ltd. Address before: Room 0801-0810, 51 College Road, Haidian District, Beijing, 100191 Co-patentee before: Chuangxinke Software Technology (Shenzhen) Co., Ltd. Patentee before: Innovation and Technology Storage Technology Co., Ltd. |
|
CP03 | Change of name, title or address |