CN111752748A - 基于vraid的数据重建方法、装置、电子设备 - Google Patents

基于vraid的数据重建方法、装置、电子设备 Download PDF

Info

Publication number
CN111752748A
CN111752748A CN201910232137.2A CN201910232137A CN111752748A CN 111752748 A CN111752748 A CN 111752748A CN 201910232137 A CN201910232137 A CN 201910232137A CN 111752748 A CN111752748 A CN 111752748A
Authority
CN
China
Prior art keywords
dcg
vraid
data
source
data block
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
CN201910232137.2A
Other languages
English (en)
Other versions
CN111752748B (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.)
Macrosan Technologies Co Ltd
Original Assignee
Macrosan Technologies Co Ltd
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 Macrosan Technologies Co Ltd filed Critical Macrosan Technologies Co Ltd
Priority to CN201910232137.2A priority Critical patent/CN111752748B/zh
Publication of CN111752748A publication Critical patent/CN111752748A/zh
Application granted granted Critical
Publication of CN111752748B publication Critical patent/CN111752748B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • 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/0604Improving or facilitating administration, e.g. storage management
    • 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/0638Organizing or formatting or addressing of data
    • 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)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Quality & Reliability (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Hardware Redundancy (AREA)

Abstract

本申请提供一种基于VRAID的数据重建方法、装置、电子设备及机器可读存储介质。在本申请中,监测所述VRAID,获取坏数据块对应的DCG以及第一DG,以及所述坏数据块的数据容量;检查所述第一DG的热备空间是否存在DC,若不存在,则选取所述VRAID的源DCG;将所述源DCG对应存储的数据迁移到所述VRAID的目的DCG,并在所述目的DCG中完成数据重建,其中,所述目的DCG为第二DG对应的DCG,所述第二DG为热备空间存在空闲的DG。基于不同DG下的VRAID数据迁移及重建,从而实现了VRAID热备空间的高效利用以及数据的安全冗余的快速恢复。

Description

基于VRAID的数据重建方法、装置、电子设备
技术领域
本申请涉及存储技术领域,尤其涉及基于VRAID的数据重建方法、装置、电子设备及机器可读存储介质。
背景技术
RAID(Redundant Array of Independent Disks,独立磁盘冗余阵列),是一种把多块独立的物理磁盘按不同的方式组合起来形成的一个磁盘阵列的存储技术,基于RAID的存储卷可以提供比单个磁盘更高的存储性能。RAID技术可以有多种实现策略,其中,常用的RAID策略包括RAID0、RAID1、RAID5、RAID6、RAID10等。
发明内容
本申请提供一种基于VRAID的数据重建方法,所述VRAID由对应不同DG的多个DCG交错构成,其中,每个DCG由来自同一个DG的多个DC组成,所述方法应用于存储设备,所述方法包括:
监测所述VRAID,获取坏数据块对应的DCG以及第一DG,以及所述坏数据块的数据容量;
检查所述第一DG的热备空间是否存在DC,若不存在,则选取所述VRAID的源DCG;
将所述源DCG对应存储的数据迁移到所述VRAID的目的DCG,并在所述目的DCG中完成数据重建,其中,所述目的DCG为第二DG对应的DCG,所述第二DG为热备空间存在空闲的DG。
可选的,所述选取所述VRAID的源DCG,包括:
从所述VRAID选取,DC属于第一DG并且未使用及非故障的DCG,作为所述源DCG,其中,所述DC属于第一DG并且未使用及非故障的DCG的容量不小于所述坏数据块的数据容量。
可选的,若所述DC属于第一DG并且未使用及非故障的DCG的容量小于所述坏数据块的数据容量,还包括:
从所述VRAID选取,DC属于第一DG并且已使用及已降级的DCG,追加作为所述源DCG。
可选的,所述将所述源DCG对应存储的数据迁移到所述VRAID的目的DCG,并在所述目的DCG中完成数据重建,包括:
若所述源DCG中的DCG未被使用过,则不执行数据迁移,使用所述第二DG热备空间的DC,替换所述源DCG中的未被使用过DCG的DC。
可选的,还包括:
若所述源DCG中的DCG存在坏数据块,则将所述源DCG中的存在坏数据块的DCG对应存储的数据,迁移到所述第二DG热备空间的DC组成的DCG,并对所述第二DG热备空间的DC组成的DCG执行数据重建。
可选的,还包括:
将所述源DCG中的存在坏数据块的DCG中的属于所述第一DG的未损坏DC,标记为所述第一DG热备空间的DC。
可选的,还包括:
若所述第一DG的热备空间存在DC,基于属于所述第一DG的热备空间的DC,重建所述VRAID中的坏数据块对应的DCG。
本申请还提供一种基于VRAID的数据重建装置,所述VRAID由对应不同DG的多个DCG交错构成,其中,每个DCG由来自同一个DG的多个DC组成,所述装置应用于存储设备,所述装置包括:
监测模块,监测所述VRAID,获取坏数据块对应的DCG以及第一DG,以及所述坏数据块的数据容量;
选取模块,检查所述第一DG的热备空间是否存在DC,若不存在,则选取所述VRAID的源DCG;
重建模块,将所述源DCG对应存储的数据迁移到所述VRAID的目的DCG,并在所述目的DCG中完成数据重建,其中,所述目的DCG为第二DG对应的DCG,所述第二DG为热备空间存在空闲的DG。
可选的,所述选取模块进一步:
从所述VRAID选取,DC属于第一DG并且未使用及非故障的DCG,作为所述源DCG,其中,所述DC属于第一DG并且未使用及非故障的DCG的容量不小于所述坏数据块的数据容量。
可选的,若所述DC属于第一DG并且未使用及非故障的DCG的容量小于所述坏数据块的数据容量,所述选取模块进一步:
从所述VRAID选取,DC属于第一DG并且已使用及已降级的DCG,追加作为所述源DCG。
可选的,所述重建模块进一步:
若所述源DCG中的DCG未被使用过,则不执行数据迁移,使用所述第二DG热备空间的DC,替换所述源DCG中的未被使用过DCG的DC。
可选的,所述重建模块进一步:
若所述源DCG中的DCG存在坏数据块,则将所述源DCG中的存在坏数据块的DCG对应存储的数据,迁移到所述第二DG热备空间的DC组成的DCG,并对所述第二DG热备空间的DC组成的DCG执行数据重建。
可选的,所述重建模块进一步:
将所述源DCG中的存在坏数据块的DCG中的属于所述第一DG的未损坏DC,标记为所述第一DG热备空间的DC。
可选的,所述重建模块进一步:
若所述第一DG的热备空间存在DC,基于属于所述第一DG的热备空间的DC,重建所述VRAID中的坏数据块对应的DCG。
本申请还提供一种电子设备,包括通信接口、处理器、存储器和总线,所述通信接口、所述处理器和所述非易失性存储之间通过总线相互连接;
所述非易失性存储中存储机器可读指令,所述处理器通过调用所述机器可读指令,执行上述的方法。
本申请还提供一种机器可读存储介质,所述机器可读存储介质存储有机器可读指令,所述机器可读指令在被处理器调用和执行时,实现上述方法。
通过以上实施例,基于不同DG下的VRAID数据迁移及重建,从而实现了VRAID热备空间的高效利用以及数据的安全冗余的快速恢复。
附图说明
图1是一示例性实施例提供的VRAID组成的示意图;
图2是一示例性实施例提供的一种基于VRAID的数据重建方法的流程图;.
图3是一示例性实施例提供的VRAID重建前的数据分布的示意图;
图4是一示例性实施例提供的VRAID重建后的数据分布的示意图;
图5是一示例性实施例提供的一种电子设备的硬件结构图;
图6是一示例性实施例提供的一种基于VRAID的数据重建装置的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
为了使本技术领域的人员更好地理解本申请实施例中的技术方案,下面先对本申请实施例涉及的基于VRAID的数据重建的相关技术,进行简要说明。
为了方便理解,先介绍下在本说明书中,VRAID相关的基本概念:VRAID、VD、DC、DG、DG数据空间、DG数据空间、DG热备空间、DCG、。
在本说明书中,VRAID(Virtual Redundant Array of Independent Disks,虚拟RAID)是指,使用多个VD(Virtual Disk,虚拟磁盘)按指定RAID策略创建的RAID,简称虚拟RAID。
在本说明书中,VD是指,使用位于不同DG(Disk Group,磁盘组)的多个DC(DiskChunk,磁盘数据块)按一定规则组织起来的虚拟磁盘。
在本说明书中,DG是指,将多个磁盘一定规则划分的不同分组;DC是指,在物理硬盘上划分的,用于存储数据的固定大小的物理空间,简称为DC,例如:一个DC的大小为4MByte。
在本说明书中,DG数据空间,是指一个DG内用于数据存储的多个DC所对应的存储空间;DG热备空间,是指一个DG内用于热备的多个DC所对应的存储空间,一个DG的总存储空间是由DG数据空间以及DG热备空间组成。
在本说明书中,DCG(Disk Chunk Group,磁盘数据块组)是指,组成VRAID的一个基于VD的存储单元,其中,所述DCG由来自同一个DG的具有相同VD索引的多个DC组成。
为了更形象理解上述VRAID相关的基本概念,请参见图1,图1是本说明书一实施例提供的VRAID组成的示意图。
如图1所示,多个物理磁盘被分别划分为3个磁盘组,分别为DG1(对应“DG1”文字上方的虚线框)、DG2(对应“DG2”文字上方的虚线框)、DG3(对应“DG3”文字上方的虚线框),其中,每个方格代表一个DC。
为了区分来自不同DG的DC,如图1所示,每个白色方格代表1个DG1中的DC;每个灰色方格代表1个DG2的DC;每个黑色方格代表1个DG3的DC。对于每个DG来说,其存储空间可以分为两大部分:DG数据空间(对应图1“数据空间”)、DG热备空间(对应图1“热备空间”)。
如图1所示的VRAID由3个VD组成,其中,上述3个VD分别为,图1所示的VDISK1(对应“VDISK1”文字下的一列)、VDISK2(对应“VDISK2”文字下的一列)、VDISK3(对应“VDISK3”文字下的一列);
上述3个VD以DCG(DCG1、DCG2、DCG3...DCGn),按一定规则交错构成VRAID,如图1所示,DCG1(包括在“DCG1”文字右侧虚线框内的3个白色方格)、DCG2(包括在“DCG2”文字右侧虚线框内的3个灰色色方格)、DCG3(包括在“DCG3”文字右侧虚线框内的3个黑色方格)、DCG4...DCGn组成了一个VRAID。
其中,DCG1(包括在“DCG1”文字右侧虚线框内的3个白色方格),由来自DG1的3个DC组成;DCG2(包括在“DCG2”文字右侧虚线框内的3个灰色方格),由来自DG2的3个DC组成;DCG3(包括在“DCG3”文字右侧虚线框内的3个黑色方格),由来自DG3的3个DC组成;DCG4(包括在“DCG4”文字右侧虚线框内的3个白色方格),由来自DG1的3个DC组成。如图1所示其它DCG,与上述DCG类似,通过不同颜色方格代表来自不同DG的DC,具体不再赘述。
需要说明的是,对应图1所示的DCG所包含DC里的文字代表对应DC存储的数据,例如:DCG1所包含3个DC存储的数据分别为A1、B1、C1;DCG2所包含3个DC存储的数据分别为A2、B2、C2;DCG3所包含3个DC存储的数据分别为A3、B3、C3,如图1所示其它DCG,与上述DCG类似,具体不再赘述。
基于如图1所示的VRAID组成,在一些场景下,若一个DCG所包含的DC存在损坏,则会导致该DCG发生降级,从而需要对该DCG进行重建;为保证组成该DCG中的DC来自同一个DG,就需要使用数据损坏的DC所对应DG的热备空间里的DC来进行重建。
请参见图1所示,比如:若图1中的DCG1中,存储A1的DC损坏,则选取DG1中热备空间的一个DC重建DCG1;再比如:若图1中的DCG2中,存储B2的DC损坏,则选取DG2中热备空间的一个DC重建DCG2;又比如:若图1中的DCG3中,存储C3的DC损坏,则选取DG3中热备空间的一个DC重建DCG3。
基于上述场景可见,若VRAID中存在大量DCG需要重建,并且对应损坏的DC来自同一DG,则会导致该DG的热备空间耗尽,从而后续无法再提供热备DC;而其他DG的热备空间虽然存在大量空闲的热备DC,却由于不同DG的隔离,导致不同DG的热备空间无法共享。
在以上如图1示出的VRAID基础上,本申请旨在提出一种,基于不同DG间数据迁移以及热备空间共享,来快速安全地进行VRAID数据重建的技术方案。
在实现时,存储设备优先使用坏数据块对应DC所在的DG的热备空间中的DC进行VRAID重建;在该DG中的热备空间的DC用完后,再基于其他DG的热备空间的DC;对占用该DG的DCG进行数据迁移及重建。
在以上方案中,基于不同DG下的VRAID数据迁移及重建,从而实现了VRAID热备空间的高效利用以及数据的安全冗余的快速恢复。
下面通过具体实施例并结合具体的应用场景对本申请进行描述。
请参考图2,图2是本申请一实施例提供的一种基于VRAID的数据重建方法的流程图,所述方法应用于存储设备,上述方法执行以下步骤:
步骤202、监测所述VRAID,获取坏数据块对应的DCG以及第一DG,以及所述坏数据块的数据容量。
步骤204、检查所述第一DG的热备空间是否存在DC,若不存在,则选取所述VRAID的源DCG。
步骤206、将所述源DCG对应存储的数据迁移到所述VRAID的目的DCG,并在所述目的DCG中完成数据重建,其中,所述目的DCG为第二DG对应的DCG,所述第二DG为热备空间存在空闲的DG。
以下通过具体的实施例,并结合“VRAID监测”、“数据迁移及重建”,对本申请的涉及的技术方案进行详细描述:
1)VRAID监测
上述坏数据块,是指构成一个或多个DCG的存在存储故障的一个或多个DC,其中,上述坏数据块对应来自第一DG。
在本说明书中,上述VRAID由对应不同DG的多个DCG交错构成,其中,每个DCG由来自同一个DG的多个DC组成。VRAID、DG、DCG相关概念在上文详细介绍,具体不再赘述,例如:上述VRAID的组成如图3所示。
请参见图3,图3是本说明书一示例性实施例提供的VRAID重建前的数据分布的示意图。图3与图1所示的VRAID组成相同,区别在于图3所示的数据状态与图1不同。
如图3所示,待斜线的白色方格,表示对应DC存在故障,从而导致对应存储的数据损坏。例如:数据A1、B4、A7、An对应的DC为上述坏数据块,上述坏数据块对应来自DG1。
需要说明的是,上述坏数据块也可能包括来自DG2或DG3的坏数据块。为了方面理解和描述,后续以图3所示的VRAID重建前的数据分布进行举例说明。
在本说明书中,存储设备监测上述VRAID,获取坏数据块对应的DCG以及第一DG,以及上述坏数据块的数据容量;
比如:以一个DC的大小为4MB为例,存储设备通过监测获取到坏数据块为数据A1、B4、A7、An对应的DCG(DCG1、DCG4、DCG7、DCGn),其中,上述坏数据块都是来自DG1数据空间的DC;存储设备由此可以获得上述坏数据块的数据容量为4个DC大小,即上述坏数据块的数据容量为16MB。
在本说明书中,存储设备可以按一定周期,监测上述VRAID的坏数据块情况,在获取上述坏数据块对应的对应的DCG、第一DG以及上述坏数据块的数据容量后;继续检查上述第一DG的热备空间是否存在DC;
在示出的一种实施方式中,若上述第一DG的热备空间存在DC,则存储设备基于属于上述第一DG的热备空间的DC,重建上述VRAID中的坏数据块对应的DCG。
例如:请参见图3所示,坏数据块为数据A1、B4、A7、An对应的DCG(DCG1、DCG4、DCG7、DCGn),上述坏数据块都是来自DG1数据空间的DC;当DG1中的热备空间存在多于4个DC时,则存储设备基于DG1中的热备空间的DC,对上述坏数据块对应的对应的DCG(DCG1、DCG4、DCG7、DCGn)进行重建。
在示出的另一种实施方式中,若上述第一DG的热备空间不存在DC,则存储设备需要继续执行如下“数据迁移及重建”步骤。
例如:请参见图3所示,坏数据块为数据A1、B4、A7、An对应的DCG(DCG1、DCG4、DCG7、DCGn),上述坏数据块都是来自DG1数据空间的DC;当DG1中的热备空间已无DC时,存储设备需要继续执行如下“数据迁移及重建”步骤。
2)数据迁移及重建
在本说明书中,上述源DCG是存储设备从上述VRAID中选取的,需要进行数据迁移的DCG。
在示出的一种实施方式中,上述源DCG为存储设备从上述VRAID中选取的,DC属于上述第一DG并且未使用及非故障的DCG;
其中,DC属于第一DG并且未使用及非故障的DCG的容量不小于上述坏数据块的数据容量。需要说明的是,这里的未使用及非故障的DCG,是指未存储有效数据,并且不存在存储故障的DCG。
例如:假定一个DC为4MB,请参见图3所示,坏数据块为数据A1、B4、A7、An对应的DCG(DCG1、DCG4、DCG7、DCGn),上述坏数据块容量为12MB;存储设备以上述坏数据块容量作为选取源DCG的依据,在上述VRAID中选取DCG10、DCGn作为上述源DCG,其中,上述源DCG(DCG10、DCGn)的容量为6个DC的容量,即上述源DCG为24MB,并且DCG10、DCGn的状态为未使用及非故障。
在示出的另一种实施方式中,若上述DC属于第一DG并且未使用及非故障的DCG的容量小于上述坏数据块的数据容量,则存储设备从上述VRAID选取,DC属于第一DG并且已使用及已降级的DCG,追加作为上述源DCG。
例如:假定一个DC为4MB,请参见图3所示,坏数据块为数据A1、B4、A7、An对应的DCG(DCG1、DCG4、DCG7、DCGn),上述坏数据块容量为16MB;存储设备以上述坏数据块容量作为选取源DCG的依据,在上述VRAID中选取DCG10作为上述源DCG,并且DCG10的状态为未使用及非故障;在上述VRAID中除了DCG10外,没有其他状态为未使用及非故障可以继续选择,则存储设备需要继续选择DCG1(由于数据A1对应的DC损坏,DCG1的状态为已使用及已降级)追加作为上述源DCG,也即,上述源DCG包括DCG10、DCG1;其中,DCG10的状态为未使用及非故障,DCG1的状态为已使用及已降级。
在本说明书中,上述目的DCG是指,存储设备用于存储上述源DCG中保存数据的DCG;
其中,上述目的DCG为第二DG对应的DCG,上述第二DG为热备空间存在DC的DG。比如:上述第二DG为如图3所述的DG2或DG3、再比如:上述第二DG为如图3所述的DG2与DG3的组合。需要说明是,在存储设备选取上述目的DCG时,优先选取热备空间容量较大的DG。
在本说明书中,存储设备在选取好上述源DCG后,将上述源DCG对应存储的数据迁移到上述VRAID的目的DCG,并在上述目的DCG中完成数据重建。
请参见图4,图4是本说明书一示例性实施例提供的VRAID重建后的数据分布的示意图。图4与图3所示的VRAID组成相同,区别在于图4所示的数据状态与图3不同,其中,图4的数据状态为对应图3所示的VRAID完成重建后的数据分布状态。
在示出的一种实施方式中,若上述源DCG中的DCG未被使用过,则不执行数据迁移,存储设备使用上述第二DG热备空间的DC,替换上述源DCG中的未被使用过DCG的DC。
例如:请参见图3所示,上述源DCG包括DCG10、DCGn;其中,DCG10、DCGn的状态为未使用及非故障。由于上述源DCG所包括DCG10、DCGn的状态是未被使用过的,也即DCG10、DCGn中没有效数据,则存储设备将上述源DCG中的DCG10所存储的数据基于上述第二DG(例如为图4所示的DG2)热备空间的DC进行存储,由于DCG10、DCGn没有使用,则不需要数据拷贝,直接用目的DCG的热备空间的DC替换源DCG的对应DC的位置即可。
如图4所示,上述VRAID的DCG10对应的DC已被存储设备替换为DG2热备空间的DC(对应图4中的灰色方格)所组成;上述VRAID的DCGn的对应的DC已被存储设备替换为DG3热备空间的DC(对应图4中的黑色方格)所组成。
在示出的另一种实施方式中,若上述源DCG中的DCG存在坏数据块,则将上述源DCG中的存在坏数据块的DCG对应存储的数据,迁移到上述第二DG热备空间的DC组成的DCG,并对上述第二DG热备空间的DC组成的DCG执行数据重建。
例如:请参见图3所示,上述源DCG包括DCG1;其中,DCG1的状态为已使用及已降级。由于上述源DCG所包括,DCG1的状态是已使用及已降级,也即DCG1中存在有效数据,并且存在坏数据块(A1对应的DC),则存储设备将上述源DCG中的DCG1所存储的数据B1、C1,通过拷贝重建,写入上述目的DCG的热备空间的DC。
如图4所示,上述VRAID的DCG1存储的数据B1、C1(对应图3中的B1、C1所在的白色方格)对应的DC已被存储设备替换为DG3热备空间的DC(对应图4中的B1、C1所在的黑色方格)。存储设备基于DCG对应预设的RAID策略,分别对如图4所示的DCG1进行数据重建。
比如:上述RAID策略为RAID5,则存储设备可以基于RAID5异或算法对A1进行计算,从而实现在上述目的DCG中的数据重建。
在实现时,存储设备可以通过B1、C1异或计算获取A1,并将A1保存在来自DG3热备空间的DC上,如图4中的A1所在的黑色方格。
在示出的一种实施方式中,在完成将上述源DCG的数据迁移到上述目的DCG之后,存储设备将上述源DCG中的存在坏数据块的DCG中的属于上述第一DG的未损坏DC,标记为上述第一DG热备空间的DC。
例如:如图3所示的DCG1中B1、C1对应的DG1的DC(白色方格)是未损坏的DC,存储设备将上述未损坏的DC标记为DG1热备空间的DC。
在示出的一种实施方式中,若上述第一DG的热备空间存在DC,则存储设备基于属于上述第一DG的热备空间的DC,重建上述VRAID中的坏数据块对应的DCG。
以上述示例的过程继续举例,请参见图3所示,坏数据块为数据B4、A7对应的DCG(DCG4、DCG7),上述坏数据块都是来自DG1数据空间的DC;DCG1中B1、C1对应的DG1的DC已经被标记为DG1热备空间中的DC;存储设备基于DG1中的热备空间的DC,对上述坏数据块对应的对应的DCG(DCG4、DCG7)进行重建,重建后的DCG(DCG4、DCG7)的数据分布请参见图4所示,重建后DCG4、DCG7的数据分别对应B4、A7对应为图4白色的方格(对应DG1热备空间的DC)。
在以上技术方案中,基于不同DG下的VRAID数据迁移及重建,从而实现了VRAID热备空间的高效利用以及数据的安全冗余的快速恢复。
与上述方法实施例相对应,本申请还提供了基于VRAID的数据重建装置的实施例。
与上述方法实施例相对应,本说明书还提供了一种基于VRAID的数据重建装置的实施例。本说明书的基于VRAID的数据重建装置的实施例可以应用在电子设备上。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在电子设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图5所示,为本说明书的基于VRAID的数据重建装置所在电子设备的一种硬件结构图,除了图5所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的电子设备通常根据该电子设备的实际功能,还可以包括其他硬件,对此不再赘述。
图6是本说明书一示例性实施例示出的一种基于VRAID的数据重建装置的框图。
请参考图6,所述基于VRAID的数据重建装置50可以应用在前述图5所示的电子设备中,所述VRAID由对应不同DG的多个DCG交错构成,其中,每个DCG由来自同一个DG的多个DC组成,所述装置应用于存储设备,包括:
监测模块601,监测所述VRAID,获取坏数据块对应的DCG以及第一DG,以及所述坏数据块的数据容量;
选取模块602,检查所述第一DG的热备空间是否存在DC,若不存在,则选取所述VRAID的源DCG;
重建模块603,将所述源DCG对应存储的数据迁移到所述VRAID的目的DCG,并在所述目的DCG中完成数据重建,其中,所述目的DCG为第二DG对应的DCG,所述第二DG为热备空间存在空闲的DG。
在本实施例中,所述选取模块602进一步:
从所述VRAID选取,DC属于第一DG并且未使用及非故障的DCG,作为所述源DCG,其中,所述DC属于第一DG并且未使用及非故障的DCG的容量不小于所述坏数据块的数据容量。
在本实施例中,若所述DC属于第一DG并且未使用及非故障的DCG的容量小于所述坏数据块的数据容量,所述选取模块602进一步:
从所述VRAID选取,DC属于第一DG并且已使用及已降级的DCG,追加作为所述源DCG。
在本实施例中,所述重建模块603进一步:
若所述源DCG中的DCG未被使用过,则不执行数据迁移,使用所述第二DG热备空间的DC,替换所述源DCG中的未被使用过DCG的DC。
在本实施例中,所述重建模块603进一步:
若所述源DCG中的DCG存在坏数据块,则将所述源DCG中的存在坏数据块的DCG对应存储的数据,迁移到所述第二DG热备空间的DC组成的DCG,并对所述第二DG热备空间的DC组成的DCG执行数据重建。
在本实施例中,所述重建模块603进一步:
将所述源DCG中的存在坏数据块的DCG中的属于所述第一DG的未损坏DC,标记为所述第一DG热备空间的DC。
在本实施例中,所述重建模块603进一步:
若所述第一DG的热备空间存在DC,基于属于所述第一DG的热备空间的DC,重建所述VRAID中的坏数据块对应的DCG。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
上述实施例阐明的装置、装置、模块或模块,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
与上述方法实施例相对应,本说明书还提供了一种电子设备的实施例。所述电子设备可以应用于存储设备,由存储设备负责VRAID管理,其中,所述VRAID由对应不同DG的多个DCG交错构成,每个DCG由来自同一个DG的多个DC组成;该电子设备包括:处理器以及用于存储机器可执行指令的存储器;其中,处理器和存储器通常通过内部总线相互连接。在其他可能的实现方式中,所述设备还可能包括外部接口,以能够与其他设备或者部件进行通信。
在本实施例中,通过读取并执行所述存储器存储的与基于VRAID的数据重建逻辑对应的机器可执行指令,所述处理器被促使:
监测所述VRAID,获取坏数据块对应的DCG以及第一DG,以及所述坏数据块的数据容量;
检查所述第一DG的热备空间是否存在DC,若不存在,则选取所述VRAID的源DCG;
将所述源DCG对应存储的数据迁移到所述VRAID的目的DCG,并在所述目的DCG中完成数据重建,其中,所述目的DCG为第二DG对应的DCG,所述第二DG为热备空间存在空闲的DG。
在本实施例中,通过读取并执行所述存储器存储的与基于VRAID的数据重建逻辑对应的机器可执行指令,所述处理器被促使:
从所述VRAID选取,DC属于第一DG并且未使用及非故障的DCG,作为所述源DCG,其中,所述DC属于第一DG并且未使用及非故障的DCG的容量不小于所述坏数据块的数据容量。
在本实施例中,若所述DC属于第一DG并且未使用及非故障的DCG的容量小于所述坏数据块的数据容量,通过读取并执行所述存储器存储的与基于VRAID的数据重建逻辑对应的机器可执行指令,所述处理器被促使:
从所述VRAID选取,DC属于第一DG并且已使用及已降级的DCG,追加作为所述源DCG。
在本实施例中,通过读取并执行所述存储器存储的与基于VRAID的数据重建逻辑对应的机器可执行指令,所述处理器被促使:
若所述源DCG中的DCG未被使用过,则不执行数据迁移,使用所述第二DG热备空间的DC,替换所述源DCG中的未被使用过DCG的DC。
在本实施例中,通过读取并执行所述存储器存储的与基于VRAID的数据重建逻辑对应的机器可执行指令,所述处理器被促使:
若所述源DCG中的DCG存在坏数据块,则将所述源DCG中的存在坏数据块的DCG对应存储的数据,迁移到所述第二DG热备空间的DC组成的DCG,并对所述第二DG热备空间的DC组成的DCG执行数据重建。
在本实施例中,通过读取并执行所述存储器存储的与基于VRAID的数据重建逻辑对应的机器可执行指令,所述处理器被促使:
将所述源DCG中的存在坏数据块的DCG中的属于所述第一DG的未损坏DC,标记为所述第一DG热备空间的DC。
在本实施例中,通过读取并执行所述存储器存储的与基于VRAID的数据重建逻辑对应的机器可执行指令,所述处理器被促使:
若所述第一DG的热备空间存在DC,基于属于所述第一DG的热备空间的DC,重建所述VRAID中的坏数据块对应的DCG。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本说明书的其它实施方案。本说明书旨在涵盖本说明书的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本说明书的一般性原理并包括本说明书未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本说明书的真正范围和精神由下面的权利要求指出。
应当理解的是,本说明书并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本说明书的范围仅由所附的权利要求来限制。
以上所述仅为本说明书的较佳实施例而已,并不用以限制本说明书,凡在本说明书的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书保护的范围之内。

