CN102591746B - 数据重构方法和存储设备 - Google Patents

数据重构方法和存储设备 Download PDF

Info

Publication number
CN102591746B
CN102591746B CN201110449548.0A CN201110449548A CN102591746B CN 102591746 B CN102591746 B CN 102591746B CN 201110449548 A CN201110449548 A CN 201110449548A CN 102591746 B CN102591746 B CN 102591746B
Authority
CN
China
Prior art keywords
space
hot standby
dish
mirror image
standby space
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.)
Active
Application number
CN201110449548.0A
Other languages
English (en)
Other versions
CN102591746A (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.)
Chengdu Huawei Technology Co Ltd
Original Assignee
Huawei Symantec 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 Huawei Symantec Technologies Co Ltd filed Critical Huawei Symantec Technologies Co Ltd
Priority to CN201110449548.0A priority Critical patent/CN102591746B/zh
Publication of CN102591746A publication Critical patent/CN102591746A/zh
Application granted granted Critical
Publication of CN102591746B publication Critical patent/CN102591746B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)
  • Electronic Switches (AREA)

Abstract

本发明提供一种数据重构方法和存储设备,其中方法包括:当一个成员盘损坏时,判断所述成员盘中各成员空间是否存在镜像的热备空间,其中,RAID组中的每个成员盘上均包含至少一个热备空间,各所述热备空间分别与下一个成员盘中与所述热备空间对应的成员空间互为镜像;若一个成员空间存在镜像的热备空间,则利用所述成员空间的镜像的热备空间替代所述成员空间,对所述成员空间中的数据进行读写操作;若一个成员空间不存在镜像的热备空间,则将所述成员空间中的数据重构到与所述成员空间对应的一个热备空间上。存储设备包括存储控制器和RAID组。本实施例减小了重构数据量,克服了现有技术中存在的写瓶颈,大大减少了重构时间。

Description

