RAID重建方法及装置制造方法及图纸

技术编号:24937121 阅读:73 留言:0更新日期:2020-07-17 20:46
本申请提供一种RAID重建方法及装置。该方法中,RAID在处理业务IO时,首先获取业务IO对应条带的重建状态;若该业务IO对应条带的重建状态为未重建,则在处理业务IO过程中重建该条带。可以看出,本申请利用业务IO处理过程中获取到的数据直接对涉及到的条带进行重建,而不是等待该条带按条带顺序被重建时,再次获取并计算相关数据后再进行重建,减少了磁盘的IO数目,提高了系统资源使用率,可大大提升整个RAID的重建效率。

【技术实现步骤摘要】
RAID重建方法及装置
本申请涉及存储
,尤其涉及一种RAID重建方法及装置。
技术介绍
独立磁盘冗余阵列(英文:RedundantArrayofIndependentDisks,缩写:RAID)是把多块独立的物理磁盘按照不同的数据组织方式组合起来形成一个磁盘组,提供比单个磁盘更高的存储性能及可靠性。根据不同的数据组织方式,常用的RAID包括RAID0、RAID1、RAID5、RAID6、RAID10等,可提供不同级别的数据冗余保护。当RAID检测到成员盘故障时,根据剩余成员盘中的数据重构故障盘中的数据,并写入热备盘,利用热备盘替换故障盘,恢复RAID的数据冗余性,该过程称为RAID重建。在常用的多种RAID中,RAID0无数据冗余性,不涉及重建;RAID1、RAID10是基于镜像算法的RAID,RAID5、RAID6是基于校验算法的RAID,均涉及RAID重建,RAID重建效率直接影响存储系统的数据安全性。现有RAID重建主要按照RAID条带顺序重建,在完成所有条带重建后,将热备盘添加到RAID中,恢复RAID的数据冗余本文档来自技高网...

【技术保护点】
1.一种RAID重建方法,其特征在于,应用于存储设备包括的RAID,所述RAID包括多个成员盘,所述多个成员盘包括所述RAID中的故障盘,所述RAID还包括用于重建所述故障盘的热备盘,所述方法包括:/n在接收到业务IO时,获取所述业务IO对应条带的重建状态;/n在所述重建状态为未重建时,对所述业务IO对应条带进行重建。/n

【技术特征摘要】
1.一种RAID重建方法,其特征在于,应用于存储设备包括的RAID,所述RAID包括多个成员盘,所述多个成员盘包括所述RAID中的故障盘,所述RAID还包括用于重建所述故障盘的热备盘,所述方法包括:
在接收到业务IO时,获取所述业务IO对应条带的重建状态;
在所述重建状态为未重建时,对所述业务IO对应条带进行重建。


2.如权利要求1所述的方法,其特征在于,所述RAID为基于镜像的RAID,所述多个成员盘组成一个或多个镜像对,每个所述镜像对包括两个成员盘,所述故障盘对应的镜像对中的两个成员盘包括故障盘和非故障盘,所述业务IO为读数据IO,所述对所述业务IO对应条带进行重建,包括:
读取所述条带在所述非故障盘中对应条块的整个条块的数据;
将读取的数据写入所述条带在所述热备盘中对应条块;
将所述条带的重建状态更新为已重建。


3.如权利要求1所述的方法,其特征在于,所述RAID为基于镜像的RAID,所述多个成员盘组成一个或多个镜像对,每个所述镜像对包括两个成员盘,所述故障盘对应的镜像对中的两个成员盘包括故障盘和非故障盘,所述业务IO为写数据IO,所述对所述业务IO对应条带进行重建,包括:
将所述业务IO携带的待写入数据写入所述条带在所述非故障盘和所述热备盘中对应条块;
将所述条带的重建状态更新为已重建。


4.如权利要求3所述的方法,其特征在于,所述将所述业务IO携带的待写入数据写入所述条带在所述非故障盘和所述热备盘中对应条块,包括:
在所述业务IO携带的待写入数据的大小小于条块的大小时,读取所述非故障盘中对应条块的数据;
利用读取的所述非故障盘中对应条块的数据,按照条块大小补齐待写入数据;
将补齐后的数据写入所述非故障盘和所述热备盘对应条块。


5.如权利要求1所述的方法,其特征在于,所述RAID为基于校验的RAID,所述业务IO为读数据IO,所述对所述业务IO对应条带进行重建,包括:
在基于所述读数据IO确定需要读取所述条带在所述故障盘中对应条块的数据时,读取所述条带在除所述故障盘之外的其它成员盘中对应条块的数据;
根据RAID算法以及读取的所述其它成员盘中对应条块的数据,计算所述故障盘中对应条块的数据;
将计算出的所述故障盘中对应条块的数据,写入所述条带在所述热备盘中对应条块;
将所述条带的重建状态更新为已重建。


6.如权利要求1所述的方法,其特征在于,所述RAID为基于校验的RAID,所述业务IO为写数据IO,所述对所述业务IO对应条带进行重建,包括:
在基于所述写数据IO确定需要向所述条带在除所述故障盘外的其它成员盘中的第一成员盘对应条块写入数据时,读取所述条带在除所述故障盘外其它成员盘中对应条块的数据;
根据RAID算法以及读取的所述其它成员盘中对应条块的数据,计算所述故障盘中对应条块的数据;
将计算出的所述故障盘中对应条块的数据,写入所述条带在所述热备盘中对应条块;
根据待写入所述第一成员盘对应条块的数据、计算出的所述故障盘中对应条块的数据、以及除所述故障盘外其它成员盘中除第一成员盘外的各第二成员盘对应条块的数据,计算校验数据;
将待写入所述第一成员盘对应条块的数据,写入所述第一成员盘对应条块;
将所述校验数据写入所述条带对应的校验条块;
将所述条带的重建状态更新为已重建。


7.如权利要求1所述的方法,其特征在于,所述RAID为基于校验的RAID,所述业务IO为写数据IO,所述对所述业务IO对应条带进行重建,包括:
在基于所述写数据IO确定需要向所述条带在所述故障盘中对应条块写入数据时,读取所述条带在除所述故障盘外其它成员盘中对应条块的数据;
根据待写入所述故障盘中对应条块的数据、以及读取的其它成员盘中对应条块的数据,计算校验数据;
将待写入所述故障盘中对应条块的数据,写入所述热备盘对应条块;
将所述校验数据写入所述条带对应的校验条块;
将所述条带的重建状态更新为已重建。


8.如权利要求7所述的方法,其特征在于,所述根据待写入所述故障盘中对应条块的数据、以及读取的其它成员盘中对应条块的数据,计算校验数据,包括:
在待写入所述故障盘对应条块的数据的大小小于条块的大小时,根据RAID算法以及读取的其它成员盘中对应条块的数据,计算所述故障盘中对应条块的数据;
利用计算出的所述故障盘中对应条块的数据,按照条块大小补齐所述待写入所述故障盘对应条块的数据;
根据补齐后的数据、以及读取的其它成员盘中对应条块的数据,计算校验数据;
所述将待写入所述故障盘中对应条块的数据,写入所述热备盘对应条块,包括:
根据补齐后的数据写入所述热备盘对应条块。


9.如权利要求1所述的方法,其特征在于,所述方法还包括:
在未接收到业务IO时,按照条带顺序对重建状态为未重建的条带进行重建;
更新重建后的条带的重建状态为已重建。


10.一种RAID重建装置,其特征在于,应用于存...

【专利技术属性】
技术研发人员:上官应兰
申请(专利权)人:杭州宏杉科技股份有限公司
类型:发明
国别省市:浙江;33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1