Claims (16)

1.一种基于VRAID的数据重建方法,其特征在于,所述VRAID由对应不同DG的多个DCG交错构成,其中,每个DCG由来自同一个DG的多个DC组成,所述方法应用于存储设备,所述方法包括:
监测所述VRAID,获取坏数据块对应的DCG以及第一DG,以及所述坏数据块的数据容量;
检查所述第一DG的热备空间是否存在DC,若不存在,则选取所述VRAID的源DCG;
将所述源DCG对应存储的数据迁移到所述VRAID的目的DCG,并在所述目的DCG中完成数据重建,其中,所述目的DCG为第二DG对应的DCG,所述第二DG为热备空间存在空闲的DG。
2.根据权利要求1所述的方法,其特征在于,所述选取所述VRAID的源DCG,包括:
从所述VRAID选取,DC属于第一DG并且未使用及非故障的DCG,作为所述源DCG,其中,所述DC属于第一DG并且未使用及非故障的DCG的容量不小于所述坏数据块的数据容量。
3.根据权利要求2所述的方法,其特征在于,若所述DC属于第一DG并且未使用及非故障的DCG的容量小于所述坏数据块的数据容量,还包括:
从所述VRAID选取,DC属于第一DG并且已使用及已降级的DCG,追加作为所述源DCG。
4.根据权利要求3所述的方法,其特征在于,所述将所述源DCG对应存储的数据迁移到所述VRAID的目的DCG,并在所述目的DCG中完成数据重建,包括:
若所述源DCG中的DCG未被使用过,则不执行数据迁移,使用所述第二DG热备空间的DC,替换所述源DCG中的未被使用过DCG的DC。
5.根据权利要求4所述的方法,其特征在于,还包括:
若所述源DCG中的DCG存在坏数据块,则将所述源DCG中的存在坏数据块的DCG对应存储的数据,迁移到所述第二DG热备空间的DC组成的DCG,并对所述第二DG热备空间的DC组成的DCG执行数据重建。
6.根据权利要求5所述的方法,其特征在于,还包括:
将所述源DCG中的存在坏数据块的DCG中的属于所述第一DG的未损坏DC,标记为所述第一DG热备空间的DC。
7.根据权利要求1所述的方法,其特征在于,还包括:
若所述第一DG的热备空间存在DC,基于属于所述第一DG的热备空间的DC,重建所述VRAID中的坏数据块对应的DCG。
8.一种基于VRAID的数据重建装置,其特征在于,所述VRAID由对应不同DG的多个DCG交错构成,其中,每个DCG由来自同一个DG的多个DC组成,所述装置应用于存储设备,所述装置包括:
监测模块,监测所述VRAID,获取坏数据块对应的DCG以及第一DG,以及所述坏数据块的数据容量;
选取模块,检查所述第一DG的热备空间是否存在DC,若不存在,则选取所述VRAID的源DCG;
重建模块,将所述源DCG对应存储的数据迁移到所述VRAID的目的DCG,并在所述目的DCG中完成数据重建,其中,所述目的DCG为第二DG对应的DCG,所述第二DG为热备空间存在空闲的DG。
9.根据权利要求8所述的装置,其特征在于,所述选取模块进一步:
从所述VRAID选取,DC属于第一DG并且未使用及非故障的DCG,作为所述源DCG,其中,所述DC属于第一DG并且未使用及非故障的DCG的容量不小于所述坏数据块的数据容量。
10.根据权利要求9所述的装置,其特征在于,若所述DC属于第一DG并且未使用及非故障的DCG的容量小于所述坏数据块的数据容量,所述选取模块进一步:
从所述VRAID选取,DC属于第一DG并且已使用及已降级的DCG,追加作为所述源DCG。
11.根据权利要求10所述的装置,其特征在于,所述重建模块进一步:
若所述源DCG中的DCG未被使用过,则不执行数据迁移,使用所述第二DG热备空间的DC,替换所述源DCG中的未被使用过DCG的DC。
12.根据权利要求11所述的装置,其特征在于,所述重建模块进一步:
若所述源DCG中的DCG存在坏数据块,则将所述源DCG中的存在坏数据块的DCG对应存储的数据,迁移到所述第二DG热备空间的DC组成的DCG,并对所述第二DG热备空间的DC组成的DCG执行数据重建。
13.根据权利要求12所述的装置,其特征在于,所述重建模块进一步:
将所述源DCG中的存在坏数据块的DCG中的属于所述第一DG的未损坏DC,标记为所述第一DG热备空间的DC。
14.根据权利要求8所述的装置,其特征在于,所述重建模块进一步:
若所述第一DG的热备空间存在DC,基于属于所述第一DG的热备空间的DC,重建所述VRAID中的坏数据块对应的DCG。
15.一种电子设备,其特征在于,包括通信接口、处理器、内存、非易失性存储和总线,所述通信接口、所述处理器、所述内存和所述非易失性存储之间通过总线相互连接;
所述非易失性存储中存储机器可读指令,所述处理器通过调用所述机器可读指令,执行如权利要求1至7任一项所述的方法。
16.一种机器可读存储介质,其特征在于,所述机器可读存储介质存储有机器可读指令,所述机器可读指令在被处理器调用和执行时,实现权利要求1至7任一项所述的方法。
CN201910232137.2A 2019-03-26 2019-03-26 基于vraid的数据重建方法、装置、电子设备 Active CN111752748B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910232137.2A CN111752748B (zh) 2019-03-26 2019-03-26 基于vraid的数据重建方法、装置、电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910232137.2A CN111752748B (zh) 2019-03-26 2019-03-26 基于vraid的数据重建方法、装置、电子设备