数据重构方法和存储设备
技术领域
本发明涉及存储技术,尤其涉及一种数据重构方法和存储设备。
背景技术
独立磁盘冗余阵列(Redundant Array of Independent Disks;RAID)技术为存储领域最常用的技术之一,它将多块硬盘虚拟成一个大容量的硬盘进,利用多块硬盘来提升系统容量,通过同时读写来加快整体存储速度,并利用冗余设置实现一定的容错能力,从而提供比单个硬盘更高的存储性能与数据备份能力。
在现有技术中,通常在RAID组的基础之上配置一个或多个热备盘,在成员盘正常时,热备盘不参与RAID组的正常读写过程;当系统中某个成员盘损坏时,则将成员盘的数据及时重构备份到热备盘中,由热备盘接替损坏的成员盘的工作,以保证重构完成后RAID组可以恢复原有的容错能力。
然而,现有技术中的重构过程需要将损坏的成员盘上的所有数据都重构备份到热备盘中,重构数据量大,且主要的写压力均集中在热备盘上,从而造成写瓶颈,导致较长的重构时间。
发明内容
本发明提供一种数据重构方法和存储设备,克服现有技术中存在的写瓶颈,减少重构时间。
本发明的第一个方面是提供一种数据重构方法,包括:
当一个成员盘损坏时,判断所述成员盘中各成员空间是否存在镜像的热备空间,其中,独立磁盘冗余阵列RAID组中的每个成员盘均包含至少一个热备空间,各所述热备空间分别与下一个成员盘中与所述热备空间对应的成员空间互为镜像;
若一个成员空间存在镜像的热备空间,则利用所述成员空间的镜像的热备空间替代所述成员空间,对所述成员空间中的数据进行读写操作;
若一个成员空间不存在镜像的热备空间,则将所述成员空间中的数据重构到与所述成员空间对应的一个热备空间上。
本发明的另一个方面是提供一种存储设备,包括存储控制器和独立磁盘冗余阵列RAID组,所述RAID组包括至少两个成员盘,每个所述成员盘均包含至少一个热备空间,各所述热备空间分别与下一个成员盘中与所述热备空间对应的成员空间互为镜像;
所述存储控制器用于当一个成员盘损坏时,判断所述成员盘中各成员空间是否存在镜像的热备空间;若一个成员空间存在镜像的热备空间,则利用所述成员空间的镜像的热备空间替代所述成员空间,对所述成员空间中的数据进行读写操作;若一个成员空间不存在镜像的热备空间,则将所述成员空间中的数据重构到与所述成员空间对应的一个热备空间上。
本发明的技术效果是:当RAID组中的一个成员盘损坏时,先判断该成员盘中各成员空间是否存在镜像的热备空间,对于存在镜像的热备空间的成员空间来说,则通过读写该热备空间来替代对成员空间的读写操作,对于不存在镜像的热备空间的成员空间来说,则将该成员空间中的数据重构到与成员空间的地址相同的一个热备空间上。本实施例的重构过程无需重构损坏的成员盘中的所有数据,减小了重构数据量;重构时,查找损坏成员盘各成员空间对应在其他盘的热备空间,将各成员空间的内容重构到与其对应的一个热备空间中,由于这些热备空间分布在各个成员盘上,因此重构的写压力分散到各个成员盘上,从而克服了现有技术中存在的写瓶颈,大大减少了重构时间。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明数据重构方法实施例一的流程图;
图2为本发明数据重构方法实施例一中的热备空间分布示意图;
图3为本发明数据重构方法实施例二的流程图;
图4为本发明数据重构方法实施例二中的热备空间分布示意图;
图5为本发明存储设备实施例的结构图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
现有技术中,为了进一步提高RAID组的可靠性,通常会增设一个或者多个热备盘,当某个盘出现故障时,将故障盘的数据恢复到热备盘中,实现数据的安全。本发明实施例不再设置独立的热备盘,而是以盘内热备空间的形式,将热备盘的功能整合到RAID组的每个硬盘中,本发明实施例占用的总存储资源与现有技术相同,但由于对已经有热备的数据不用做恢复,减少了数据恢复量;对没有热备的数据虽然要做恢复,但恢复数据分别写入各个硬盘的热备空间中,而不是集中写到一个热备盘中,因此写入速度更快。
需要特别说明的是,本领域普通技术人员应该明白,本发明实施例中的成员盘可以是可以组成RAID的可擦写存储介质,例如软盘、硬盘、可擦写光盘、固态硬盘等。
图1为本发明数据重构方法实施例一的流程图,如图1所示,本实施例提供了一种数据重构方法,可以具体包括如下步骤:
步骤101,当一个成员盘损坏时,判断所述成员盘中各成员空间是否存在镜像的热备空间,其中,RAID组中的每个成员盘上均包含至少一个热备空间,各所述热备空间与下一个成员盘中与所述热备空间对应的成员空间互为镜像。
为了解决现有技术中热备盘替换损坏的成员盘时需要重构的数据量大等的缺陷,本实施例将热备盘的热备功能分散到各个成员盘,RAID组中的每个成员盘均包含至少一个热备空间,每个热备空间分别与相邻成员盘中与该热备空间的地址相同的成员空间互为镜像。即本实施例中的每个成员盘可以均包含一个热备空间,或者均包含多个热备空间,每个成员盘中的热备空间的大小是相等的。每个成员盘中的热备空间在该成员盘的下一个成员盘中存在与之相对应的成员空间,该热备空间与下一个成员盘中与该热备空间相对应的成员空间互为镜像。本实施例中所指的下一个成员盘表示逻辑意义上的下一个成员盘,并不一定是物理意义上的下一个成员盘位置关系,只要保证每一个成员盘都拥有下一个成员盘,而且不同成员盘的下一个成员盘不同即可。例如将n个成员盘按照任意的规律分别编号为1、2、3、……n共计n个成员盘,2号成员盘是1号成员盘的下一个成员盘,2号成员盘是1号成员盘的下一个成员盘,3号成员盘是2号成员盘的下一个成员盘……,1号成员盘是n号成员盘的下一个成员盘;本实施例中成员空间与热备空间之间的对应关系可以根据实际情况预先设定,可以各种方式来表示互为镜像的成员空间与热备空间的对应关系,只需满足一个热备空间唯一对应到一个成员空间,不同热备空间对应的成员空间各不相同即可。例如,可以将对应关系具体设定为一个热备空间和下一个成员盘中与该热备空间的地址相同的成员空间相对应,也可以设定为一个热备空间和下一个成员盘中与地址等于该热备空间的地址加1的成员空间相对应,等等。此处的镜像关系具体理解为两个互为镜像的空间中存储的数据完全相同,在数据读写过程中二者互相备份,当其中一个空间出现问题损坏时,另一个空间可以直接替代损坏的空间,替代是指将原本读写损坏空间的操作,改为读取损坏空间的镜像空间。
此处的与热备空间对应的成员空间可以具体为下一个成员盘中与热备空间的地址相同的成员空间。本实施例中RAID组中的每个成员盘的容量相等,每个成员盘被划分为大小均等的多个空间,每个空间在成员盘中具有与其他空间相区别的地址,该地址仅用于标识该空间在其所处的成员盘中的位置。假设一个成员盘的容量大小为T,如果该成员盘划分为n个大小相等的空间,则该成员盘中第一个空间的地址可以表示为0~T/n,第二个空间的地址可以表示为(T+1)/n~2T/n,以此类推。因此,在本实施例中,由于一个RAID组中各成员盘的空间划分方式相同,则每个成员盘中均存在与其他成员盘中地址相等的空间。对于每个热备空间来说,与相邻成员盘中地址与其相同的成员空间互为镜像,例如,当热备空间位于成员盘中第一个位置时,该热备空间的地址可以表示为0~T/n,则该成员盘的相邻成员盘中地址为0~T/n的成员空间与该热备空间互为镜像,即相邻成员盘中第一个成员空间与该热备空间互为镜像,该热备空间为该成员空间的镜像的热备空间。本实施例中所指的相邻成员盘是逻辑上的相邻关系,并不一定是物理上的相邻关系。
图2为本发明数据重构方法实施例一中的热备空间分布示意图,如图2所示,RAID组中包含6个成员盘,每个成员盘中单独分配一个空间用作热备空间;将第一个成员盘中的第一个空间作为该成员盘中的热备空间,即标号为A1的空间为该成员盘中的热备空间;第二个成员盘中的第二个空间作为该成员盘中的热备空间,即标号为B2的空间为该成员盘中的热备空间;第三个成员盘中的第三个空间作为该成员盘中的热备空间,即标号为C3的空间为该成员盘中的热备空间;第四个成员盘中的第四个空间作为该成员盘中的热备空间,即标号为D4的空间为该成员盘中的热备空间;第五个成员盘中的第五个空间作为该成员盘中的热备空间,即标号为E5的空间为该成员盘中的热备空间;第六个成员盘中的第六个空间作为该成员盘中的热备空间,即标号为F6的空间为该成员盘中的热备空间。
其中,每个热备空间在相邻成员盘中均设置有与其镜像的成员空间,此处的相邻成员盘可以为热备空间所在成员盘的下一个成员盘。以上述图2为例,第一个成员盘中标号为A1的热备空间与第二个成员盘中标号为B1的成员空间地址相同,则可以将二者设置为互为镜像,第二个成员盘中标号为B2的热备空间与第三个成员盘中标号为C2的成员空间互为镜像,第三个成员盘中标号为C3的热备空间与第四个成员盘中标号为D3的成员空间互为镜像,第四个成员盘中标号为D4的热备空间与第五个成员盘中标号为E4的成员空间互为镜像,第五个成员盘中标号为E5的热备空间与第六成员盘中标号为F5的成员空间互为镜像,第六个成员盘中标号为F6的热备空间与第一成员盘中标号为A6的成员空间互为镜像。
本步骤为当RAID中的一个成员盘损坏时,依次判断该成员盘中各成员空间是否存在镜像的热备空间。在一个成员盘中,包括多个成员空间和至少一个热备空间,本实施例对多个成员空间依次进行判断,判断其中哪个或哪几个成员空间存在镜像的热备空间。当一个RAID中的每个成员盘中均包含两个大小相等的热备空间时,一个成员盘中可能有两个成员空间存在镜像的热备空间。以上述图2为例,当RAID组中第三个成员盘损坏时,判断其中的成员空间C1、C2、C4、C5、C6是否存在镜像的热备空间。
步骤102,若一个成员空间存在镜像的热备空间,则利用所述成员空间的镜像的热备空间替代所述成员空间,对该成员空间中的数据进行读写操作。
在本实施例中,互为镜像的两个空间中的数据是完全一致的,即成员空间的镜像的热备空间中保存有该成员空间的数据。经过上述步骤的判断,若其中某个成员空间存在镜像的热备空间时,由于该热备空间中保存有该成员空间的数据,则可以利用该镜像的热备空间直接替代该成员空间,将所述成员空间替换为成员空间的镜像的热备空间,使通过读写该热备空间来替代对成员空间的读写操作,从而无需对该成员空间的数据再进行重构备份。例如,第三个成员盘中的成员空间C2与第二个成员盘中的热备空间B2互为镜像,则当第三个成员盘损坏时,无需对成员空间C2中的数据进行重构备份,而直接使用热备空间B2替代成员空间C2进行数据读取即可。
步骤103,若一个成员空间不存在镜像的热备空间,则将所述成员空间中的数据重构到与所述成员空间对应的一个热备空间上。
经过上述步骤的判断,若某个成员空间不存在镜像的热备空间时,则将该成员空间中的数据重构到与该成员空间对应的一个热备空间上。假设本实施例中的成员空间与热备空间的对应关系具体为地址相同,则本步骤可以具体为将该成员空间中的数据重构到与该成员空间地址相同的一个热备空间上。由于热备空间有序分散在各成员盘中,且在不同成员盘中热备空间的地址均不相同,当RAID组中每个成员盘只包含一个热备空间时,成员盘中的每个成员空间在其他成员盘上均能找到与其地址相同的一个热备空间;当RAID组中每个成员盘均包含多个热备空间时,成员盘中的每个成员空间在其他成员盘上均能找到与其地址相同的多个热备空间。在本实施例中,在对一个成员空间的数据进行重构备份时,只选择一个与其地址相同的热备空间进行重构。以上述图2为例,当第三个成员盘损坏时,其中成员空间C1不存在镜像的热备空间,在其他成员盘中选择与其地址相同的热备空间,则获取到第一个成员盘中的热备空间A1的地址与成员空间C1的地址相同,从而将成员空间C1中的数据重构到热备空间A1上。如果某个成员空间中的数据因成员盘损坏而丢失,则在重构之前可以通过现有的RAID恢复技术将该数据恢复出来。在RAID技术中,由于每个地址上均保存有用户数据和校验数据,而用户数据与校验数据的异或的结果为0,则可以由此反推恢复出用户数据。由此,损坏的成员盘中不同成员空间中的数据将重构到不同成员盘中的热备空间上,从而避免了对一个盘造成的重构压力。
本实施例提供了一种数据重构方法,当RAID组中的一个成员盘损坏时,先判断该成员盘中各成员空间是否存在镜像的热备空间,对于存在镜像的热备空间的成员空间来说,则通过读写该热备空间来替代对成员空间的读写;对于不存在镜像的热备空间的成员空间来说,则将该成员空间中的数据重构到与成员空间的地址相同的一个热备空间上。由于存在热备空间的成员空间可以不用重构,因此本实施例的重构过程无需重构损坏的成员盘中的所有数据,减小了重构数据量;重构时,查找损坏成员盘各成员空间对应在其他盘的热备空间,将各成员空间的内容重构到与其对应的一个热备空间中,由于这些热备空间分布在各个成员盘上,因此重构的写压力分散到各个成员盘上,从而克服了现有技术中存在的写瓶颈,大大减少了重构时间。
图3为本发明数据重构方法实施例二的流程图,如图3所示,本实施例提供了一种数据重构方法,可以具体包括如下步骤:
步骤301,在RAID组中的n个成员盘中的每个成员盘上分别设置m个所述热备空间,其中,m×n个所述热备空间构成m组热备空间组,每组热备空间组包含n个热备空间,每组热备空间中的n个所述热备空间的地址各不相同。
本步骤为在RAID组中的n个成员盘中的每个成员盘上分别设置m个热备空间,即每个成员盘均包含m个大小相等的热备空间,其中,n为RAID组中成员盘的数量,m为每个成员盘上预设的热备空间的数量,且m和n均为正整数。在本实施例中,RAID组中的m×n个热备空间构成了m组热备空间组,每组热备空间组分别包含n个热备空间,每组热备空间中的n个热备空间的地址各不相同。本实施例将m×n个热备空间分别分散到n个不同的成员盘中,每个成员盘中包含m个热备空间,其中,热备空间1,2,…n构成一组热备空间组,这n个热备空间分别设置在n个成员盘上,热备空间(n+1),(n+2),…2n构成另一组热备空间组,这n个热备空间分别设置在n个成员盘上,以此类推,成员盘1包含热备空间1,(n+1),…((m-1)×n+1),成员盘2包含热备空间2,(n+2),…((m-1)×n+2),成员盘n包含热备空间n,2n,…m×n。每个热备空间在成员盘中对应一个地址,该地址为与该成员盘中其他空间相区别的地址,该地址仅用于标识该空间在其所处的成员盘中的位置,且该地址与该热备空间所属的热备空间组中其他热备空间在其所属成员盘中的地址不同。
假设一个成员盘的容量大小为T,如果该成员盘划分为n个大小相等的空间,则该成员盘中第一个空间的地址可以表示为0~T/n,第二个空间的地址可以表示为(T/n+1)~2T/n,以此类推。本实施例在每个成员盘中设置热备空间时,需要将各热备空间设置为地址各不相同的位置上。例如,将第一个成员盘中地址为0~T/n的空间设置为热备空间,将第二个成员盘中的地址为(T/n+1)~2T/n的空间设置为热备空间,以此类推,将第n个成员盘中地址为((n-1)T/n+1)~T的设置为热备空间,从而达到了将热备空间按序分散到各成员盘的目的,且各热备空间的地址各不相同。
如果需要在n个成员盘中设置2n个热备空间,每个成员盘中设置两个热备空间,类似的,每个热备空间组中n个热备空间的地址各不相同。如图4所示为本发明数据重构方法实施例二中的热备空间分布示意图,图中的热备空间为空间A1、B2、C3、D4、E5、F6,以及A5、B6、C1、D2、E3、F4,构成两个热备空间组,一个热备空间组中的热备空间A1、B2、C3、D4、E5、F6的地址各不相同,另一个热备空间组中的热备空间A5、B6、C1、D2、E3、F4的地址各不相同。
步骤302,将第i个成员盘中的热备空间设置为与第i+1个成员盘中与所述热备空间对应的成员空间互为镜像,将第n个成员盘中的热备空间设置为与第1个成员盘中与所述热备空间对应的成员空间互为镜像。
在通过上述步骤在各成员盘中设置热备空间后,对各热备空间进行镜像设置,具体将第i个成员盘中的热备空间设置为与第i+1个成员盘中与该热备空间对应的成员空间互为镜像,其中,i=1,2,3…n-1,将第n个成员盘中的热备空间设置为与第1个成员盘中与所述热备空间对应的成员空间互为镜像。其中,互为镜像的热备空间与成员空间之间的对应关系可以根据不同的情况来设定,如设定为地址相同的热备空间与成员空间互为镜像,或者,设定为与热备空间互为镜像的成员空间的地址为热备空间的地址加1等,此处具体以地址相同为例进行说明。以上述图4为例,对于第一组热备空间组来说,将第一个成员盘中的热备空间A1设置为与第二个成员盘中与该热备空间A1的地址相同的成员空间互为镜像,第二个成员盘中与热备空间A1的地址相同的成员空间为B1,则将热备空间A1设置为成员空间B1的镜像的热备空间。将第二个成员盘中的热备空间B2设置为与第三个成员盘中与该热备空间B2的地址相同的成员空间互为镜像,第三个成员盘中与热备空间B2的地址相同的成员空间为C2,则将热备空间B2设置为成员空间C2的镜像的热备空间。以此类推,将热备空间C3设置为成员空间D3的镜像的热备空间,将热备空间D4设置为成员空间E4的镜像的热备空间,将热备空间E5设置为成员空间F5的镜像的热备空间,将热备空间F6设置为成员空间A6的镜像的热备空间,从而完成了第一组热备空间组A1、B2、C3、D4、E5、F6的设置。
继续参见图4,对于第二组热备空间组来说,将第一个成员盘中的热备空间A5设置为与第二个成员盘中与该热备空间A5的地址相同的成员空间互为镜像,第二个成员盘中与热备空间A5的地址相同的成员空间为B5,则将热备空间A5设置为成员空间B5的镜像的热备空间。将第二个成员盘中的热备空间B6设置为与第三个成员盘中与该热备空间B6的地址相同的成员空间互为镜像,第三个成员盘中与热备空间B6的地址相同的成员空间为C6,则将热备空间B6设置为成员空间C6的镜像的热备空间。以此类推,将热备空间C1设置为成员空间D1的镜像的热备空间,将热备空间D2设置为成员空间E2的镜像的热备空间,将热备空间E3设置为成员空间F3的镜像的热备空间,将热备空间F4设置为成员空间A4的镜像的热备空间,从而完成了第一组热备空间组A5、B6、C1、D2、E3、F4的设置。
步骤303,当对RAID组执行写操作时,将待写数据写入到一个成员空间以及所述成员空间的镜像的热备空间中。
在完成热备空间的设置之后,本实施例可以利用热备空间对RAID组中各成员盘中的数据进行正常的读写操作。当需要对RAID组执行写操作时,将待写数据写入到一个成员空间以及该成员空间的镜像的热备空间中,即每次在一个成员空间中写入数据,则同时将写入的数据也写入到该成员空间的镜像的热备空间中,使得该热备空间上保存的数据可以与该成员空间同步,以备后续成员盘损坏时使用。
步骤304,当对RAID组中的数据执行读操作时,从待读数据所在的成员空间中读取待读数据。
当需要对RAID组中的数据执行读操作时,从待读数据所在的成员空间中读取待读数据。具体地,当某个成员盘中某个成员空间的读压力过大或者成员空间不稳定或者其他情况时,或者完全根据使用者的设置,也可以考虑从该成员盘的镜像的热备空间中读取数据。
步骤305,当一个成员盘损坏时,依次判断所述成员盘中各成员空间是否存在镜像的热备空间,如果是,则执行步骤306,否则执行步骤307。
当一个成员盘损坏时,先判断该成员盘中一个成员空间是否存在镜像的热备空间,如果是,则执行步骤306,并对下一个成员空间进行判断,直到完成该成员盘中所有成员空间的判断,否则执行步骤307,并对下一个成员空间进行判断,直到完成该成员盘中所有成员空间的判断。
步骤306,利用成员空间的镜像的热备空间替代所述成员空间,对所述成员空间中的数据进行读写操作。
当一个成员空间存在镜像的热备空间时,由于该热备空间中保存有该成员空间的数据,则可以利用该镜像的热备空间直接替代该成员空间,通过读写该热备空间来替代对成员空间的读写操作,从而无需对该成员空间的数据再进行重构备份。例如,仍以上述图2为例,当第三个成员盘损坏时,第三个成员盘中的成员空间C2与第二个成员盘中的热备空间B2互为镜像,则当第三个成员盘损坏时,无需对成员空间C2中的数据进行重构备份,而直接使用热备空间B2代替成员空间C2进行数据读取即可。
步骤307,将成员空间中的数据重构到与成员空间对应的一个热备空间上。
若某个成员空间不存在镜像的热备空间时,则将该成员空间中的数据重构到与该成员空间对应的一个热备空间上。假设本实施例中的成员空间与热备空间的对应关系具体为地址相同,则本步骤可以具体为将该成员空间中的数据重构到与该成员空间地址相同的一个热备空间上。由于热备空间有序分散在各成员盘中,且在不同成员盘中热备空间的地址均不相同,当RAID组中每个成员盘只包含一个热备空间时,成员盘中的每个成员空间在其他成员盘上均能找到与其地址相同的一个热备空间;当RAID组中每个成员盘包含多个热备空间时,成员盘中的每个成员空间在其他成员盘上均能找到与其地址相同的多个热备空间,在本实施例中,在对一个成员空间的数据进行重构备份时,只选择一个与其地址相同的热备空间进行重构,在其他实施例中,也可以选择多个与其地址相同的热备空间进行重构。以上述图2为例,当第三个成员盘损坏时,其中成员空间C1不存在镜像的热备空间,在其他成员盘中选择与其地址相同的热备空间,则获取到第一个成员盘中的热备空间A1的地址与成员空间C1的地址相同,从而将成员空间C1中的数据重构到热备空间A1上。由此,损坏的成员盘中不同成员空间中的数据将重构到不同成员盘中的热备空间上,从而避免了对一个盘造成的重构压力。
本实施例提供了一种数据重构方法,当RAID组中的一个成员盘损坏时,先判断该成员盘中各成员空间是否存在镜像的热备空间,对于存在镜像的热备空间的成员空间来说,则通过读写该热备空间来替代对成员空间的读写;对于不存在镜像的热备空间的成员空间来说,则将该成员空间中的数据重构到与成员空间的地址相同的一个热备空间上。由于存在热备空间的成员空间可以不用重构,因此本实施例将现有技术中的热备盘方式修改为将热备空间均匀分布于各成员盘中,并使得成员盘中的部分数据与对应的热备空间构成镜像,当成员盘损坏时,本实施例的重构过程无需重构损坏的成员盘中的所有数据,减小了重构的数据量;重构时,查找损坏成员盘各成员空间对应在其他盘的热备空间,将各成员空间的内容重构到与其对应的一个热备空间中,由于这些热备空间分布在各个成员盘上,因此重构的写压力分散到各个成员盘上,从而克服了现有技术中存在的数据写瓶颈,大大减少了重构时间,加快了重构过程中数据的恢复速度。由于镜像的存在,热备空间可以为成员空间承担一定的读压力。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
图5为本发明存储设备实施例的结构图,如图5所示,本实施例提供了一种存储设备,可以具体执行上述方法实施例中的各个步骤,此处不再赘述。本实施例提供的存储设备可以包括存储控制器1和RAID组2,所述RAID组2包括至少两个成员盘21,每个成员盘21均包含至少一个热备空间,各所述热备空间分别与下一个成员盘中与所述热备空间对应的成员空间互为镜像。存储控制器1用于当一个成员盘损坏时,判断所述成员盘中各成员空间是否存在镜像的热备空间;若一个成员空间存在镜像的热备空间,则利用所述成员空间的镜像的热备空间替代所述成员空间,对所述成员空间中的数据进行读写操作;若一个成员空间不存在镜像的热备空间,则将所述成员空间中的数据重构到与所述成员空间对应的一个热备空间上。
进一步地,本实施例中的存储控制器1还用于在RAID组中的n个成员盘21中的每个成员盘21上分别设置m个热备空间,将第i个成员盘21中的热备空间设置为与第i+1个成员盘21中与所述热备空间对应的成员空间互为镜像,将第n个成员盘21中的热备空间设置为与第1个成员盘21中与所述热备空间对应的成员空间互为镜像,其中,m×n个所述热备空间构成m组热备空间组,每组热备空间组包含n个热备空间。所述n为所述RAID组中成员盘21的数量,所述m为每个成员盘21上预设的热备空间的数量,且m和n均为正整数,i=1,2,3…n-1。
进一步地,本实施例中的成员盘21用于当接收到写操作时,将待写数据写入到一个成员空间以及所述成员空间的镜像的热备空间中,当接收到读操作时,从待读数据所在的成员空间中读取所述待读数据。
本实施例提供了一种存储设备,当RAID组中的一个成员盘损坏时,先判断该成员盘中各成员空间是否存在镜像的热备空间,对于存在镜像的热备空间的成员空间来说,则通过读写该热备空间来替代对成员空间的读写,对于不存在镜像的热备空间的成员空间来说,则将该成员空间中的数据重构到与成员空间的地址相同的一个热备空间上。由于存在热备空间的成员空间可以不用重构,因此本实施例将现有技术中的热备盘方式修改为将热备空间均匀分布于各成员盘中,并使得成员盘中的部分数据与对应的热备空间构成镜像,当成员盘损坏时,本实施例的重构过程无需重构损坏的成员盘中的所有数据,减小了重构的数据量;重构时,查找损坏成员盘各成员空间对应在其他盘的热备空间,将各成员空间的内容重构到与其对应的一个热备空间中,由于这些热备空间分布在各个成员盘上,因此重构的写压力分散到各个成员盘上,从而克服了现有技术中存在的数据写瓶颈,大大减少了重构时间,加快了重构过程中数据的恢复速度。由于镜像的存在,热备空间可以为成员空间承担一定的读压力。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (7)

