CN114063929A - 基于双控制器硬盘阵列的局部raid重构系统及方法 - Google Patents

基于双控制器硬盘阵列的局部raid重构系统及方法 Download PDF

Info

Publication number
CN114063929A
CN114063929A CN202111411375.3A CN202111411375A CN114063929A CN 114063929 A CN114063929 A CN 114063929A CN 202111411375 A CN202111411375 A CN 202111411375A CN 114063929 A CN114063929 A CN 114063929A
Authority
CN
China
Prior art keywords
raid
reconstruction
state
controller
current
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.)
Granted
Application number
CN202111411375.3A
Other languages
English (en)
Other versions
CN114063929B (zh
Inventor
殷双飞
邓玲
陕振
郦伟
田鹏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Institute of Computer Technology and Applications
Original Assignee
Beijing Institute of Computer Technology and Applications
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Institute of Computer Technology and Applications filed Critical Beijing Institute of Computer Technology and Applications
Priority to CN202111411375.3A priority Critical patent/CN114063929B/zh
Publication of CN114063929A publication Critical patent/CN114063929A/zh
Application granted granted Critical
Publication of CN114063929B publication Critical patent/CN114063929B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及一种基于双控制器硬盘阵列的局部RAID重构系统及方法,属于存储技术领域。该系统及方法的设计分为两个部分,分别是RAID存储层和重构控制层。其中,所述RAID存储层用于提供底层存储机制,执行不同模式和不同控制下的RAID重构动作;所述重构控制层用于负责RAID存储空间内的局部数据扫描、重构策略制定、重构流程控制、重构信息同步。本系统及方法在双控制器硬盘阵列的基础上,使用RAID存储层和重构控制层完成RAID上局部数据的重构,并将重构进度实时同步至对端控制器,从而减少阵列数据的恢复时间,缩短降级恢复的时间窗口,增加存储系统的可靠性。

Description

基于双控制器硬盘阵列的局部RAID重构系统及方法
技术领域
本发明属于存储技术领域,具体涉及一种基于双控制器硬盘阵列的局部RAID重构系统及方法。
背景技术
RAID作为一种存储领域普遍使用的数据存储技术,可提供多盘并行的数据访问方式,同时为上层应用提供有效的数据保护机制。目前,采用RAID1、RAID5构建的硬盘阵列,能够容忍一块硬盘失效后数据不丢失,采用RAID6构建的阵列,能够同时容忍两块硬盘失效后数据不丢失。在数据不丢失的情况下,及时添加热备盘,可以恢复失效盘上的数据进而继续提供冗余数据保护。
RAID恢复数据的过程称为RAID重构,在默认的数据恢复机制下,单块盘的失效,更换新数据盘后,将导致RAID对于该失效盘的全盘重构。在早期单盘存储容量不大的情况下,重构整个数据盘耗时数个小时,由于阵列降级造成的数据丢失风险和读写降速影响尚可接受,随着硬盘单位存储密度的提升和每GB存储价格的下降,现在企业级硬盘的容量动辄十TB以上,全盘数据恢复需要一整天甚至数天,数据丢失风险骤然攀升,风险窗口急剧扩大使得用户难以接受。因此,
发明内容
(一)要解决的技术问题
本发明要解决的技术问题是:如何针对双控制器硬盘阵列上的有效数据进行选择性恢复,即局部重构,以有效减少数据恢复时间,缩短数据降级期间的风险窗口长度,提高存储系统的可靠性。
(二)技术方案
为了解决上述技术问题,本发明提供了一种基于双控制器硬盘阵列的局部RAID重构系统的设计方法,所述RAID存储层用于提供底层存储机制,执行不同模式和不同控制下的RAID重构动作;所述重构控制层用于实现RAID存储空间内的局部数据扫描、重构策略制定、重构流程控制和重构信息同步。
优选地,该设计方法中,在RAID存储层中,设计了控制RAID重构流程的控制关键字和状态关键字,各关键字的定义如下:
Mode:当前控制器模式关键字;
Pause:重构动作控制关键字;
Action:重构状态关键字;
Position:当前重构位置关键字;
Begin:重构起始位置关键字;
End:重构终止位置关键字;
上述不同的关键字控制RAID的重构动作和显示RAID的重构状态。其中,Mode关键字表示当前控制器所处的模式,可配置为0或者1,主控制器模式为1,从控制器模式为0,处于主控制器模式时,控制器具有完全的读写权限,处于从控制器模式时,控制器只具备读权限;Pause关键字表示对RAID的重构动作控制,可配置为0或者1,当配置为0时,表示当前控制器的RAID重构任务正常执行,当配置为1时,表示当前控制器的RAID重构任务被挂起,重构中止;Action关键字表示RAID的重构状态,可为空闲态或者重构态,RAID状态正常、或者处于降级态且未插入热备盘、或者降级重构完毕后,表现为空闲态,RAID处于降级态且数据正在重构,表现为重构态;Position关键字表示当前RAID的重构位置,以扇区为基本单位进行定位和标识;Begin关键字表示RAID的重构起始位置,其最小值为0,最大值为当前RAID的容量;End关键字表示RAID的重构终止位置,其最小值为Begin关键字所表示的值,最大值为max,即存储系统可表示的最大整数。
优选地,该设计方法中,重构控制层制定RAID的重构策略,以加速RAID重构,RAID在使用过程中先被划分为数个逻辑卷,再在逻辑卷的基础上部署上层业务;
重构控制层将单个RAID视为一个连续的逻辑存储空间,将位于RAID之上的逻辑卷视为真正的数据存储容器,这些逻辑卷在RAID存储空间内表现为一段段独立的分片,这些分片是重构的基本单元。各个分片在RAID存储空间的分布上,可能连续,也可能分离,重构控制层会尽可能合并逻辑地址连续的分片,RAID全盘重构时,仅重构合并后的分片内容;所述局部数据即为各逻辑卷分片。
优选地,该设计方法中,重构控制层将每个RAID作为一个独立的重构整体,记录的最小信息包括RAID级别、RAID名字、RAID块设备号、RAID状态、RAID分片信息,RAID级别用于标识RAID是否支持重构,若不支持则重构控制层跳过重构;RAID名字表示RAID名称对应的字符串,可在系统内唯一标识该RAID;RAID块设备号表示RAID在系统对应的块设备路径,用于承接对RAID的操作;RAID分片信息part表示RAID下的所有逻辑卷分片,part的结构为一个列表,列表内每一个元素表示一个合并后的逻辑卷分片;对RAID的重构,是对该RAID分片列表part下所有合并后的逻辑卷分片的重构;
每个part元素记录的最小信息包含相对于RAID来说的起始存储位置、终止存储位置和当前分片的重构状态;起始存储位置存储相对于RAID逻辑空间的起始扇区;终止存储位置存储相对于RAID逻辑空间的终止扇区;每个分片的重构状态分为“not_start”、“recovering”和“done”三种;RAID降级后插入新的热备盘,所有分片同时进入初始状态,被赋予“not_start”状态,第一个分片开始重构时,该分片被赋予“recovering”状态,后续分片保持为“not_start”;第一个分片重构完成后,被赋予为“done”转态,第二个分片赋予“recovering”状态,后续分片仍为“not_start”状态,所有分片重构结束后,状态均被赋值为“done”,随后退出重构,切换RAID为正常状态,当RAID从重构状态切换为缺盘降级状态后,处于“recovering”和“done”状态的分片将再次回到“not_start”状态。
本发明还提供了一种利用所述的方法得到的基于双控制器硬盘阵列的局部RAID重构系统。
本发明还提供了一种利用所述的系统实现的局部RAID重构方法。
优选地,该方法中,重构控制层、RAID存储层二者的组合同时位于主控制器和从控制器内,双控制器硬盘阵列的这两个控制器通过重构控制层保持重构通信,两个控制器在协同工作的情况下,可为存储系统提供快速、可断点续接的重构功能。
优选地,该方法中,重构控制层定时扫描双控制器中的所有RAID,当发现降级RAID,且满足重构条件后,进入RAID重构模式;
进入重构模式后,RAID存储层将所有的控制关键字和状态关键字依次初始化为:Mode=0、Pause=1、Action=recover、Position=0、Begin=0、End=max;接着,重构控制层判断当前控制器的角色,若当前控制器为从控制器,则将控制关键字置为Mode=0、Pause=0;进入等待主控制器数据同步状态;若当前控制器为主控制器,则将控制关键字置为Mode=1、Pause=1;进入重构暂停状态;
进入重构暂停状态后,重构控制层扫描当前控制器上的所有RAID,对每个RAID中的逻辑卷起止扇区信息进行提取,分别保存于分片的start和end变量内;获得分片的起止扇区后,重构控制层尽可能合并相邻的分片,得到合并后的逻辑卷分片列表;启动重构前,重构控制层将当前分片的start偏移地址和end偏移地址分别赋值给RAID存储层的Begin和End,接着将Pause置为0,取消重构暂停,执行分片重构。每重构完一个分片,主控制器的重构控制层将RAID存储层的Position信息同步至从控制器,从控制器将得到的Position信息赋值至该控制器RAID存储层的Begin控制关键字内;若发生主控制器突然失效的异常情况,从控制器可以从Begin控制关键字内的地址继续之前的重构工作;当前RAID中的所有分片均重构完后,主控制器会将该RAID的状态信息同步至从控制器,使两端同时达到RAID重构完成的一致状态。
优选地,该方法中,重构控制层扫描流程如下:
重构控制层确定一个RAID是否具备局部重构条件:若当前RAID为具有冗余数据存储能力的RAID,则继续判断后续状态,否则结束重构;若为冗余RAID,则判断当前RAID状态,即RAID存储层的Action状态关键字的值,若为idel,则结束重构,否则继续判断后续状态;若当前RAID状态为recover,且当前RAID不包含任何逻辑卷分片,则结束重构,否则继续判断后续状态;若当前RAID的所有逻辑卷分片状态值均为“done”,表示当前RAID的数据重构完毕,则结束重构,否则进入逻辑卷分片重构流程;每个逻辑卷分片重构完成后,主控制器将RAID存储层的Position信息同步至从控制器,使两端重构进度保持一致,并接着判断后续逻辑卷分片是否重构完毕;当所有逻辑卷分片的状态均为“done”时,当前RAID的重构流程结束。
本发明还提供了一种所述的系统在存储技术领域中的应用。
(三)有益效果
本发明涉及一种基于双控制器硬盘阵列的局部RAID重构系统及方法。该系统及方法的设计分为两个部分,分别是RAID存储层和重构控制层。其中,所述RAID存储层用于提供底层存储机制,执行不同模式和不同控制下的RAID重构动作;所述重构控制层用于负责RAID存储空间内的局部数据扫描、重构策略制定、重构流程控制、重构信息同步。本系统及方法在双控制器硬盘阵列的基础上,使用RAID存储层和重构控制层完成RAID上局部数据的重构,并将重构进度实时同步至对端控制器,从而减少阵列数据的恢复时间,缩短降级恢复的时间窗口,增加存储系统的可靠性。
附图说明
图1为本发明的方案实现总体原理框图;
图2为本发明的RAID重构数据结构示意图;
图3为本发明的分片状态转换图;
图4为本发明的双控制器重构流程图;
图5为本发明的重构控制层扫描流程图。
具体实施方式
为使本发明的目的、内容、和优点更加清楚,下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。
本发明提供的一种基于双控制器硬盘阵列的局部RAID重构系统,整体结构包含两个部分,一个是提供重构机制的RAID存储层,其提供底层存储机制,执行不同模式和不同控制下的RAID重构动作,另一个是提供重构策略的重构控制层,其负责RAID存储空间内的局部数据扫描、重构策略制定、重构流程控制、重构信息同步。
(1)RAID存储层
在RAID存储层中,本发明设计了控制RAID重构流程的控制关键字和状态关键字,各关键字的定义如下:
Mode:当前控制器模式关键字;
Pause:重构动作控制关键字;
Action:重构状态关键字;
Position:当前重构位置关键字;
Begin:重构起始位置关键字;
End:重构终止位置关键字;
上述不同的关键字控制RAID的重构动作和显示RAID的重构状态。其中,Mode关键字表示当前控制器所处的模式,可配置为0或者1,主控制器模式为1,从控制器模式为0,处于主控制器模式时,控制器具有完全的读写权限,处于从控制器模式时,控制器只具备读权限;Pause关键字表示对RAID的重构动作控制,可配置为0或者1,当配置为0时,表示当前控制器的RAID重构任务正常执行,当配置为1时,表示当前控制器的RAID重构任务被挂起,重构中止;Action关键字表示RAID的重构状态,可为空闲态或者重构态,RAID状态正常、或者处于降级态且未插入热备盘、或者降级重构完毕后,表现为空闲态,RAID处于降级态且数据正在重构,表现为重构态;Position关键字表示当前RAID的重构位置,以扇区为基本单位进行定位和标识;Begin关键字表示RAID的重构起始位置,其最小值为0,最大值为当前RAID的容量;End关键字表示RAID的重构终止位置,其最小值为Begin关键字所表示的值,最大值为max,即存储系统可表示的最大整数。
(2)重构控制层
重构控制层负责制定RAID的重构策略,达到加速RAID重构的效果。单个RAID的容量通常很大,一般为数十TB甚至上百TB,因此RAID在使用过程中通常先划分为数个逻辑卷或精简逻辑卷,再在逻辑卷或精简逻辑卷的基础上部署上层业务。
重构控制层将单个RAID视为一个连续的逻辑存储空间,将位于RAID之上的逻辑卷视为真正的数据存储容器,这些逻辑卷在RAID存储空间内表现为一段段独立的分片,这些分片是重构的基本单元。各个分片在RAID存储空间的分布上,可能连续,也可能分离,重构控制层会尽可能合并逻辑地址连续的分片。RAID全盘重构时,仅重构上述合并后的分片内容。本发明所指的局部数据即为各逻辑卷分片,文中下述内容出现的逻辑卷,包含普通逻辑卷、精简逻辑卷或者其他形式的逻辑卷,均以逻辑卷代替。
如图2所示,重构控制层将每个RAID作为一个独立的重构整体,记录的最小信息包括RAID级别(level)、RAID名字(name)、RAID块设备号(block_id)、RAID状态(state)、RAID分片(part)等信息。RAID级别用于标识该RAID是否支持重构,若不支持则重构控制层跳过重构,如RAID0;RAID名字表示该RAID名称对应的字符串,它可在系统内唯一标识该RAID;RAID块设备号表示该RAID在系统对应的块设备路径,用于承接对RAID的操作;RAID分片信息part表示该RAID下的所有逻辑卷分片,part的结构为一个列表,列表内每一个元素表示一个合并后的逻辑卷分片,图中所示为part_0至part_n。对RAID的重构,既是对该RAID分片列表part下所有合并后的逻辑卷分片的重构。
每个part元素记录的最小信息包含相对于RAID来说的起始存储位置(start)、终止存储位置(end)和当前分片的重构状态(state)。起始存储位置存储相对于RAID逻辑空间的起始扇区;终止存储位置存储相对于RAID逻辑空间的终止扇区。每个分片的重构状态分为“not_start”、“recovering”和“done”三种,状态转换图如图3所示。RAID降级后插入新热备盘,所有分片同时进入初始状态,被赋予“not_start”状态。第一个分片开始重构时,该分片被赋予“recovering”状态,后续分片保持为“not_start”;第一个分片重构完成后,被赋予为“done”转态,第二个分片赋予“recovering”状态,后续分片仍为“not_start”状态。所有分片重构结束后,状态均被赋值为“done”,随后退出重构,切换RAID为正常状态。当RAID从重构状态切换为缺盘降级状态后,处于“recovering”和“done”状态的分片将再次回到“not_start”状态。
在本发明的具体实施过程中,重构控制层依赖于RAID存储层,二者的组合同时位于主控制器和从控制器内,双控制器阵列的两个控制器通过重构控制层保持重构通信。双控制器在协同工作的情况下,可为存储系统提供快速、可断点续接的重构功能。
(1)双控制器的重构流程
重构控制层定时扫描双控制器中的所有RAID,当发现降级RAID,且满足重构条件后,进入RAID重构模式,流程如图4所示。
进入重构模式后,RAID存储层将所有的控制关键字和状态关键字依次初始化为:Mode=0;Pause=1;Action=recover;Position=0;Begin=0;End=max。接着,重构控制层判断当前控制器的角色,若当前控制器为从控制器,则将控制关键字置为Mode=0;Pause=0;进入等待主控制器数据同步状态。若当前控制器为主控制器,则将控制关键字置为Mode=1;Pause=1;进入重构暂停状态。
进入重构暂停状态后,重构控制层扫描当前控制器上的所有RAID,对每个RAID中的逻辑卷起止扇区信息进行提取,分别保存于分片的start和end变量内。获得分片的起止扇区后,重构控制层尽可能合并相邻的分片,得到合并后的逻辑卷分片列表。启动重构前,重构控制层将当前分片的start偏移地址和end偏移地址分别赋值给RAID存储层的Begin和End,接着将Pause置为0,取消重构暂停,执行分片重构。每重构完一个分片,主控制器的重构控制层将RAID存储层的Position信息同步至从控制器,从控制器将得到的Position信息赋值至该控制器RAID存储层的Begin控制关键字内。若发生主控制器突然失效的异常情况,从控制器可以从Begin控制关键字内的地址继续之前的重构工作。当前RAID中的所有分片均重构完后,主控制器会将该RAID的状态信息同步至从控制器,使两端同时达到RAID重构完成的一致状态。
(2)重构控制层扫描流程
重构控制层依据如图5所示的流程确定一个RAID是否具备局部重构条件。若当前RAID为具有冗余数据存储能力的RAID,即RAID4、RAID5和RAID6等,则继续判断后续状态,否则结束重构;若为冗余RAID,则判断当前RAID状态,即RAID存储层的Action状态关键字的值,若为idel,则结束重构,否则继续判断后续状态;若当前RAID状态为recover,且当前RAID不包含任何逻辑卷分片,则结束重构,否则继续判断后续状态;若当前RAID的所有逻辑卷分片状态值均为“done”,表示当前RAID的数据重构完毕,则结束重构,否则进入逻辑卷分片重构流程。每个逻辑卷分片重构完成后,主控制器将RAID存储层的Position信息同步至从控制器,使两端重构进度保持一致,并接着判断后续逻辑卷分片是否重构完毕;当所有逻辑卷分片的状态均为“done”时,当前RAID的重构流程结束。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。

Claims (10)

1.一种基于双控制器硬盘阵列的局部RAID重构系统的设计方法,其特征在于,所述RAID存储层用于提供底层存储机制,执行不同模式和不同控制下的RAID重构动作;所述重构控制层用于实现RAID存储空间内的局部数据扫描、重构策略制定、重构流程控制和重构信息同步。
2.如权利要求1所述的设计方法,其特征在于,该设计方法中,在RAID存储层中,设计了控制RAID重构流程的控制关键字和状态关键字,各关键字的定义如下:
Mode:当前控制器模式关键字;
Pause:重构动作控制关键字;
Action:重构状态关键字;
Position:当前重构位置关键字;
Begin:重构起始位置关键字;
End:重构终止位置关键字;
上述不同的关键字控制RAID的重构动作和显示RAID的重构状态。其中,Mode关键字表示当前控制器所处的模式,可配置为0或者1,主控制器模式为1,从控制器模式为0,处于主控制器模式时,控制器具有完全的读写权限,处于从控制器模式时,控制器只具备读权限;Pause关键字表示对RAID的重构动作控制,可配置为0或者1,当配置为0时,表示当前控制器的RAID重构任务正常执行,当配置为1时,表示当前控制器的RAID重构任务被挂起,重构中止;Action关键字表示RAID的重构状态,可为空闲态或者重构态,RAID状态正常、或者处于降级态且未插入热备盘、或者降级重构完毕后,表现为空闲态,RAID处于降级态且数据正在重构,表现为重构态;Position关键字表示当前RAID的重构位置,以扇区为基本单位进行定位和标识;Begin关键字表示RAID的重构起始位置,其最小值为0,最大值为当前RAID的容量;End关键字表示RAID的重构终止位置,其最小值为Begin关键字所表示的值,最大值为max,即存储系统可表示的最大整数。
3.如权利要求2所述的设计方法,其特征在于,该设计方法中,重构控制层制定RAID的重构策略,以加速RAID重构,RAID在使用过程中先被划分为数个逻辑卷,再在逻辑卷的基础上部署上层业务;
重构控制层将单个RAID视为一个连续的逻辑存储空间,将位于RAID之上的逻辑卷视为真正的数据存储容器,这些逻辑卷在RAID存储空间内表现为一段段独立的分片,这些分片是重构的基本单元。各个分片在RAID存储空间的分布上,可能连续,也可能分离,重构控制层会尽可能合并逻辑地址连续的分片,RAID全盘重构时,仅重构合并后的分片内容;所述局部数据即为各逻辑卷分片。
4.如权利要求3所述的设计方法,其特征在于,该设计方法中,重构控制层将每个RAID作为一个独立的重构整体,记录的最小信息包括RAID级别、RAID名字、RAID块设备号、RAID状态、RAID分片信息,RAID级别用于标识RAID是否支持重构,若不支持则重构控制层跳过重构;RAID名字表示RAID名称对应的字符串,可在系统内唯一标识该RAID;RAID块设备号表示RAID在系统对应的块设备路径,用于承接对RAID的操作;RAID分片信息part表示RAID下的所有逻辑卷分片,part的结构为一个列表,列表内每一个元素表示一个合并后的逻辑卷分片;对RAID的重构,是对该RAID分片列表part下所有合并后的逻辑卷分片的重构;
每个part元素记录的最小信息包含相对于RAID来说的起始存储位置、终止存储位置和当前分片的重构状态;起始存储位置存储相对于RAID逻辑空间的起始扇区;终止存储位置存储相对于RAID逻辑空间的终止扇区;每个分片的重构状态分为“not_start”、“recovering”和“done”三种;RAID降级后插入新的热备盘,所有分片同时进入初始状态,被赋予“not_start”状态,第一个分片开始重构时,该分片被赋予“recovering”状态,后续分片保持为“not_start”;第一个分片重构完成后,被赋予为“done”转态,第二个分片赋予“recovering”状态,后续分片仍为“not_start”状态,所有分片重构结束后,状态均被赋值为“done”,随后退出重构,切换RAID为正常状态,当RAID从重构状态切换为缺盘降级状态后,处于“recovering”和“done”状态的分片将再次回到“not_start”状态。
5.一种利用权利要求4所述的方法得到的基于双控制器硬盘阵列的局部RAID重构系统。
6.一种利用权利要求5所述的系统实现的局部RAID重构方法。
7.如权利要求6所述的方法,其特征在于,该方法中,重构控制层、RAID存储层二者的组合同时位于主控制器和从控制器内,双控制器硬盘阵列的这两个控制器通过重构控制层保持重构通信,两个控制器在协同工作的情况下,可为存储系统提供快速、可断点续接的重构功能。
8.如权利要求7所述的方法,其特征在于,该方法中,重构控制层定时扫描双控制器中的所有RAID,当发现降级RAID,且满足重构条件后,进入RAID重构模式;
进入重构模式后,RAID存储层将所有的控制关键字和状态关键字依次初始化为:Mode=0、Pause=1、Action=recover、Position=0、Begin=0、End=max;接着,重构控制层判断当前控制器的角色,若当前控制器为从控制器,则将控制关键字置为Mode=0、Pause=0;进入等待主控制器数据同步状态;若当前控制器为主控制器,则将控制关键字置为Mode=1、Pause=1;进入重构暂停状态;
进入重构暂停状态后,重构控制层扫描当前控制器上的所有RAID,对每个RAID中的逻辑卷起止扇区信息进行提取,分别保存于分片的start和end变量内;获得分片的起止扇区后,重构控制层尽可能合并相邻的分片,得到合并后的逻辑卷分片列表;启动重构前,重构控制层将当前分片的start偏移地址和end偏移地址分别赋值给RAID存储层的Begin和End,接着将Pause置为0,取消重构暂停,执行分片重构。每重构完一个分片,主控制器的重构控制层将RAID存储层的Position信息同步至从控制器,从控制器将得到的Position信息赋值至该控制器RAID存储层的Begin控制关键字内;若发生主控制器突然失效的异常情况,从控制器可以从Begin控制关键字内的地址继续之前的重构工作;当前RAID中的所有分片均重构完后,主控制器会将该RAID的状态信息同步至从控制器,使两端同时达到RAID重构完成的一致状态。
9.如权利要求8所述的方法,其特征在于,该方法中,重构控制层扫描流程如下:
重构控制层确定一个RAID是否具备局部重构条件:若当前RAID为具有冗余数据存储能力的RAID,则继续判断后续状态,否则结束重构;若为冗余RAID,则判断当前RAID状态,即RAID存储层的Action状态关键字的值,若为idel,则结束重构,否则继续判断后续状态;若当前RAID状态为recover,且当前RAID不包含任何逻辑卷分片,则结束重构,否则继续判断后续状态;若当前RAID的所有逻辑卷分片状态值均为“done”,表示当前RAID的数据重构完毕,则结束重构,否则进入逻辑卷分片重构流程;每个逻辑卷分片重构完成后,主控制器将RAID存储层的Position信息同步至从控制器,使两端重构进度保持一致,并接着判断后续逻辑卷分片是否重构完毕;当所有逻辑卷分片的状态均为“done”时,当前RAID的重构流程结束。
10.一种如权利要求5所述的系统在存储技术领域中的应用。
CN202111411375.3A 2021-11-25 2021-11-25 基于双控制器硬盘阵列的局部raid重构系统及方法 Active CN114063929B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111411375.3A CN114063929B (zh) 2021-11-25 2021-11-25 基于双控制器硬盘阵列的局部raid重构系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111411375.3A CN114063929B (zh) 2021-11-25 2021-11-25 基于双控制器硬盘阵列的局部raid重构系统及方法

Publications (2)

Publication Number Publication Date
CN114063929A true CN114063929A (zh) 2022-02-18
CN114063929B CN114063929B (zh) 2023-10-20

Family

ID=80276146

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111411375.3A Active CN114063929B (zh) 2021-11-25 2021-11-25 基于双控制器硬盘阵列的局部raid重构系统及方法

Country Status (1)

Country Link
CN (1) CN114063929B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117851132A (zh) * 2024-03-07 2024-04-09 四川省华存智谷科技有限责任公司 一种分布式对象存储的数据恢复优化方法

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB9823460D0 (en) * 1998-10-28 1998-12-23 Ibm Data storage array rebuild
US6185697B1 (en) * 1997-06-10 2001-02-06 Nec Corporation Disk-array controller
US20060041793A1 (en) * 2004-08-17 2006-02-23 Dell Products L.P. System, method and software for enhanced raid rebuild
US20060156059A1 (en) * 2005-01-13 2006-07-13 Manabu Kitamura Method and apparatus for reconstructing data in object-based storage arrays
WO2009157086A1 (ja) * 2008-06-27 2009-12-30 富士通株式会社 Raid装置並びにその制御装置および制御方法
CN102103468A (zh) * 2010-12-31 2011-06-22 中国电子科技集团公司第十五研究所 一种由双层控制器组成的多盘仓磁盘阵列系统
CN102682024A (zh) * 2011-03-11 2012-09-19 中国科学院高能物理研究所 未残缺jpeg文件碎片重组的方法
WO2014101412A1 (zh) * 2012-12-27 2014-07-03 华为技术有限公司 一种磁盘重构方法及其装置
US20160188410A1 (en) * 2014-12-29 2016-06-30 Ju-Pyung Lee Stripe reconstituting method performed in storage system, method of performing garbage collection by using the stripe reconstituting method, and storage system performing the stripe reconstituting method
CN108958656A (zh) * 2018-06-27 2018-12-07 北京计算机技术及应用研究所 基于raid5固态硬盘阵列的动态条带系统设计方法
CN110389864A (zh) * 2018-04-15 2019-10-29 群晖科技股份有限公司 独立盘冗余阵列重构装置及方法
CN112596673A (zh) * 2020-12-18 2021-04-02 南京道熵信息技术有限公司 具有双重raid数据保护的多活多控存储系统

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6185697B1 (en) * 1997-06-10 2001-02-06 Nec Corporation Disk-array controller
GB9823460D0 (en) * 1998-10-28 1998-12-23 Ibm Data storage array rebuild
US20060041793A1 (en) * 2004-08-17 2006-02-23 Dell Products L.P. System, method and software for enhanced raid rebuild
US20060156059A1 (en) * 2005-01-13 2006-07-13 Manabu Kitamura Method and apparatus for reconstructing data in object-based storage arrays
WO2009157086A1 (ja) * 2008-06-27 2009-12-30 富士通株式会社 Raid装置並びにその制御装置および制御方法
CN102103468A (zh) * 2010-12-31 2011-06-22 中国电子科技集团公司第十五研究所 一种由双层控制器组成的多盘仓磁盘阵列系统
CN102682024A (zh) * 2011-03-11 2012-09-19 中国科学院高能物理研究所 未残缺jpeg文件碎片重组的方法
WO2014101412A1 (zh) * 2012-12-27 2014-07-03 华为技术有限公司 一种磁盘重构方法及其装置
US20160188410A1 (en) * 2014-12-29 2016-06-30 Ju-Pyung Lee Stripe reconstituting method performed in storage system, method of performing garbage collection by using the stripe reconstituting method, and storage system performing the stripe reconstituting method
CN110389864A (zh) * 2018-04-15 2019-10-29 群晖科技股份有限公司 独立盘冗余阵列重构装置及方法
CN108958656A (zh) * 2018-06-27 2018-12-07 北京计算机技术及应用研究所 基于raid5固态硬盘阵列的动态条带系统设计方法
CN112596673A (zh) * 2020-12-18 2021-04-02 南京道熵信息技术有限公司 具有双重raid数据保护的多活多控存储系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JON G. ELERATH等: "Enhanced Reliability Modeling of RAID Storage Systems", 《37TH ANNUAL IEEE/IFIP INTERNATIONAL CONFERENCE ON DEPENDABLE SYSTEMS AND NETWORKS (DSN\'07)》, pages 1 - 10 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117851132A (zh) * 2024-03-07 2024-04-09 四川省华存智谷科技有限责任公司 一种分布式对象存储的数据恢复优化方法
CN117851132B (zh) * 2024-03-07 2024-05-07 四川省华存智谷科技有限责任公司 一种分布式对象存储的数据恢复优化方法

Also Published As

Publication number Publication date
CN114063929B (zh) 2023-10-20

Similar Documents

Publication Publication Date Title
US7107486B2 (en) Restore method for backup
US6883112B2 (en) Storage device, backup and fault tolerant redundant method and computer program code of plurality storage devices
US7971013B2 (en) Compensating for write speed differences between mirroring storage devices by striping
KR100701563B1 (ko) 스토리지 제어 장치 및 방법
JP3505093B2 (ja) ファイル管理システム
CN101523353B (zh) 在存在全局热备用磁盘的情况下用于故障驱动器的优化重建和向回复制的方法
US20070088990A1 (en) System and method for reduction of rebuild time in raid systems through implementation of striped hot spare drives
US5682396A (en) Control unit in storage subsystem with improvement of redundant data updating
KR101251245B1 (ko) 연결 단절된 디스크의 콘텐츠 재구성 방법 및 시스템, 컴퓨터 판독가능한 매체
US20110264949A1 (en) Disk array
CN101436149B (zh) 磁盘阵列数据重建方法
JPWO2006123416A1 (ja) ディスク故障復旧方法及びディスクアレイ装置
CA2125201A1 (en) Digital storage system and method having alternating deferred updating of mirrored storage disks
TW200540623A (en) System and method for drive recovery following a drive failure
CN100483323C (zh) 用于写入数据的方法、装置和系统
US20090113237A1 (en) Storage control device, storage control method and storage control program
US20070101188A1 (en) Method for establishing stable storage mechanism
CN103246478A (zh) 一种基于软raid支持无分组式全局热备盘的磁盘阵列系统
CN106569751A (zh) 一种多控制器缓存镜像方法及系统
CN107239233A (zh) 一种磁盘阵列及基于其的数据重构方法和存储设备
CN112379825B (zh) 基于数据特征分池的分布式数据存储方法及装置
CN114063929A (zh) 基于双控制器硬盘阵列的局部raid重构系统及方法
CN116204137B (zh) 基于dpu的分布式存储系统、控制方法、装置及设备
US20130019122A1 (en) Storage device and alternative storage medium selection method
US20060026459A1 (en) Method and apparatus for storing data

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant