CN102012847B - 一种磁盘阵列重建方法 - Google Patents
一种磁盘阵列重建方法 Download PDFInfo
- Publication number
- CN102012847B CN102012847B CN 201010581876 CN201010581876A CN102012847B CN 102012847 B CN102012847 B CN 102012847B CN 201010581876 CN201010581876 CN 201010581876 CN 201010581876 A CN201010581876 A CN 201010581876A CN 102012847 B CN102012847 B CN 102012847B
- Authority
- CN
- China
- Prior art keywords
- disk
- data
- raid system
- raid
- alarm panel
- 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
本发明提供了一种磁盘阵列重建方法,包括如下步骤:A、统计独立冗余磁盘阵列RAID***中磁盘上的错误计数;B、判断RAID***中一块磁盘上的错误计数是否超过预设的阈值,若是,执行步骤C,否则返回步骤A;C、将所述磁盘设置为告警盘,激活预先设置的热备盘,将告警盘上已有的数据复制到热备盘上;D、复制完成后,将告警盘从RAID***中清除,将热备盘代替出错磁盘作为RAID***的组成磁盘。本发明方案可以有效降低重建过程中数据丢失的风险,并加快重建的过程。
Description
技术领域
本发明涉及计算机存储技术领域,特别涉及独立冗余磁盘阵列(Redundant Array of Independent Disks,RAID)技术,尤其涉及一种磁盘阵列重建方法。
背景技术
RAID是一种把多块独立的磁盘按不同的方式组合起来形成一个磁盘组(逻辑磁盘),从而提供比单个磁盘更高的存储性能和提供数据冗余保护的技术。RAID技术的原理,就是把数据和相对应的奇偶校验信息存储到组成RAID***的各个磁盘上,并且奇偶校验信息和相对应的数据分别存储于不同的磁盘上。当RAID***的一个磁盘数据发生损坏后,利用剩下的数据和相应的奇偶校验信息去恢复被损坏的数据。作为网络存储***的基础和关键部件,RAID以其快速、海量和高可靠性的特点而著称。RAID技术出现后,在工业、军事、教育等各个领域的应用需求十分广泛,对RAID技术的研究也一直是行业热点。
组成磁盘阵列的不同方式称为RAID级别(RAID Levels)。比如常见的RAID级别有RAID0,RAID1,RAID5,RAID6等。不同的RAID级别提供不同的数据保护方案。
以4块磁盘组成的RAID5为例,只允许有一块硬盘出现故障,一块磁盘出现故障时,RAID5就不具备数据冗余保护功能了,所以出现故障盘时需要尽快更换。当更换故障硬盘后,磁盘控制器会利用正常磁盘上的数据及奇偶校验进行计算,将计算的结果写入更换后的磁盘上,这个过程叫做RAID的重建。
重建的目的是为了让RAID重新具有数据冗余保护功能。在出现RAID的磁盘故障时,磁盘阵列厂商普遍使用热备盘技术来实现RAID的自动重建。热备盘技术,简单来说,就是在创建RAID***时,为该RAID指定一块磁盘作为热备盘,当RAID***的某块成员磁盘发生故障时,热备盘能够自动替换故障磁盘,触发RAID重建。顾名思义,“热”备盘在替换故障磁盘时,不需要中断RAID***上的读写业务,即RAID***重建时,仍然可以进行对该RAID***进行读写操作。
当前大部分厂家的这种利用热备盘进行RAID自动重建的技术有如下的技术缺点:
在一块磁盘彻底发生故障时,才用热备盘进行重建,在重建的过程中,raid再有一块磁盘发生故障时,raid上的数据将有可能丢失;以4块盘的raid5为例,disk4发生故障后,需要利用disk1,disk2和disk3上数据和奇偶校验进行重建,将重建的数据写入disk5,如果重建过程中,disk1-disk3中任一块磁盘发生故障,那么将重建失败,造成数据丢失;此外,重建的过程比较慢,raid在重建的过程中,读写性能将受到较大影响。
发明内容
本发明提供了一种磁盘阵列重建方法,可以有效降低重建过程中数据丢失的风险,并加快重建的过程。
本发明实施例提出的一种磁盘阵列重建方法,包括如下步骤:
A、统计独立冗余磁盘阵列RAID***中磁盘上的错误计数;
B、判断RAID***中一块磁盘上的错误计数是否超过预设的阈值,若是,执行步骤C1,否则返回步骤A;
C1、将所述磁盘设置为告警盘,激活预先设置的热备盘,创建每一位初始值为0的位图表,所述位图表的每一位,对应于告警盘的一个条带;
C2、将告警盘上的所有数据复制到所述热备盘;如果复制过程中,发现告警盘上的部分数据已损坏,则将已损坏数据所在的条带对应的位图表上的位设置为1;
D、复制完成后,根据RAID***中正常盘以及奇偶校验,计算出位图表值为1的位对应的告警盘的条带的数据,并将所计算的数据写入热备盘中;将告警盘从RAID***中清除,将热备盘代替出错磁盘作为RAID***的组成磁盘。
较佳地,所述统计RAID***中磁盘上的错误计数为:统计RAID***中磁盘上特定错误类型的总数及一段时间内特定错误类型累计的计数。
较佳地,所述特定错误类型为命令超时,介质错误,磁盘非正常或通道错误。
较佳地,所述步骤C进一步包括:将需要写入出错磁盘的数据写入到所述热备盘。
较佳地,所述步骤C2进一步包括:如果复制过程中需要写告警盘,则将写数据需要改写的条带所对应的位图表上的位设置为1。
从以上技术方案可以看出,通过对磁盘阵列中磁盘的错误进行计数,在磁盘彻底损坏之前,触发对磁盘的重建过程;由于磁盘重建时磁盘尚能工作,因此可以用磁盘拷贝的方式将数据从告警盘复制到热备盘,极大缩短了重建所需的时间,从而有效降低重建过程中数据丢失的风险。
附图说明
图1为本发明实施例一提出的磁盘阵列重建流程示意图;
图2为本发明实施例二提出的磁盘阵列重建流程示意图。
具体实施方式
磁盘是机电设备,磁盘读写过程中,会出现一些错误,这些错误包括介质错误,机械错误,电子错误以及各种软件错误,比如SCSI命令超时等,这些错误在***的重试等机制下,能够得到及时的修正,对数据不会造成破坏。但是一旦磁盘上大量出现错误,那么很有可能磁盘在不久的将来会彻底出现故障。
本发明方案通过统计和监控RAID***中各种类型的磁盘错误数统计,用来预判磁盘的健康状态,当预判磁盘可能彻底故障时,将该磁盘设置为告警盘,触发RAID***的重建。由于此时磁盘并未彻底损坏,其上存储的大部分数据还是完好的,因此本发明方案所述的重建过程可以与现有技术不同,采用磁盘拷贝的方式将告警盘的数据拷贝到热备盘。
较佳地,如果拷贝过程中遇到已损坏或被更改的数据,再用现有的重建方式,根据RAID***中的其他盘的数据和奇偶校验来对已损坏或更改的数据进行恢复。
本发明所述磁盘错误类型包括但不限于:命令超时,介质错误,磁盘非正常,通道错误及其他错误类型。
以下所述RAID***具有数据冗余保护功能,且指定了热备盘。
本发明实施例一提出的磁盘阵列重建流程如图1所示,包括如下步骤:
步骤101:统计RAID***中磁盘上的各种错误计数,包括但不限于某种错误类型的总数及一段时间内某种错误类型累计的计数。
步骤102:判断一块磁盘上某种错误类型的总计数或者一段时间内某种错误累计数是否超过了预设的阈值,若是,则执行步骤103,否则,返回步骤101。
举个例子,如果一块磁盘的介质错误统计总数查过了500个,或者24小时内超过200个,则这块磁盘将被***设置为警告状态。
步骤103:激活预先设置的热备盘。
步骤104:将告警盘上已有的数据复制到热备盘上。
如果在拷贝过程中,要向告警盘上写新的数据,将需要写入告警盘的数据写入到所述热备盘。
步骤105:复制完成后,将告警盘从RAID***中清除,将热备盘代替出错磁盘作为RAID***的组成磁盘。
实施例一的技术方案仅提出了本发明的基本框架,但对于出错磁盘上的部分数据已经损坏的情况,则没有相应的解决方案。有鉴于此,本发明实施例二提出了较为完善的技术方案,可以解决上述技术问题。
本发明实施例二提出的磁盘阵列重建流程如图2所示,包括如下步骤:
步骤201:统计RAID***中磁盘上的各种错误计数,包括但不限于某种错误类型的总数及一段时间内某种错误类型累计的计数。
步骤202:判断一块磁盘上某种错误类型的总计数或者一段时间内某种错误累计数是否超过了预设的阈值,若是,则执行步骤203,否则,返回步骤201。
步骤203:将出错磁盘设置为告警状态,激活热备盘,并创建位图表(bitmap),所述位图表的每一位,对应于告警盘的一个条带。初始时,位图表的每一位的值均为0。
步骤204:将告警状态的磁盘上的所有数据拷贝到被激活的热备盘。
如果拷贝过程中,发现告警盘上的部分数据已损坏导致数据无法拷贝,则将已损坏数据所在的条带对应的位图表上的位设置为1。
如果拷贝过程中,需要写告警盘,则将写数据需要改写的条带所对应的位图表上的位设置为1。
如果拷贝过程中,需要读取告警盘上的数据,则通过RAID***中其他正常盘计算出所要读取的数据并返回。
步骤205:拷贝完成后,根据正常盘以及奇偶校验,计算出位图表值为1的位对应的告警盘的条带的数据,并将所计算的数据写入热备盘中。
步骤206:将告警盘从RAID***中清除,将热备盘取代告警盘作为RAID***的组成磁盘,完成重建过程。
实施例二的技术方案中将磁盘拷贝与传统的重建技术相结合,对于告警盘的绝大部分数据采用磁盘拷贝的方式转移到热备盘,以节约***重建时间;对于已损坏的数据,则采用传统的重建方式恢复数据。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (5)
1.一种磁盘阵列重建方法,其特征在于,包括如下步骤:
A、统计独立冗余磁盘阵列RAID***中磁盘上的错误计数;
B、判断RAID***中一块磁盘上的错误计数是否超过预设的阈值,若是,执行步骤C1,否则返回步骤A;
C1、将所述磁盘设置为告警盘,激活预先设置的热备盘,创建每一位初始值为0的位图表,所述位图表的每一位,对应于告警盘的一个条带;
C2、将告警盘上的所有数据复制到所述热备盘;如果复制过程中,发现告警盘上的部分数据已损坏,则将已损坏数据所在的条带对应的位图表上的位设置为1;
D、复制完成后,根据RAID***中正常盘以及奇偶校验,计算出位图表值为1的位对应的告警盘的条带的数据,并将所计算的数据写入热备盘中;将告警盘从RAID***中清除,将热备盘代替出错磁盘作为RAID***的组成磁盘。
2.根据权利要求1所述的方法,其特征在于,所述统计RAID***中磁盘上的错误计数为:统计RAID***中磁盘上特定错误类型的总数及一段时间内特定错误类型累计的计数。
3.根据权利要求2所述的方法,其特征在于,所述特定错误类型为命令超时,介质错误,磁盘非正常或通道错误。
4.根据权利要求1所述的方法,其特征在于,所述步骤C进一步包括:将需要写入出错磁盘的数据写入到所述热备盘。
5.根据权利要求1所述的方法,其特征在于,所述步骤C2进一步包括:如果复制过程中需要写告警盘,则将写数据需要改写的条带所对应的位图表上的位设置为1。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010581876 CN102012847B (zh) | 2010-12-06 | 2010-12-06 | 一种磁盘阵列重建方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010581876 CN102012847B (zh) | 2010-12-06 | 2010-12-06 | 一种磁盘阵列重建方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102012847A CN102012847A (zh) | 2011-04-13 |
CN102012847B true CN102012847B (zh) | 2013-05-08 |
Family
ID=43843023
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201010581876 Active CN102012847B (zh) | 2010-12-06 | 2010-12-06 | 一种磁盘阵列重建方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102012847B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9645897B2 (en) | 2015-03-11 | 2017-05-09 | International Business Machines Corporation | Using duplicated data to enhance data security in RAID environments |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8635500B2 (en) * | 2011-08-09 | 2014-01-21 | Alcatel Lucent | System and method for powering redundant components |
CN102508733B (zh) * | 2011-09-22 | 2016-01-20 | 杭州华三通信技术有限公司 | 一种基于磁盘阵列的数据处理方法及磁盘阵列管理器 |
CN102385544B (zh) * | 2011-12-12 | 2014-07-16 | 创新科软件技术(深圳)有限公司 | 一种磁盘重建方法和装置 |
CN102609223B (zh) * | 2012-02-13 | 2015-06-24 | 浪潮(北京)电子信息产业有限公司 | 一种独立冗余磁盘阵列***及其初始化方法 |
CN102999399B (zh) * | 2012-11-13 | 2016-08-03 | 浙江宇视科技有限公司 | 一种jbod阵列自动恢复存储的方法和装置 |
CN102981778B (zh) * | 2012-11-15 | 2016-11-16 | 浙江宇视科技有限公司 | 一种raid阵列重建方法及装置 |
CN103473020A (zh) * | 2013-09-22 | 2013-12-25 | 浪潮(北京)电子信息产业有限公司 | 一种Raid配置方法和装置 |
CN103488547A (zh) * | 2013-09-24 | 2014-01-01 | 浪潮电子信息产业股份有限公司 | 一种raid组故障硬盘快速重建的方法 |
CN105302677A (zh) * | 2014-07-29 | 2016-02-03 | 株式会社东芝 | 信息处理装置和信息处理方法 |
CN105335256B (zh) * | 2014-08-15 | 2019-01-15 | 中国电信股份有限公司 | 在整机柜服务器中切换备份磁盘的方法、装置和*** |
CN104407821B (zh) * | 2014-12-12 | 2018-02-06 | 浪潮(北京)电子信息产业有限公司 | 一种实现raid重构的方法及装置 |
CN104636082B (zh) * | 2014-12-30 | 2019-02-22 | 曙光信息产业股份有限公司 | 磁盘阵列raid的控制方法及装置 |
CN107886992A (zh) * | 2017-11-06 | 2018-04-06 | 郑州云海信息技术有限公司 | 一种raid健康状态检测方法、***及相关装置 |
CN108874314A (zh) * | 2018-05-31 | 2018-11-23 | 郑州云海信息技术有限公司 | 一种独立冗余磁盘阵列的重构方法及装置 |
CN109189338B (zh) * | 2018-08-27 | 2021-06-18 | 郑州云海信息技术有限公司 | 一种热备盘添加的方法、***及设备 |
CN109799953B (zh) * | 2018-12-14 | 2022-10-11 | 深圳创新科技术有限公司 | 一种快速重建raid的方法和装置 |
CN111831470B (zh) * | 2019-04-18 | 2024-03-08 | 上海川源信息科技有限公司 | 磁盘阵列***的数据还原方法 |
CN112084061A (zh) * | 2019-06-15 | 2020-12-15 | 国际商业机器公司 | 减少相同raid级别的raid阵列中的数据丢失事件 |
CN113238991B (zh) * | 2021-07-12 | 2021-11-05 | 湖南博匠信息科技有限公司 | 一种基于fpga实现硬raid卡功能的方法 |
CN113986127A (zh) * | 2021-10-26 | 2022-01-28 | 深信服科技股份有限公司 | 一种磁盘切换方法、装置、设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6223252B1 (en) * | 1998-05-04 | 2001-04-24 | International Business Machines Corporation | Hot spare light weight mirror for raid system |
CN1805453A (zh) * | 2005-01-10 | 2006-07-19 | 英业达股份有限公司 | 储存装置数据传输稳定性检测方法及*** |
CN101006431A (zh) * | 2004-08-04 | 2007-07-25 | 达西***股份有限公司 | 执行容错磁盘阵列的预先重建 |
-
2010
- 2010-12-06 CN CN 201010581876 patent/CN102012847B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6223252B1 (en) * | 1998-05-04 | 2001-04-24 | International Business Machines Corporation | Hot spare light weight mirror for raid system |
CN101006431A (zh) * | 2004-08-04 | 2007-07-25 | 达西***股份有限公司 | 执行容错磁盘阵列的预先重建 |
CN1805453A (zh) * | 2005-01-10 | 2006-07-19 | 英业达股份有限公司 | 储存装置数据传输稳定性检测方法及*** |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9645897B2 (en) | 2015-03-11 | 2017-05-09 | International Business Machines Corporation | Using duplicated data to enhance data security in RAID environments |
Also Published As
Publication number | Publication date |
---|---|
CN102012847A (zh) | 2011-04-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102012847B (zh) | 一种磁盘阵列重建方法 | |
TWI450087B (zh) | 複數個磁碟陣列系統之資料儲存方法及資料儲存系統 | |
US9009526B2 (en) | Rebuilding drive data | |
US7565573B2 (en) | Data-duplication control apparatus | |
US8049980B1 (en) | Partial disk failures and improved storage resiliency | |
CN100353328C (zh) | 用于控制存储的装置和方法 | |
JP2008509474A (ja) | 耐故障性raidアレイプリエンプティブ復元の実行 | |
US7779202B2 (en) | Apparatus and method for controlling disk array with redundancy and error counting | |
US20140215262A1 (en) | Rebuilding a storage array | |
CN101887351B (zh) | 一种磁盘阵列容错方法及其*** | |
US7836268B2 (en) | Method, apparatus, and system for controlling data storage | |
CN102799533B (zh) | 一种磁盘损坏扇区屏蔽方法及装置 | |
JPWO2006123416A1 (ja) | ディスク故障復旧方法及びディスクアレイ装置 | |
CN103019894B (zh) | 一种独立冗余磁盘阵列的重建方法 | |
CN103699457A (zh) | 基于条带化的磁盘阵列修复方法及装置 | |
CN102508733A (zh) | 一种基于磁盘阵列的数据处理方法及磁盘阵列管理器 | |
CN102164165B (zh) | 一种网络存储***的管理方法及装置 | |
CN109032513B (zh) | 基于ssd和hdd的raid架构及其备份、重建方法 | |
CN103678025B (zh) | 一种磁盘阵列中的磁盘故障处理方法 | |
JPH09269871A (ja) | ディスクアレイ装置におけるデータ再冗長化方式 | |
CN102495680A (zh) | Raid***的重建方法 | |
TW201329701A (zh) | 具有自動重映射功能的磁碟陣列及其自動重映射方法 | |
CN106528342A (zh) | 一种具有云服务器备份的磁盘阵列容错装置 | |
CN102147714B (zh) | 一种网络存储***的管理方法及装置 | |
US9104598B2 (en) | Systems and methods for medium error reporting and handling in storage devices |
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 | ||
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 Technology Co., Ltd. Patentee after: Innovation Technology Co., Ltd. Address before: Room 0801-0810, 51 College Road, Haidian District, Beijing, 100191 Co-patentee before: UIT Storage Technology (Shenzhen) Co., Ltd. Patentee before: Innovation and Technology Storage Technology Co., Ltd. |