一种磁盘阵列重构任务加速方法、系统、存储介质及设备技术方案

技术编号:36167125 阅读:25 留言:0更新日期:2022-12-31 20:17
本发明专利技术提供了一种磁盘阵列重构任务加速方法、系统、存储介质及设备,涉及磁盘阵列技术领域,方法包括:响应于接收到由系统发送的磁盘阵列中待重构的多个条带的地址参数,基于地址参数从磁盘阵列划分出多个待处理部分,并分别分配至集群中多个节点;由每个节点从受保护内存中申请对应的窗口数据及指针数据,并将窗口数据作为预定大小的窗口,并根据地址参数确定窗口中的待重构条带,并对指针数据指向的待重构条带执行重构任务;响应于窗口的当前重构任务执行完成,移动窗口以继续执行下一重构任务,直到每个节点的待处理部分处理完毕,确定磁盘阵列重构完成。本发明专利技术大大提升了磁盘阵列的重构效率,并且有效节省了受保护内存资源。并且有效节省了受保护内存资源。并且有效节省了受保护内存资源。

【技术实现步骤摘要】
一种磁盘阵列重构任务加速方法、系统、存储介质及设备


[0001]本专利技术涉及磁盘阵列
,尤其涉及一种磁盘阵列重构任务加速方法、系统、存储介质及设备。

技术介绍

[0002]在云计算数据中心,存储数据的存储性能和数据可靠性是用户关心的核心问题。数据需要安全可靠地存储在数据中心,因此单台服务器上存储的数据也日益增多,当单个物理磁盘在容量和安全性上不足以支撑存储系统业务时,就需要将多个磁盘以某种特定方式组合起来,对外作为一个可见的RAID(Redundant Array of Independent Disks,独立冗余磁盘阵列)阵列来使用,才可满足实际需要,由此诞生了RAID技术。RAID技术是存储领域中的重要技术,存储系统的RAID阵列会按照条带(stripe)进行划分,对条带再按照各磁盘分块(strip)划分。
[0003]目前业界为了提高存储系统的数据可靠性和存储性能,已利用多控节点组成集群,主控节点负责处理主机的I/O(Input/Output,数据输入/输出)请求,辅助节点负责存储系统的后台任务(例如,RAID阵列重构、巡检和重构任务等),以此来提高存储系统的存储性能。当存储系统RAID阵列中出现故障盘时,需要集群中的双控节点启动重构任务来将故障盘的数据恢复到热备盘,目前业界技术在重构任务中对条带的管理采用位图这种元数据组织方式,位图元数据需要存放在受保护内存中,具体的,常存放于BBU(Battery Backup Unit,电池备电单元)保护的harden内存(用于存放重要的数据,以防止意外掉电后数据丢失)中。这种元数据组织方式在大型大容量RAID阵列中存在不足,位图元数据组织方式会占用大量资源空间,而harden内存资源又非常有限,因此不仅会导致大容量RAID阵列的重构任务会消耗很长时间,而且会大量占用有限的harden内存资源。
[0004]图1示出了根据现有技术提供的RAID5阵列的结构示意图。如图1所示,以由3

16块盘组成的RAID5阵列为例,磁盘1

5是成员盘,磁盘0是热备盘,热备盘用来保护阵列的数据,重构任务将RAID阵列中故障盘的数据恢复到热备盘。阵列中涉及到的常见概念是条带和分块,条带由分块组成。每一行为一个条带,假如每个成员盘为170G容量则阵列有1TB容量。分块大小为256KB,则条带大小为1536KB,因此阵列中有1TB/1536KB的条带数即699051个条带,根据一个条带对应一位则需要699051位,换算为(699051/8)个87382个字节,由此得出需要87382个字节的内存空间来存放位图元数据,87382个字节占用大量内存资源空间,导致重构过程变慢,影响用户业务,致使用户体验下降。同时目前业界没有很好的利用集群中的双控节点同时处理重构任务,即使没有前台I/O任务主控节点也没有执行重构任务,而是只由辅助节点执行重构任务。
[0005]因此,位图元数据组织方式消耗大量的受保护内存(如harden内存)资源,只有辅助节点执行重构任务导致重构效率低下,不仅导致重构任务耗时,而且降低用户体验,同时在处理前台紧急I/O任务情况下存在条带不一致的风险。

技术实现思路