1.一种数据重构方法,其特征在于,包括:
当一个成员盘损坏时,判断所述成员盘中各成员空间是否存在镜像的热备空间,其中,独立磁盘冗余阵列RAID组中的每个成员盘均包含至少一个热备空间,各所述热备空间分别与下一个成员盘中与所述热备空间对应的成员空间互为镜像;
其中,所述各所述热备空间分别与下一个成员盘中与所述热备空间对应的成员空间互为镜像具体为:各所述热备空间分别与下一个成员盘中与所述热备空间的地址相同的成员空间互为镜像;
若一个成员空间存在镜像的热备空间,则利用所述成员空间的镜像的热备空间替代所述成员空间,对所述成员空间中的数据进行读写操作;
若一个成员空间不存在镜像的热备空间,则将所述成员空间中的数据重构到与所述成员空间对应的一个热备空间上。
2.根据权利要求1所述的方法,其特征在于,还包括:
在RAID组中的n个成员盘中的每个成员盘上分别设置m个热备空间,其中,m×n个所述热备空间构成m组热备空间组,每组热备空间组包含n个热备空间;
将第i个成员盘中的热备空间设置为与第i+1个成员盘中与所述热备空间对应的成员空间互为镜像,将第n个成员盘中的热备空间设置为与第1个成员盘中与所述热备空间对应的成员空间互为镜像;
其中,所述n为所述RAID组中成员盘的数量,所述m为每个成员盘上预设的热备空间的数量,且m和n均为正整数,i=1,2,3…n-1。
3.根据权利要求1或2所述的方法,其特征在于,还包括:
当对所述RAID组执行写操作时,将待写数据写入到一个成员空间以及所述成员空间的镜像的热备空间中。
4.根据权利要求1或2所述的方法,其特征在于,还包括:
当对所述RAID组中的数据执行读操作时,从待读数据所在的成员空间中读取所述待读数据。
5.一种存储设备,其特征在于,包括存储控制器和独立磁盘冗余阵列RAID组,所述RAID组包括至少两个成员盘,每个所述成员盘均包含至少一个热备空间,各所述热备空间分别与下一个成员盘中与所述热备空间对应的成员空间互为镜像;
其中,所述各所述热备空间分别与下一个成员盘中与所述热备空间对应的成员空间互为镜像具体为:各所述热备空间分别与下一个成员盘中与所述热备空间的地址相同的成员空间互为镜像;
所述存储控制器用于当一个成员盘损坏时,判断所述成员盘中各成员空间是否存在镜像的热备空间;若一个成员空间存在镜像的热备空间,则利用所述成员空间的镜像的热备空间替代所述成员空间,对所述成员空间中的数据进行读写操作;若一个成员空间不存在镜像的热备空间,则将所述成员空间中的数据重构到与所述成员空间对应的一个热备空间上。
6.根据权利要求5所述的设备,其特征在于,所述存储控制器还用于在RAID组中的n个成员盘中的每个成员盘上分别设置m个热备空间,将第i个成员盘中的热备空间设置为与第i+1个成员盘中与所述热备空间对应的成员空间互为镜像,将第n个成员盘中的热备空间设置为与第1个成员盘中与所述热备空间对应的成员空间互为镜像,其中,m×n个所述热备空间构成m组热备空间组,每组热备空间组包含n个热备空间,所述n为所述RAID组中成员盘的数量,所述m为每个成员盘上预设的热备空间的数量,且m和n均为正整数,i=1,2,3…n-1。
7.根据权利要求5或6所述的设备,其特征在于,所述成员盘用于当接收到写操作时,将待写数据写入到一个成员空间以及所述成员空间的镜像的热备空间中,当接收到读操作时,从待读数据所在的成员空间中读取所述待读数据。
CN201110449548.0A 2011-12-29 2011-12-29 数据重构方法和存储设备 Active CN102591746B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201110449548.0A CN102591746B (zh) 2011-12-29 2011-12-29 数据重构方法和存储设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110449548.0A CN102591746B (zh) 2011-12-29 2011-12-29 数据重构方法和存储设备