Publications (2)

Publication Number Publication Date
CN111752748A true CN111752748A (zh) 2020-10-09
CN111752748B CN111752748B (zh) 2024-04-26

Family

ID=72672191

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910232137.2A Active CN111752748B (zh) 2019-03-26 2019-03-26 基于vraid的数据重建方法、装置、电子设备

Country Status (1)

Country Link
CN (1) CN111752748B (zh)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030088803A1 (en) * 2001-11-08 2003-05-08 Raidcore, Inc. Rebuilding redundant disk arrays using distributed hot spare space
US20100251012A1 (en) * 2009-03-24 2010-09-30 Lsi Corporation Data Volume Rebuilder and Methods for Arranging Data Volumes for Improved RAID Reconstruction Performance
CN102508733A (zh) * 2011-09-22 2012-06-20 杭州华三通信技术有限公司 一种基于磁盘阵列的数据处理方法及磁盘阵列管理器
CN102591746A (zh) * 2011-12-29 2012-07-18 成都市华为赛门铁克科技有限公司 数据重构方法和存储设备
CN102880428A (zh) * 2012-08-20 2013-01-16 华为技术有限公司 分布式独立磁盘冗余阵列的创建方法及装置
CN104375784A (zh) * 2014-11-17 2015-02-25 浙江宇视科技有限公司 一种降低虚拟磁盘管理复杂度的方法和装置
CN105183623A (zh) * 2015-08-25 2015-12-23 浙江宇视科技有限公司 一种基于热备vd提高vdg重建性能的方法和装置
US20160092326A1 (en) * 2014-09-30 2016-03-31 Emc Corporation Method and apparatus for accelerating data reconstruction for a disk array
CN105843562A (zh) * 2016-05-24 2016-08-10 浙江宇视科技有限公司 数据重建的方法及装置

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030088803A1 (en) * 2001-11-08 2003-05-08 Raidcore, Inc. Rebuilding redundant disk arrays using distributed hot spare space
US20100251012A1 (en) * 2009-03-24 2010-09-30 Lsi Corporation Data Volume Rebuilder and Methods for Arranging Data Volumes for Improved RAID Reconstruction Performance
CN102508733A (zh) * 2011-09-22 2012-06-20 杭州华三通信技术有限公司 一种基于磁盘阵列的数据处理方法及磁盘阵列管理器
CN102591746A (zh) * 2011-12-29 2012-07-18 成都市华为赛门铁克科技有限公司 数据重构方法和存储设备
CN102880428A (zh) * 2012-08-20 2013-01-16 华为技术有限公司 分布式独立磁盘冗余阵列的创建方法及装置
US20160092326A1 (en) * 2014-09-30 2016-03-31 Emc Corporation Method and apparatus for accelerating data reconstruction for a disk array
CN104375784A (zh) * 2014-11-17 2015-02-25 浙江宇视科技有限公司 一种降低虚拟磁盘管理复杂度的方法和装置
CN105183623A (zh) * 2015-08-25 2015-12-23 浙江宇视科技有限公司 一种基于热备vd提高vdg重建性能的方法和装置
CN105843562A (zh) * 2016-05-24 2016-08-10 浙江宇视科技有限公司 数据重建的方法及装置

