CN113625974A - 一种磁盘阵列重构方法、装置、设备及介质 - Google Patents
一种磁盘阵列重构方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN113625974A CN113625974A CN202111168480.9A CN202111168480A CN113625974A CN 113625974 A CN113625974 A CN 113625974A CN 202111168480 A CN202111168480 A CN 202111168480A CN 113625974 A CN113625974 A CN 113625974A
- Authority
- CN
- China
- Prior art keywords
- data
- target object
- disk array
- lun
- recording bitmap
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 40
- 238000012217 deletion Methods 0.000 claims abstract description 50
- 230000037430 deletion Effects 0.000 claims abstract description 50
- 238000004590 computer program Methods 0.000 claims description 10
- 238000012544 monitoring process Methods 0.000 claims description 8
- 238000010586 diagram Methods 0.000 description 5
- 238000003491 array Methods 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 230000008602 contraction Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0652—Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0688—Non-volatile semiconductor memory arrays
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)
- Computer Security & Cryptography (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种磁盘阵列重构方法、装置、设备及介质,包括:当监测到磁盘阵列满足重构条件,则根据数据块分配记录对象判断任一目标对象中的数据块是否均未分配给相应的LUN;目标对象为磁盘阵列重构的基本单位,包括一个或多个条带;若均未分配给相应的LUN,则忽略所述目标对象,否则根据数据删除记录位图判断所述目标对象中的数据是否被全部删除;若所述目标对象中的数据被全部删除,则忽略所述目标对象,否则根据数据写入记录位图判断所述目标对象中是否有数据写入;若所述目标对象中有数据写入,则重构所述目标对象,否则忽略所述目标对象。这样,极大的减少了重构的数据量,能够缩短磁盘阵列的重构时间,从而提升存储的可靠性。
Description
技术领域
本申请涉及存储技术领域,特别涉及一种磁盘阵列重构方法、装置、设备及介质。
背景技术
随着数字经济的发展,已经进入数字化转型的加速阶段,数据作为企业的核心资产,将发挥巨大的价值,数据保护对于企业至关重要。各应用领域对计算机存储系统的性能和可靠性需求与日俱增。RAID(即Redundant Arrays of Independent Drives,磁盘阵列)可能因出现硬盘故障、坏块等需要进行重构,在重构过程中,如果再次发生坏盘或坏块,极有可能导致RAID不可用,数据发生丢失等灾难性后果。故RAID重构时间是存储可靠性的一个重要指标,如何缩短RAID的重构时间是目前亟待解决的问题。
发明内容
有鉴于此,本申请的目的在于提供一种磁盘阵列重构方法、装置、设备及介质,能够缩短磁盘阵列的重构时间,从而提升存储的可靠性。其具体方案如下:
第一方面,本申请公开了一种磁盘阵列重构方法,包括:
当监测到磁盘阵列满足重构条件,则根据数据块分配记录对象判断任一目标对象中的数据块是否均未分配给相应的LUN;其中,所述目标对象为磁盘阵列重构的基本单位,包括一个或多个条带;
若均未分配给相应的LUN,则忽略所述目标对象,否则根据数据删除记录位图判断所述目标对象中的数据是否被全部删除;
若所述目标对象中的数据被全部删除,则忽略所述目标对象,否则根据数据写入记录位图判断所述目标对象中是否有数据写入;
若所述目标对象中有数据写入,则重构所述目标对象,否则忽略所述目标对象。
可选的,还包括:
在创建所述磁盘阵列时,创建所述数据块分配记录对象,并将所述数据块分配记录对象中每一所述目标对象对应的分配记录元素初始化为0;
当获取到LUN的数据块申请时,每为所述LUN分配任一所述目标对象中的一个数据块,则对该目标对象对应的所述分配记录元素进行加1操作;
当获取到LUN的数据块释放请求时,每释放所述LUN对应的任一所述目标对象的一个数据块,则对该目标对象对应的所述分配记录元素进行减1操作;
当删除所述磁盘阵列时,则删除所述数据块分配记录对象。
可选的,所述根据数据块分配记录对象判断任一目标对象中的数据块是否均未分配给相应的LUN,包括:
判断数据块分配记录对象中任一目标对象对应的所述分配记录元素是否为0;
若是,则判定该目标对象中的数据块均未分配给相应的LUN;
否则,判定该目标对象中有数据块分配给相应的LUN。
可选的,还包括:
在创建所述磁盘阵列时,创建所述数据写入记录位图,并将所述数据写入记录位图中的全部比特位初始化为0;其中,所述数据写入记录位图中每个比特位代表一个所述目标对象的数据写入情况;
在LUN写入数据时,则将有数据写入的所述目标对象在所述数据写入记录位图中对应的比特位置为1。
可选的,所述根据数据写入记录位图判断所述目标对象中是否有数据写入,包括:
判断所述数据写入记录位图中所述目标对象对应的比特位是否为1;
若是,则判定所述目标对象中有数据写入;
否则,判定所述目标对象中无数据写入。
可选的,还包括:
创建所述数据删除记录位图,并将所述数据删除记录位图中的全部比特位初始化为1;其中,所述数据删除记录位图中每个比特位代表一个所述目标对象的数据删除情况;
在LUN删除数据时,若任一所述目标对象中的数据被全部删除,则将该目标对象在所述数据删除记录位图中对应的比特位置为0;
相应的,所述根据数据删除记录位图判断所述目标对象中的数据是否被全部删除,包括:
判断所述目标对象在所述数据删除记录位图中对应的比特位是否为0;
若是,则判定所述目标对象中的数据被全部删除。
可选的,所述在LUN写入数据时,则将有数据写入的所述目标对象在所述数据写入记录位图中对应的比特位置为1之后,还包括:
对所述数据写入记录位图以及所述数据删除记录位图进行或运算,得到更新后的数据删除记录位图。
第二方面,本申请公开了一种磁盘阵列重构装置,包括:
磁盘阵列监控模块,用于监测磁盘阵列是否满足重构条件;
分配记录判断模块,用于当所述磁盘阵列监控模块监测到磁盘阵列满足重构条件,则根据数据块分配记录对象判断任一目标对象中的数据块是否均未分配给相应的LUN;其中,所述目标对象为磁盘阵列重构的基本单位,包括一个或多个条带;若均未分配给相应的LUN,则忽略所述目标对象;
否则触发删除记录判断模块,根据数据删除记录位图判断所述目标对象中的数据是否被全部删除;若所述目标对象中的数据被全部删除,则忽略所述目标对象;
否则触发写入记录判断模块,根据数据写入记录位图判断所述目标对象中是否有数据写入,若否,则忽略所述目标对象;
若所述目标对象中有数据写入,则启动目标对象重构模块,重构所述目标对象。
第三方面,本申请公开了一种电子设备,包括:
存储器,用于保存计算机程序;
处理器,用于执行所述计算机程序,以实现前述的磁盘阵列重构方法。
第四方面,本申请公开了一种计算机可读存储介质,用于保存计算机程序,所述计算机程序被处理器执行时实现前述的磁盘阵列重构方法。
可见,本申请当监测到磁盘阵列满足重构条件,则根据数据块分配记录对象判断任一目标对象中的数据块是否均未分配给相应的LUN;其中,所述目标对象为磁盘阵列重构的基本单位,包括一个或多个条带;若均未分配给相应的LUN,则忽略所述目标对象,否则根据数据删除记录位图判断所述目标对象中的数据是否被全部删除;若所述目标对象中的数据被全部删除,则忽略所述目标对象,否则根据数据写入记录位图判断所述目标对象中是否有数据写入;若所述目标对象中有数据写入,则重构所述目标对象,否则忽略所述目标对象。也即,本申请通过数据块分配记录对象、数据删除记录位图,以及数据写入记录位图筛选出需要重构的目标对象,进行重构,这样,极大的减少了重构的数据量,能够缩短磁盘阵列的重构时间,从而提升存储的可靠性。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请公开的一种磁盘阵列重构方法流程图;
图2为本申请提供的一种具体的存储层次关系示意图;
图3为本申请提供的一种具体的目标对象和条带的关系示意图;
图4为本申请公开的一种具体的目标对象重构流程图;
图5为本申请公开的一种磁盘阵列重构装置结构示意图;
图6为本申请公开的一种电子设备结构图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
RAID可能因出现硬盘故障、坏块等需要进行重构,在重构过程中,如果再次发生坏盘或坏块,极有可能导致RAID不可用,数据发生丢失等灾难性后果。故RAID重构时间是存储可靠性的一个重要指标,如何缩短RAID的重构时间是目前亟待解决的问题。为此,本申请提供了一种磁盘阵列重构方案,能够缩短磁盘阵列的重构时间,从而提升存储的可靠性。
参见图1所示,本申请实施例公开了一种磁盘阵列重构方法,包括:
步骤S11:当监测到磁盘阵列满足重构条件,则根据数据块分配记录对象判断任一目标对象中的数据块是否均未分配给相应的LUN(即Logical Unit Number指逻辑单元号);其中,所述目标对象为磁盘阵列重构的基本单位,包括一个或多个条带。
在具体的实施方式中,可以实时监测磁盘阵列是否出现硬盘故障、坏块等,当监测到磁盘阵列出现上述情况,则判定磁盘阵列满足重构条件,需要重构。
在具体的实施方式中,在创建所述磁盘阵列时,创建所述数据块分配记录对象,并将所述数据块分配记录对象中每一所述目标对象对应的分配记录元素初始化为0;当获取到LUN的数据块申请时,每为所述LUN分配任一所述目标对象中的一个数据块,则对该目标对象对应的所述分配记录元素进行加1操作;当获取到LUN的数据块释放请求时,每释放所述LUN对应的任一所述目标对象的一个数据块,则对该目标对象对应的所述分配记录元素进行减1操作;当删除所述磁盘阵列时,则删除所述数据块分配记录对象。
其中,每个目标对象在所述数据块分配记录对象中存在1个对应的分配记录元素。
可以理解的是,在创建或者扩容LUN时,LUN会向RAID申请数据块,在每个数据块分配给LUN后,更新数据块分配记录对象,对相应的分配记录元素加1。在删除/缩容LUN,LUN会向RAID释放数据块,在每个数据块释放时,更新数据块分配记录对象,对相应的分配记录元素减1。这样,通过数据块分配记录对象可以记录目标对象中已分配的数据块的数量。
相应的,所述根据数据块分配记录对象判断任一目标对象中的数据块是否均未分配给相应的LUN,包括:判断数据块分配记录对象中任一目标对象对应的所述分配记录元素是否为0;若是,则判定该目标对象中的数据块均未分配给相应的LUN;否则,判定该目标对象中有数据块分配给相应的LUN。
步骤S12:若均未分配给相应的LUN,则忽略所述目标对象,否则根据数据删除记录位图判断所述目标对象中的数据是否被全部删除。
在具体的实施方式中,可以创建所述数据删除记录位图,并将所述数据删除记录位图中的全部比特位初始化为1;其中,所述数据删除记录位图中每个比特位代表一个所述目标对象的数据删除情况;在LUN删除数据时,若任一所述目标对象中的数据被全部删除,则将该目标对象在所述数据删除记录位图中对应的比特位置为0;
相应的,所述根据数据删除记录位图判断所述目标对象中的数据是否被全部删除,包括:判断所述目标对象在所述数据删除记录位图中对应的比特位是否为0;若是,则判定所述目标对象中的数据被全部删除。
步骤S13:若所述目标对象中的数据被全部删除,则忽略所述目标对象,否则根据数据写入记录位图判断所述目标对象中是否有数据写入。
在创建所述磁盘阵列时,创建所述数据写入记录位图,并将所述数据写入记录位图中的全部比特位初始化为0;其中,所述数据写入记录位图中每个比特位代表一个所述目标对象的数据写入情况;在LUN写入数据时,则将有数据写入的所述目标对象在所述数据写入记录位图中对应的比特位置为1。
相应的,所述根据数据写入记录位图判断所述目标对象中是否有数据写入,包括:判断所述数据写入记录位图中所述目标对象对应的比特位是否为1;若是,则判定所述目标对象中有数据写入;否则,判定所述目标对象中无数据写入。
可以理解的是,在LUN写入数据时,RAID计算得到写入数据对应的目标对象,进而将所述目标对象在所述数据写入记录位图中对应的比特位置为1。
也即,本申请实施例用数据写入记录位图记录相应的目标对象中是否有数据写入。
进一步的,当删除磁盘阵列时,删除所述数据写入记录位图。
并且,所述在LUN写入数据时,则将有数据写入的所述目标对象在所述数据写入记录位图中对应的比特位置为1之后,本申请实施例还对所述数据写入记录位图以及所述数据删除记录位图进行或运算,得到更新后的数据删除记录位图。也即,将或运算结果赋值给数据删除记录位图。
步骤S14:若所述目标对象中有数据写入,则重构所述目标对象,否则忽略所述目标对象。
在具体的实施方式中,可以利用预设的重构算法重构所述目标对象,其中,所采用的重构算法可以参考现有技术,在此不再进行赘述。
可见,本申请实施例当监测到磁盘阵列满足重构条件,则根据数据块分配记录对象判断任一目标对象中的数据块是否均未分配给相应的LUN;其中,所述目标对象为磁盘阵列重构的基本单位,包括一个或多个条带;若均未分配给相应的LUN,则忽略所述目标对象,否则根据数据删除记录位图判断所述目标对象中的数据是否被全部删除;若所述目标对象中的数据被全部删除,则忽略所述目标对象,否则根据数据写入记录位图判断所述目标对象中是否有数据写入;若所述目标对象中有数据写入,则重构所述目标对象,否则忽略所述目标对象。也即,本申请通过数据块分配记录对象、数据删除记录位图,以及数据写入记录位图筛选出需要重构的目标对象,进行重构,这样,极大的减少了重构的数据量,能够缩短磁盘阵列的重构时间,从而提升存储的可靠性。
例如,参见图2所示,本申请实施例提供了一种具体的存储层次关系,一个或者多个Drive(即硬盘)组成RAID,RAID在Pool(即存储池)中按照Extent尺寸切分成多个Extent(即前述数据块)。创建LUN时,会在Pool中的一个或多个RAID中选取Extent。参见图3所示,本申请实施例提供了一种具体的目标 对象和条带的关系示意图,一个由6块盘组成的RAID,将这个RAID的空间划分成多个strip(即条带)。Pack(即前述目标对象)则是由一个或多个strip组成。图3中给出目标对象0、目标对象1的实例,目标对象包括条带0、条带1等多个条带。
本申请实施例对Pack的使用情况进行实时记录,初始时为未使用,在发生创建LUN、删除LUN、LUN扩容\缩容、LUN迁移、写入数据、删除数据时更新相关的Pack对象,待重构条件触发时(发生坏块、坏盘等),对这些Pack对象分析,找出真正需要重构的Pack,之后进行重构。这可以极大减少重构的数据量,进而缩短重构时间,提高存储系统的可靠性。
其中,Drive包括机械硬盘、固态硬盘;RAID是由很多块独立的磁盘,组合成一个容量巨大的磁盘组,利用个别磁盘提供数据所产生加成效果提升整个磁盘系统效能;在存储设备中,LUN就是卷的概念;一个Pool中可以添加多个RAID,也可以创建多个LUN。Extent是Pool的一个属性,Pool将其包含的RAID按照extent大小切分成数据块,也是LUN的最小数据单元。LUN的扩容/缩容:给LUN增加容量即为扩容,缩小LUN的容量即为缩容。RAID把数据分成strip (条带),一个条带横跨所有数据磁盘,每个磁盘上存储条带的一部分,称为sagment,也称为条带深度。一个条带包含的扇区或块的个数,称为条带长度。Pack中包含一个或多个Strip,是RAID重构的基本单位。
例如,本申请实施例可以创建数据写入记录位图记为pack_written_bitmap,用于记录RAID中所有Pack是否被写入,每个bit代表一个Pack的写入情况,其中,bit==1代表被写入,bit==0代表未被写入。初始全为0。并且,创建数据块分配记录对象记为pack_alloc_info,用于记录pack的空间是否被分配给LUN,以及被LUN使用几个extent,需要指出的是,一个pack有可能跨越一个或者多个extent,初始为0,当RAID的extent被分配给LUN时,会对pack_alloc_info中相应元素加一。如果这个pack所在的多个extent都被分配给LUN,则pack_alloc_info中相应元素等于其跨越的extent数目。如果extent被释放,比如LUN删除或者LUN缩容等,则相应的pack_alloc_info相应元素会被减一。进一步的,创建数据删除记录位图记为pack_delete_bitmap,用于记录LUN上的pack数据删除情况,默认全1,只有当该pack所有数据均被删除才会被设置为0。
在具体的实施方式中,创建RAID时,创建pack_written_bitmap,将所有的bit初始化为0,代表未被写入;创建pack_alloc_info,将其所代表的所有pack的alloc_info(即每个pack对应的分配记录元素)都设置为0,代表未被分配。在删除RAID时,删除该RAID的pack_written_bitmap和pack_alloc_info,同时释放了相应的内存。创建/扩容LUN,LUN会向RAID申请extent,在每个extent被分配后,更新相应的pack_alloc_info,对alloc_info加一。删除/缩容LUN,LUN会向RAID释放extent,在每个extent释放时,更新相应的pack_alloc_info,对alloc_info减一。LUN写入数据,在RAID模块会计算得到pack,进而将pack_written_bitmap对应的位置1。更新pack_delete_bitmap = pack_written_bitmap ||pack_delete_bitmap;也即,进行或运算,比如A||B, A和B只有全都是零时,结果才是零,否则结果是1。LUN删除数据,更新pack_delete_bitmap,当pack所有数据全被删除,才会设置为0。
这样,在发生了坏盘或者坏块而触发重构时,单个pack重构的处理流程可以参考图4所示,图4为本申请实施例公开的一种具体的目标对象重构流程图。先检查pack_alloc_info,如果该pack对应的alloc_info为0,则代表它没有被任何LUN使用,无需重构。否则检查pack_delete_bitmap,该pack的区域若在pack_delete_bitmap中对应的bit位是0,说明其中的用户数据全部已删除,则无需重构,否则、检查pack_written_bitmap,如果该pack对应的bit是0,则说明没有数据写入,无需重构,否则执行数据重构流程。可见,本申请实施例通过实时记录/更新RAID中PACK对象的使用情况,根据多个Pack使用情况相关对象的状态,最大限度减少重构的数据量,进而缩短RAID重构时间,提高存储系统整体的可靠性。
参见图5所示,本申请实施例公开了一种磁盘阵列重构装置,包括:
磁盘阵列监控模块11,用于监测磁盘阵列是否满足重构条件;
分配记录判断模块12,用于当所述磁盘阵列监控模块11监测到磁盘阵列满足重构条件,则根据数据块分配记录对象判断任一目标对象中的数据块是否均未分配给相应的LUN;其中,所述目标对象为磁盘阵列重构的基本单位,包括一个或多个条带;若均未分配给相应的LUN,则忽略所述目标对象;
否则触发删除记录判断模块13,根据数据删除记录位图判断所述目标对象中的数据是否被全部删除;若所述目标对象中的数据被全部删除,则忽略所述目标对象;
否则触发写入记录判断模块14,根据数据写入记录位图判断所述目标对象中是否有数据写入,若否,则忽略所述目标对象;
若所述目标对象中有数据写入,则启动目标对象重构模块15,重构所述目标对象。
可见,本申请实施例当监测到磁盘阵列满足重构条件,则根据数据块分配记录对象判断任一目标对象中的数据块是否均未分配给相应的LUN;其中,所述目标对象为磁盘阵列重构的基本单位,包括一个或多个条带;若均未分配给相应的LUN,则忽略所述目标对象,否则根据数据删除记录位图判断所述目标对象中的数据是否被全部删除;若所述目标对象中的数据被全部删除,则忽略所述目标对象,否则根据数据写入记录位图判断所述目标对象中是否有数据写入;若所述目标对象中有数据写入,则重构所述目标对象,否则忽略所述目标对象。也即,本申请通过数据块分配记录对象、数据删除记录位图,以及数据写入记录位图筛选出需要重构的目标对象,进行重构,这样,极大的减少了重构的数据量,能够缩短磁盘阵列的重构时间,从而提升存储的可靠性。
进一步的,所示装置还包括:
数据块分配记录对象创建模块,用于在创建所述磁盘阵列时,创建所述数据块分配记录对象,并将所述数据块分配记录对象中每一所述目标对象对应的分配记录元素初始化为0;
数据块分配记录对象记录模块,用于当获取到LUN的数据块申请时,每为所述LUN分配任一所述目标对象中的一个数据块,则对该目标对象对应的所述分配记录元素进行加1操作;当获取到LUN的数据块释放请求时,每释放所述LUN对应的任一所述目标对象的一个数据块,则对该目标对象对应的所述分配记录元素进行减1操作;
数据块分配记录对象删除模块,用于当删除所述磁盘阵列时,则删除所述数据块分配记录对象。
相应的,分配记录判断模块12,具体用于判断数据块分配记录对象中任一目标对象对应的所述分配记录元素是否为0;若是,则判定该目标对象中的数据块均未分配给相应的LUN;否则,判定该目标对象中有数据块分配给相应的LUN。
进一步的,所述装置还包括:
数据写入记录位图创建模块,用于在创建所述磁盘阵列时,创建所述数据写入记录位图,并将所述数据写入记录位图中的全部比特位初始化为0;其中,所述数据写入记录位图中每个比特位代表一个所述目标对象的数据写入情况;
数据写入记录模块,用于在LUN写入数据时,则将有数据写入的所述目标对象在所述数据写入记录位图中对应的比特位置为1。
相应的,写入记录判断模块14,具体用于判断所述数据写入记录位图中所述目标对象对应的比特位是否为1;若是,则判定所述目标对象中有数据写入;否则,判定所述目标对象中无数据写入。
进一步的,所述装置还包括:
数据删除记录位图创建模块,用于创建所述数据删除记录位图,并将所述数据删除记录位图中的全部比特位初始化为1;其中,所述数据删除记录位图中每个比特位代表一个所述目标对象的数据删除情况;
数据删除记录模块,用于在LUN删除数据时,若任一所述目标对象中的数据被全部删除,则将该目标对象在所述数据删除记录位图中对应的比特位置为0;
相应的,所述删除记录判断模块具体用于:
判断所述目标对象在所述数据删除记录位图中对应的比特位是否为0;若是,则判定所述目标对象中的数据被全部删除。
进一步的,所述装置还包括:
数据删除记录位图更新模块,用于在所述数据写入记录模块将有数据写入的所述目标对象在所述数据写入记录位图中对应的比特位置为1之后,对所述数据写入记录位图以及所述数据删除记录位图进行或运算,得到更新后的数据删除记录位图。
参见图6所示,本申请实施例公开了一种电子设备,包括:处理器21和存储器22。
其中,所述存储器22,用于存储计算机程序;所述处理器21,用于执行所述计算机程序,以实现前述实施例中公开的磁盘阵列重构方法。
其中,关于上述磁盘阵列重构方法的具体过程可以参考前述实施例中公开的相应内容,在此不再进行赘述。
进一步的,本申请实施例还公开了一种计算机可读存储介质,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现前述任一实施例中公开的磁盘阵列重构方法。
其中,关于上述磁盘阵列重构方法的具体过程可以参考前述实施例中公开的相应内容,在此不再进行赘述。
各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上对本申请所提供的一种磁盘阵列重构方法、装置、设备及介质进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (10)
1.一种磁盘阵列重构方法,其特征在于,包括:
当监测到磁盘阵列满足重构条件,则根据数据块分配记录对象判断任一目标对象中的数据块是否均未分配给相应的LUN;其中,所述目标对象为磁盘阵列重构的基本单位,包括一个或多个条带;
若均未分配给相应的LUN,则忽略所述目标对象,否则根据数据删除记录位图判断所述目标对象中的数据是否被全部删除;
若所述目标对象中的数据被全部删除,则忽略所述目标对象,否则根据数据写入记录位图判断所述目标对象中是否有数据写入;
若所述目标对象中有数据写入,则重构所述目标对象,否则忽略所述目标对象。
2.根据权利要求1所述的磁盘阵列重构方法,其特征在于,还包括:
在创建所述磁盘阵列时,创建所述数据块分配记录对象,并将所述数据块分配记录对象中每一所述目标对象对应的分配记录元素初始化为0;
当获取到LUN的数据块申请时,每为所述LUN分配任一所述目标对象中的一个数据块,则对该目标对象对应的所述分配记录元素进行加1操作;
当获取到LUN的数据块释放请求时,每释放所述LUN对应的任一所述目标对象的一个数据块,则对该目标对象对应的所述分配记录元素进行减1操作;
当删除所述磁盘阵列时,则删除所述数据块分配记录对象。
3.根据权利要求2所述的磁盘阵列重构方法,其特征在于,所述根据数据块分配记录对象判断任一目标对象中的数据块是否均未分配给相应的LUN,包括:
判断数据块分配记录对象中任一目标对象对应的所述分配记录元素是否为0;
若是,则判定该目标对象中的数据块均未分配给相应的LUN;
否则,判定该目标对象中有数据块分配给相应的LUN。
4.根据权利要求1所述的磁盘阵列重构方法,其特征在于,还包括:
在创建所述磁盘阵列时,创建所述数据写入记录位图,并将所述数据写入记录位图中的全部比特位初始化为0;其中,所述数据写入记录位图中每个比特位代表一个所述目标对象的数据写入情况;
在LUN写入数据时,则将有数据写入的所述目标对象在所述数据写入记录位图中对应的比特位置为1。
5.根据权利要求4所述的磁盘阵列重构方法,其特征在于,所述根据数据写入记录位图判断所述目标对象中是否有数据写入,包括:
判断所述数据写入记录位图中所述目标对象对应的比特位是否为1;
若是,则判定所述目标对象中有数据写入;
否则,判定所述目标对象中无数据写入。
6.根据权利要求4所述的磁盘阵列重构方法,其特征在于,还包括:
创建所述数据删除记录位图,并将所述数据删除记录位图中的全部比特位初始化为1;其中,所述数据删除记录位图中每个比特位代表一个所述目标对象的数据删除情况;
在LUN删除数据时,若任一所述目标对象中的数据被全部删除,则将该目标对象在所述数据删除记录位图中对应的比特位置为0;
相应的,所述根据数据删除记录位图判断所述目标对象中的数据是否被全部删除,包括:
判断所述目标对象在所述数据删除记录位图中对应的比特位是否为0;
若是,则判定所述目标对象中的数据被全部删除。
7.根据权利要求6所述的磁盘阵列重构方法,其特征在于,所述在LUN写入数据时,则将有数据写入的所述目标对象在所述数据写入记录位图中对应的比特位置为1之后,还包括:
对所述数据写入记录位图以及所述数据删除记录位图进行或运算,得到更新后的数据删除记录位图。
8.一种磁盘阵列重构装置,其特征在于,包括:
磁盘阵列监控模块,用于监测磁盘阵列是否满足重构条件;
分配记录判断模块,用于当所述磁盘阵列监控模块监测到磁盘阵列满足重构条件,则根据数据块分配记录对象判断任一目标对象中的数据块是否均未分配给相应的LUN;其中,所述目标对象为磁盘阵列重构的基本单位,包括一个或多个条带;若均未分配给相应的LUN,则忽略所述目标对象;
否则触发删除记录判断模块,根据数据删除记录位图判断所述目标对象中的数据是否被全部删除;若所述目标对象中的数据被全部删除,则忽略所述目标对象;
否则触发写入记录判断模块,根据数据写入记录位图判断所述目标对象中是否有数据写入,若否,则忽略所述目标对象;
若所述目标对象中有数据写入,则启动目标对象重构模块,重构所述目标对象。
9.一种电子设备,其特征在于,包括:
存储器,用于保存计算机程序;
处理器,用于执行所述计算机程序,以实现如权利要求1至7任一项所述的磁盘阵列重构方法。
10.一种计算机可读存储介质,其特征在于,用于保存计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的磁盘阵列重构方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111168480.9A CN113625974A (zh) | 2021-10-08 | 2021-10-08 | 一种磁盘阵列重构方法、装置、设备及介质 |
PCT/CN2022/078100 WO2023056728A1 (zh) | 2021-10-08 | 2022-02-25 | 一种磁盘阵列重构方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111168480.9A CN113625974A (zh) | 2021-10-08 | 2021-10-08 | 一种磁盘阵列重构方法、装置、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113625974A true CN113625974A (zh) | 2021-11-09 |
Family
ID=78390684
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111168480.9A Pending CN113625974A (zh) | 2021-10-08 | 2021-10-08 | 一种磁盘阵列重构方法、装置、设备及介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN113625974A (zh) |
WO (1) | WO2023056728A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023056728A1 (zh) * | 2021-10-08 | 2023-04-13 | 苏州浪潮智能科技有限公司 | 一种磁盘阵列重构方法、装置、设备及介质 |
CN117149094A (zh) * | 2023-10-30 | 2023-12-01 | 苏州元脑智能科技有限公司 | 确定数据区状态的方法、装置、磁盘阵列及存储系统 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7231409B1 (en) * | 2003-03-21 | 2007-06-12 | Network Appliance, Inc. | System and method for reallocating blocks in checkpointing bitmap-based file systems |
CN102511031A (zh) * | 2009-09-24 | 2012-06-20 | 国际商业机器公司 | 使用位图的数据存储 |
CN102541472A (zh) * | 2011-12-31 | 2012-07-04 | 杭州宏杉科技有限公司 | 一种raid阵列重建的方法及装置 |
CN104571965A (zh) * | 2015-01-19 | 2015-04-29 | 浪潮集团有限公司 | 一种raid重建的优化方法 |
CN105531677A (zh) * | 2013-08-27 | 2016-04-27 | 新加坡科技研究局 | Raid奇偶校验条带重建 |
CN107220184A (zh) * | 2017-05-10 | 2017-09-29 | 杭州宏杉科技股份有限公司 | 一种lun存储单元的管理方法及装置 |
US20210182250A1 (en) * | 2019-12-16 | 2021-06-17 | Alibaba Group Holding Limited | Row-column formatting for relational databases |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101770413B (zh) * | 2010-01-07 | 2013-03-20 | 杭州华三通信技术有限公司 | 冗余磁盘阵列重建的方法及设备 |
US8539156B2 (en) * | 2010-12-17 | 2013-09-17 | Hitachi, Ltd. | Storage subsystem and its logical unit processing method |
CN104142872A (zh) * | 2014-08-13 | 2014-11-12 | 浪潮电子信息产业股份有限公司 | 一种raid磁盘阵列的快速重建方法 |
US20160117226A1 (en) * | 2014-10-22 | 2016-04-28 | Netapp, Inc. | Data recovery technique for recovering data from an object store |
CN105549908A (zh) * | 2015-12-14 | 2016-05-04 | 深圳市万拓存储技术有限公司 | Raid磁盘阵列重新恢复冗余的方法 |
CN110187830A (zh) * | 2019-04-22 | 2019-08-30 | 中国科学院计算技术研究所 | 一种加速磁盘阵列重建的方法及系统 |
CN113625974A (zh) * | 2021-10-08 | 2021-11-09 | 苏州浪潮智能科技有限公司 | 一种磁盘阵列重构方法、装置、设备及介质 |
-
2021
- 2021-10-08 CN CN202111168480.9A patent/CN113625974A/zh active Pending
-
2022
- 2022-02-25 WO PCT/CN2022/078100 patent/WO2023056728A1/zh unknown
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7231409B1 (en) * | 2003-03-21 | 2007-06-12 | Network Appliance, Inc. | System and method for reallocating blocks in checkpointing bitmap-based file systems |
CN102511031A (zh) * | 2009-09-24 | 2012-06-20 | 国际商业机器公司 | 使用位图的数据存储 |
CN102541472A (zh) * | 2011-12-31 | 2012-07-04 | 杭州宏杉科技有限公司 | 一种raid阵列重建的方法及装置 |
CN105531677A (zh) * | 2013-08-27 | 2016-04-27 | 新加坡科技研究局 | Raid奇偶校验条带重建 |
CN104571965A (zh) * | 2015-01-19 | 2015-04-29 | 浪潮集团有限公司 | 一种raid重建的优化方法 |
CN107220184A (zh) * | 2017-05-10 | 2017-09-29 | 杭州宏杉科技股份有限公司 | 一种lun存储单元的管理方法及装置 |
US20210182250A1 (en) * | 2019-12-16 | 2021-06-17 | Alibaba Group Holding Limited | Row-column formatting for relational databases |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023056728A1 (zh) * | 2021-10-08 | 2023-04-13 | 苏州浪潮智能科技有限公司 | 一种磁盘阵列重构方法、装置、设备及介质 |
CN117149094A (zh) * | 2023-10-30 | 2023-12-01 | 苏州元脑智能科技有限公司 | 确定数据区状态的方法、装置、磁盘阵列及存储系统 |
CN117149094B (zh) * | 2023-10-30 | 2024-02-09 | 苏州元脑智能科技有限公司 | 确定数据区状态的方法、装置、磁盘阵列及存储系统 |
Also Published As
Publication number | Publication date |
---|---|
WO2023056728A1 (zh) | 2023-04-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3109757B1 (en) | Data storage method, data recovery method, related apparatus, and system | |
US7386758B2 (en) | Method and apparatus for reconstructing data in object-based storage arrays | |
US7069382B2 (en) | Method of RAID 5 write hole prevention | |
EP2250563B1 (en) | Storage redundant array of independent drives | |
JP4965210B2 (ja) | ファイル・システムの稠密診断データを取得および送信するためにコンピュータに実施させる方法 | |
CN113625974A (zh) | 一种磁盘阵列重构方法、装置、设备及介质 | |
US20030236944A1 (en) | System and method for reorganizing data in a raid storage system | |
CN104932953A (zh) | 一种数据分发方法、数据存储方法、相关装置以及系统 | |
EP3859507A1 (en) | Method for processing stripe in storage device and storage device | |
CN109582213B (zh) | 数据重构方法及装置、数据存储系统 | |
US20050165853A1 (en) | Method and apparatus for localized protected imaging of a file system | |
CN102411518B (zh) | 控制器、存储装置以及计算机程序产品 | |
CN106339276B (zh) | 一种基于数据备份状态的数据恢复方法及系统 | |
CN111858189B (zh) | 对存储盘离线的处理 | |
US20030056058A1 (en) | Logical volume data migration | |
CN115309348B (zh) | 元数据的管理方法、装置和计算机设备和存储介质 | |
CN116339644B (zh) | 一种独立磁盘冗余阵列创建方法、装置、设备及介质 | |
CN111124263A (zh) | 用于管理多个盘的方法、电子设备以及计算机程序产品 | |
CN110333971A (zh) | Ssd坏块表备份方法、装置、计算机设备及存储介质 | |
US11487428B2 (en) | Storage control apparatus and storage control method | |
US20110258381A1 (en) | Data duplication resynchronisation | |
CN115599589B (zh) | 一种数据恢复方法及相关装置 | |
JP3797864B2 (ja) | オペレーティングシステムとの関連でデータを回復および再生する方法、ソフトウェア、および装置 | |
CN107545022B (zh) | 磁盘管理方法及装置 | |
CN105573862B (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20211109 |