The invention discloses an active data repair method and system for erasure code. This method includes: collecting the information of each set hard disk regularly, extracting and marking its features, and getting a training data set; using the training data set to train a hard disk fault degree recognition model; collecting the information of each hard disk in the erasure code system and extracting its features, and then inputting it into the hard disk fault degree recognition model to get the corresponding fault degree of each hard disk; If the fault degree of hard disk A is higher than the fault threshold x, then the active repair of hard disk A is started: traverse all data blocks in hard disk A, read the hard disk number of the band to which it belongs, and regard the hard disk corresponding to these hard disk numbers as the hard disk that participates in the joint repair, called B disk group; repair all data blocks in set T from hard disk A to hard disk C with the lowest fault degree, and pass through. The encoding and decoding method repairs all data blocks in set R from B disk group to C hard disk.
【技术实现步骤摘要】
一种面向纠删码的主动数据修复方法及系统
本专利技术涉及可靠性领域,具体为一种面向纠删码的主动数据修复方法及系统。
技术介绍
多副本(Replica)和纠删码(ErasureCode)是两种最为常见的存储系统容错(FaultTolerance)方法。多副本的优点是数据修复(恢复)便捷、降级时间短,在出现坏盘时,直接将其他副本的内容拷贝至健康盘即可,但缺点是成本高昂。纠删码的优点在于成本较低,但是缺点是数据修复复杂、降级时间长,在出现坏盘时,需通过编解码的运算,在健康盘中构建出丢失(损坏)的数据。以上两种常见方法均为传统的被动容错方法,即数据修复在坏盘已经发生的情况下进行,此时系统进入降级状态,正常的读写访问服务会受到影响。在降级状态时,系统必须集中精力修复数据——在典型的双副本情况下,一旦出现另一块坏盘,则系统面临数据永久丢失的风险。显然,系统降级时间越长,坏盘再次发生的风险越高,系统的可靠性越低。近年来,主动容错方法(中国专利技术专利CN102521058、CN107391301、CN108205424、CN102981930)成为新的研究热点和技术趋势。现有的主 ...
【技术保护点】
1.一种面向纠删码的主动数据修复方法,其步骤包括:1)在一设定时间段内,定期采集各设定硬盘的信息;2)对采集的每一硬盘每一时间点的信息进行特征提取,生成一样本数据;3)根据硬盘的实际状态对相应硬盘的样本数据进行标记,得到一训练数据集;所述标记包括健康盘、坏盘和濒临故障盘;其中,健康盘对应一标记值a、坏盘对应一标记值b、濒临故障盘对应多个介于a~b之间的标记值,设硬盘状态为坏盘时的样本数据采集时间为t,距离该时间t之前的设定时间段内的该硬盘的样本数据标记为濒临故障盘且距离该时间t越近的该硬盘样本数据的标记值越接近坏盘标记值;硬盘状态为坏盘时的样本数据标记为坏盘对应的标记值b, ...
【技术特征摘要】
1.一种面向纠删码的主动数据修复方法,其步骤包括:1)在一设定时间段内,定期采集各设定硬盘的信息;2)对采集的每一硬盘每一时间点的信息进行特征提取,生成一样本数据;3)根据硬盘的实际状态对相应硬盘的样本数据进行标记,得到一训练数据集;所述标记包括健康盘、坏盘和濒临故障盘;其中,健康盘对应一标记值a、坏盘对应一标记值b、濒临故障盘对应多个介于a~b之间的标记值,设硬盘状态为坏盘时的样本数据采集时间为t,距离该时间t之前的设定时间段内的该硬盘的样本数据标记为濒临故障盘且距离该时间t越近的该硬盘样本数据的标记值越接近坏盘标记值;硬盘状态为坏盘时的样本数据标记为坏盘对应的标记值b,其余样本数据标记为健康盘对应的标记值a;4)设定故障阈值x和濒临故障盘承担的数据修复比例y,利用所述训练数据集训练得到一硬盘故障程度识别模型;5)采集纠删码系统中各硬盘的信息并进行特征提取,然后将其输入到所述硬盘故障程度识别模型,得到各硬盘对应的故障程度;6)若存在一个硬盘A的故障程度高于该故障阈值x,则对该硬盘A启动主动修复,即执行步骤7)、8);选取一故障程度最低的硬盘,记为硬盘C;7)遍历该硬盘A中的所有数据块,读取其所属条带的硬盘编号,将这些硬盘编号对应的硬盘作为参与共同修复的硬盘,称为B盘组;B盘组中硬盘的数量由纠删码系统采用的纠删码算法确定;8)将集合T中所有的数据块由该硬盘A修复到该硬盘C,通过编解码计算的方法将集合R中所有数据块由B盘组修复到该硬盘C;其中,该硬盘A中共有p个数据块待修复,该硬盘A承担p*y个数据块的修复,记为集合T,B盘组承担p-p*y个数据块的修复,记为集合R。2.如权利要求1所述的方法,其特征在于,该硬盘A主动修复完成后,对该硬盘A进行连续地、覆盖式地写入,直至该硬盘A发生故障或写入时间达剩余生命周期阈值z时为止,记录写入时间h;若h=z,则判定为对硬盘A故障程度识别错误,反馈给硬盘故障程度识别模型;若h>z/n,则上调硬盘故障程度识别模型中的故障阈值x和/或上调修复比例阈值y;若h<z/n,则保持硬盘故障程度识别模型的参数不变,n为大于1的整数。3.如权利要求1所述的方法,其特征在于,所述硬盘的信息包括硬盘SMART信息;所述特征包括下列信息的一种或多种组合:原始读出错率、盘片启动的平均时间、硬盘重映射的扇区个数、磁头寻道出错率、硬盘加电的小时数、硬件不可修复的错误计数、磁头离盘片过高导致写失败的次数、硬盘内部温度、硬件ECC修复的错误计数、不稳定的扇区个数。4.如权利要求3所述的方法,其特征在于,所述硬盘SMART信息的形态包括但不限于:当前Raw值、当前Normal值、当前Raw值与时间L之前该值的差值、当前Normal值与时间L之前该值的差值;其中,时间L为时间N的整数倍,N为信息采集的时间间隔。5.如权利要求1所述的方法,其特征在于,如果该硬盘A在主动修复过程中,该纠删码系统中其他硬盘发生坏盘,则纠删码系统进入降级状态,对该硬盘A的主动修复暂停,采用被动容错的方法,直至降级状态结束;如果该硬盘A在主动修复过程中,该硬盘A发生坏盘,则统计集合T中未完成修复的数据块集合S,然后将集合S的数据块交由B盘组修复,下调故障阈值x、下调修复比例阈值y。6.如权利要求1所述的方法,其特征在于,该硬盘A主动修复完成后,将涉及该硬盘...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。