Also Published As

Publication number Publication date
CN111752748B (zh) 2024-04-26

Similar Documents

Publication Publication Date Title
US10318169B2 (en) Load balancing of I/O by moving logical unit (LUN) slices between non-volatile storage represented by different rotation groups of RAID (Redundant Array of Independent Disks) extent entries in a RAID extent table of a mapped RAID data storage system
CN109726033B (zh) 提供raid数据保护的方法、数据存储系统和计算机可读介质
US10210045B1 (en) Reducing concurrency bottlenecks while rebuilding a failed drive in a data storage system
CN108228086B (zh) Raid重建的方法和设备
US8843782B2 (en) Method and apparatus for reconstructing redundant array of inexpensive disks, and system
US7093069B2 (en) Integration of a RAID controller with a disk drive module
CN111158587B (zh) 基于存储池虚拟化管理的分布式存储系统及数据读写方法
KR102368935B1 (ko) 키 밸류 솔리드 스테이트 드라이브
CN103513942B (zh) 独立冗余磁盘阵列的重构方法及装置
CN101567211A (zh) 一种提高磁盘可用性的方法和磁盘阵列控制器
US10649892B2 (en) Operating a raw mirror within a RAID system
CN103593260B (zh) 一种元数据的保护方法和装置
US20120324148A1 (en) System and method of protecting metadata from nand flash failures
US20070101188A1 (en) Method for establishing stable storage mechanism
CN108733326B (zh) 一种磁盘处理方法及装置
CN111124264A (zh) 用于重建数据的方法、设备和计算机程序产品
US20050193273A1 (en) Method, apparatus and program storage device that provide virtual space to handle storage device failures in a storage system
CN109739436A (zh) Raid重构方法、存储介质和装置
US10210062B2 (en) Data storage system comprising an array of drives
US11860746B2 (en) Resilient data storage system with efficient space management
US10977130B2 (en) Method, apparatus and computer program product for managing raid storage in data storage systems
CN115617581A (zh) 一种存储器故障处理方法及装置
CN117111860B (zh) 磁盘阵列降级时的io处理方法、装置及电子设备
US9858147B2 (en) Storage apparatus and method of controlling storage apparatus
CN117539386A (zh) 磁盘阵列数据的处理方法、装置、设备及存储介质

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