Publications (2)

Publication Number Publication Date
CN102591746A CN102591746A (zh) 2012-07-18
CN102591746B true CN102591746B (zh) 2014-01-08

Family

ID=46480444

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110449548.0A Active CN102591746B (zh) 2011-12-29 2011-12-29 数据重构方法和存储设备

Country Status (1)

Country Link
CN (1) CN102591746B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103403667A (zh) * 2012-12-19 2013-11-20 华为技术有限公司 数据处理方法和设备
CN104572374B (zh) * 2015-01-13 2018-02-13 华为技术有限公司 存储的处理方法、装置和存储设备
CN105138468B (zh) * 2015-08-19 2018-11-13 浙江宇视科技有限公司 一种提高虚拟磁盘组重构性能的方法和装置
CN105183623B (zh) * 2015-08-25 2018-12-07 浙江宇视科技有限公司 一种基于热备vd提高vdg重建性能的方法和装置
CN107562569B (zh) * 2016-06-30 2020-09-25 杭州海康威视数字技术股份有限公司 一种数据重构方法及装置
CN109426432B (zh) * 2017-08-22 2020-12-15 华为技术有限公司 独立磁盘冗余阵列的创建方法、装置及设备
CN111752748B (zh) * 2019-03-26 2024-04-26 杭州宏杉科技股份有限公司 基于vraid的数据重建方法、装置、电子设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1501364A (zh) * 2002-11-18 2004-06-02 华为技术有限公司 一种热备盘数据迁移方法
CN101866307A (zh) * 2010-06-24 2010-10-20 杭州华三通信技术有限公司 一种基于镜像技术的数据存储方法及装置
CN101980137A (zh) * 2010-10-19 2011-02-23 成都市华为赛门铁克科技有限公司 廉价磁盘冗余阵列重构方法、装置及系统
CN101984400A (zh) * 2010-11-05 2011-03-09 成都市华为赛门铁克科技有限公司 一种raid控制方法、装置及系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8484506B2 (en) * 2008-11-29 2013-07-09 Lsi Corporation Redundant array of independent disks level 5 (RAID 5) with a mirroring functionality

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1501364A (zh) * 2002-11-18 2004-06-02 华为技术有限公司 一种热备盘数据迁移方法
CN101866307A (zh) * 2010-06-24 2010-10-20 杭州华三通信技术有限公司 一种基于镜像技术的数据存储方法及装置
CN101980137A (zh) * 2010-10-19 2011-02-23 成都市华为赛门铁克科技有限公司 廉价磁盘冗余阵列重构方法、装置及系统
CN101984400A (zh) * 2010-11-05 2011-03-09 成都市华为赛门铁克科技有限公司 一种raid控制方法、装置及系统