[0006]有鉴于此,本专利技术的目的在于提出一种磁盘阵列重构任务加速方法、系统、存储介质及设备,用以解决现有技术中磁盘阵列重构时采用位图元数据组织方式会消耗大量的受保护内存资源,并且只有辅助节点执行重构任务会导致重构效率低下的问题。
[0007]基于上述目的,本专利技术提供了一种磁盘阵列重构任务加速方法,包括以下步骤:响应于接收到由系统发送的磁盘阵列中待重构的多个条带的地址参数,基于地址参数从磁盘阵列划分出多个待处理部分,并分别分配至集群中多个节点;由每个节点从受保护内存中申请对应的窗口数据及指针数据,并将窗口数据作为预定大小的窗口,并根据地址参数确定窗口中的待重构条带,并对指针数据指向的待重构条带执行重构任务;响应于窗口的当前重构任务执行完成,移动窗口以继续执行下一重构任务,直到每个节点的待处理部分处理完毕,确定磁盘阵列重构完成。
[0008]在一些实施例中,将窗口数据作为预定大小的窗口包括:将窗口数据作为预定大小的窗口以处理对应数量的条带。
[0009]在一些实施例中,方法还包括:窗口数据的每个比特位对应一个条带。
[0010]在一些实施例中,根据地址参数确定窗口中的待重构条带包括:根据地址参数确定窗口中的待重构条带,并将对应于待重构条带的比特位置为第一二进制符号。
[0011]在一些实施例中,方法还包括:通过指针数据依次指向窗口数据的每个比特位。
[0012]在一些实施例中,对指针数据指向的待重构条带执行重构任务包括:响应于指针数据指向的比特位为第一二进制符号,对指向的比特位所对应的条带执行重构任务。
[0013]在一些实施例中,方法还包括:将窗口数据中对应于其他条带的比特位置为第二二进制符号。
[0014]在一些实施例中,方法还包括:响应于指针数据指向的比特位为第二二进制符号,跳过指向的比特位。
[0015]在一些实施例中,响应于窗口的当前重构任务执行完成,移动窗口以继续执行下一重构任务包括:响应于窗口的当前重构任务执行完成,移动窗口并将窗口数据清零,以继续执行下一重构任务。
[0016]在一些实施例中,方法还包括:响应于窗口的当前重构任务执行完成,将指针数据清零,以指向移动后的窗口。
[0017]在一些实施例中,基于地址参数从磁盘阵列划分出多个待处理部分,并分别分配至集群中多个节点包括:基于地址参数从磁盘阵列划分出两个待处理部分,并分别分配至集群中主控节点和辅助节点。
[0018]在一些实施例中,基于地址参数从磁盘阵列划分出多个待处理部分,并分别分配
至集群中多个节点还包括:响应于基于地址参数确定磁盘阵列中部分条带待重构,基于部分条带将磁盘阵列划分出多个待处理部分,并分别分配至集群中多个节点。
[0019]在一些实施例中,基于地址参数从磁盘阵列划分出多个待处理部分,并分别分配至集群中多个节点还包括:响应于基于地址参数确定磁盘阵列中所有条带均待重构,将磁盘阵列划分为多个待处理部分,并分别分配至集群中多个节点。
[0020]在一些实施例中,方法还包括:响应于磁盘阵列中至少一个成员盘损坏,确定磁盘阵列中所有条带均待重构。
[0021]在一些实施例中,窗口数据与指针数据的比特位数存在以下关系:2
m
≥ n其中,m表示指针数据的比特位数,n表示窗口数据的比特位数。
[0022]在一些实施例中,窗口数据和指针数据均为无符号四字节数据。
[0023]在一些实施例中,方法还包括:将地址参数保存至受保护内存中。
[0024]本专利技术的另一方面,还提供了一种磁盘阵列重构任务加速系统,包括:待处理模块,配置用于响应于接收到由系统发送的磁盘阵列中待重构的多个条带的地址参数,基于地址参数从磁盘阵列划分出多个待处理部分,并分别分配至集本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种磁盘阵列重构任务加速方法,其特征在于,包括以下步骤:响应于接收到由系统发送的磁盘阵列中待重构的多个条带的地址参数,基于所述地址参数从所述磁盘阵列划分出多个待处理部分,并分别分配至集群中多个节点;由每个节点从受保护内存中申请对应的窗口数据及指针数据,并将所述窗口数据作为预定大小的窗口,并根据所述地址参数确定所述窗口中的待重构条带,并对所述指针数据指向的所述待重构条带执行重构任务;响应于所述窗口的当前重构任务执行完成,移动所述窗口以继续执行下一重构任务,直到所述每个节点的待处理部分处理完毕,确定所述磁盘阵列重构完成。2.根据权利要求1所述的方法,其特征在于,将所述窗口数据作为预定大小的窗口包括:将所述窗口数据作为预定大小的窗口以处理对应数量的条带。3.根据权利要求2所述的方法,其特征在于,还包括:所述窗口数据的每个比特位对应一个条带。4.根据权利要求3所述的方法,其特征在于,根据所述地址参数确定所述窗口中的待重构条带包括:根据所述地址参数确定所述窗口中的待重构条带,并将对应于所述待重构条带的比特位置为第一二进制符号。5.根据权利要求4所述的方法,其特征在于,还包括:通过所述指针数据依次指向所述窗口数据的每个比特位。6.根据权利要求5所述的方法,其特征在于,对所述指针数据指向的所述待重构条带执行重构任务包括:响应于所述指针数据指向的比特位为所述第一二进制符号,对所述指向的比特位所对应的条带执行重构任务。7.根据权利要求5所述的方法,其特征在于,还包括:将所述窗口数据中对应于其他条带的比特位置为第二二进制符号。8.根据权利要求7所述的方法,其特征在于,还包括:响应于所述指针数据指向的比特位为所述第二二进制符号,跳过所述指向的比特位。9.根据权利要求1所述的方法,其特征在于,响应于所述窗口的当前重构任务执行完成,移动所述窗口以继续执行下一重构任务包括:响应于所述窗口的当前重构任务执行完成,移动所述窗口并将所述窗口数据清零,以继续执行下一重构任务。10.根据权利要求1所述的方法,其特征在于,还包括:响应于所述窗口的当前重构任务执行完成,将所述指针数据清零,以指向移动后的窗口。11.根据权利要求1所述的方法,其特征在于,基于所述地址参数从所述磁盘阵列划分出多个待处理部分,并分别分配至集群中多个节点包括:基于所述地址参数从所述磁盘阵列划分出两个待处理部分,并分别分配至集群中主控...

【专利技术属性】
技术研发人员:李飞龙许永良孙明刚
申请(专利权)人:苏州浪潮智能科技有限公司
类型:发明
国别省市:

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

1