Also Published As

Publication number Publication date
CN102591746A (zh) 2012-07-18

Similar Documents

Publication Publication Date Title
CN102591746B (zh) 数据重构方法和存储设备
CN101833422B (zh) 磁盘阵列的数据处理方法及设备
CN101980137B (zh) 廉价磁盘冗余阵列重构方法、装置及系统
CN100392611C (zh) 存储控制装置和方法
CN101276302B (zh) 一种磁盘阵列系统中磁盘故障处理和数据重构方法
CN104503706B (zh) 一种基于磁盘阵列的数据存储及读取方法
US8307159B2 (en) System and method for providing performance-enhanced rebuild of a solid-state drive (SSD) in a solid-state drive hard disk drive (SSD HDD) redundant array of inexpensive disks 1 (RAID 1) pair
CN103699457A (zh) 基于条带化的磁盘阵列修复方法及装置
CN103136074A (zh) 多个磁盘阵列系统的数据储存方法及数据储存系统
CN104035830A (zh) 一种数据恢复方法和装置
CN103034458A (zh) 固态硬盘中实现独立磁盘冗余阵列的方法及装置
CN104142872A (zh) 一种raid磁盘阵列的快速重建方法
US20100115198A1 (en) System and method for loose coupling between raid volumes and drive groups
CN102024059A (zh) 一种文件系统内实现独立磁盘冗余阵列保护的方法及装置
CN102508620A (zh) 一种处理raid5坏扇区的方法
CN101281452A (zh) 硬盘自动重建方法
CN102968361A (zh) 一种raid数据自修复的方法
CN101984400A (zh) 一种raid控制方法、装置及系统
CN103019623A (zh) 存储盘处理方法及装置
CN102999399A (zh) 一种jbod阵列自动恢复存储的方法和装置
CN103678025A (zh) 一种磁盘阵列中的磁盘故障处理方法
CN105117172B (zh) 一种磁盘阵列历史掉盘记录的保存方法
CN102609223B (zh) 一种独立冗余磁盘阵列系统及其初始化方法
CN101794246B (zh) 备份存储系统、备份系统及数据备份方法和恢复方法
CN103049407A (zh) 数据存储方法、装置及系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C53 Correction of patent of invention or patent application
CB02 Change of applicant information

Address after: 611731 Chengdu high tech Zone, Sichuan, West Park, Qingshui River

Applicant after: HUAWEI DIGITAL TECHNOLOGIES (CHENG DU) Co.,Ltd.

Address before: 611731 Chengdu high tech Zone, Sichuan, West Park, Qingshui River

Applicant before: CHENGDU HUAWEI SYMANTEC TECHNOLOGIES Co.,Ltd.

COR Change of bibliographic data

Free format text: CORRECT: APPLICANT; FROM: CHENGDU HUAWEI SYMANTEC TECHNOLOGIES CO., LTD. TO: HUAWEI DIGITAL TECHNOLOGY (CHENGDU) CO., LTD.

C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20220831

Address after: No. 1899 Xiyuan Avenue, high tech Zone (West District), Chengdu, Sichuan 610041

Patentee after: Chengdu Huawei Technologies Co.,Ltd.

Address before: 611731 Qingshui River District, Chengdu hi tech Zone, Sichuan, China

Patentee before: HUAWEI DIGITAL TECHNOLOGIES (CHENG DU) Co.,Ltd.