CN105843562B - 数据重建的方法及装置 - Google Patents
数据重建的方法及装置 Download PDFInfo
- Publication number
- CN105843562B CN105843562B CN201610347944.5A CN201610347944A CN105843562B CN 105843562 B CN105843562 B CN 105843562B CN 201610347944 A CN201610347944 A CN 201610347944A CN 105843562 B CN105843562 B CN 105843562B
- Authority
- CN
- China
- Prior art keywords
- disk
- hot standby
- changed
- dilatation
- idle
- 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
Links
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/062—Securing storage systems
- G06F3/0623—Securing storage systems in relation to content
-
- 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/0689—Disk 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)
- Hardware Redundancy (AREA)
Abstract
本申请公开一种数据重建的方法及装置,所述方法包括:确定热备VD的个数T,所述热备VD是所述正常磁盘上未参与VDG重建的热备VD;从所述T个热备VD中,确定待转变为空闲VD的热备VD的个数S;所述T和S均为大于0的自然数,且S小于T;由所述T个热备VD中,选择S个热备VD转变为空闲VD,并将所述扩容磁盘上的S个空闲VD转变为热备VD;由所述正常磁盘与扩容磁盘上的热备VD参与VDG重建。应用上述方法可以使得新加入的扩容磁盘可以更多地参与到重建过程,从而提高数据重建的效率,同时还可以缩短重建后的均衡时间。
Description
技术领域
本申请涉及数据存储技术领域,尤其涉及数据重建的方法及装置。
背景技术
随着科学技术的飞速发展和计算机技术的普遍应用,人们对存储设备的性能要求越来越高。作为一项成熟的技术,RAID(Redundant Arrays of Independent Disks,独立磁盘冗余阵列)技术已经被广泛应用于数据存储的各种场合。RAID技术是用多个PD(PhysicalDisk,物理磁盘)构建一个存储池,每个PD划分成多块VD(Virtual Disk,虚拟磁盘),由多块VD按照相应的RAID策略组建成VDG(Virtual Disk Group,虚拟磁盘组),向上层客户端提供逻辑资源进行读写。
在存储池块虚拟化结构下,当某个PD失效时,为了防止其他PD也失效而导致上层业务受到影响,以及防止因为PD失效而导致存储容量变小,通常需要及时加入新的PD进行扩容。而在扩容后,将进行VDG重建。
现有技术中,在VDG重建过程中,若在原有PD上可以申请到足够的热备VD,那么扩容进去的新的PD将较少的参与到重建过程,允许同时重建的VDG的数量较少,从而导致重建过程所耗费的时间较长,另外,在重建完成后,才可以对所有PD(包括原有PD和扩容进去的新的PD)的利用率进行均衡,由于新的PD在重建过程中基本未参加任何读写操作,重建后新的PD与原有PD的利用率差别较大,从而导致均衡时间也较长。
发明内容
为克服相关技术中存在的问题,本申请提供了数据重建的方法及装置,以实现新加入的扩容磁盘可以更多地参与到重建过程,从而提高数据重建的效率,同时还可以缩短重建后的均衡时间。
根据本申请的第一方面,提供一种数据重建的方法,所述方法应用于当存储池中的原有磁盘中出现故障磁盘时,在存储池中加入扩容磁盘,进行数据重建;其中,原有磁盘中的正常磁盘上所包括的热备VD的数量不低于所述故障磁盘上已存储数据的VD的数量,所述方法包括:
确定热备VD的个数T,所述热备VD是所述正常磁盘上未参与VDG重建的热备VD;
从所述T个热备VD中,确定待转变为空闲VD的热备VD的个数S;所述T和S均为大于0的自然数,且S小于T;
由所述T个热备VD中,选择S个热备VD转变为空闲VD,并将所述扩容磁盘上的S个空闲VD转变为热备VD;
由所述正常磁盘与扩容磁盘上的热备VD参与VDG重建。
作为改进,所述从所述T个热备VD中,确定待转变为空闲VD的热备VD的个数S,包括:
确定所述正常磁盘与所述扩容磁盘的总数量;
根据所述总数量确定单位磁盘VD数量,所述单位磁盘VD数量是所述T个热备VD在所述正常磁盘和扩容磁盘上平均分配时,每个磁盘上热备VD的数量;
根据所述单位磁盘VD数量与所述扩容磁盘的数量,得到待转变为空闲VD的热备VD的个数S。
作为改进,所述由所述T个热备VD中,选择S个热备VD转变为空闲VD,包括:
若所述S能被N整除,且商为K,则从每个所述正常磁盘上选择K个热备VD转变为空闲VD,所述N为所述正常磁盘的数量;
若所述S不能被N整除,且商为K,则从(S-K*N)个所述正常磁盘上分别选择K+1个热备VD转变为空闲VD,从剩余的所述正常磁盘上分别选择K个热备VD转变为空闲VD。
作为改进,当从所述正常磁盘上选择指定数量的热备VD转变为空闲VD时,从所述正常磁盘上随机选择指定数量的热备VD转变为空闲VD。
作为改进,当所述扩容磁盘的数量大于1个时,所述将扩容磁盘上的S个空闲VD转变为热备VD,包括:
按照预先设定的扩容磁盘的顺序,逐个将扩容磁盘上的一个空闲VD转变为热备VD,若将每个扩容磁盘上的一个空闲VD转变为热备VD后,扩容磁盘上热备VD的总数量仍小于S,则继续按照所述扩容磁盘的顺序,逐个将扩容磁盘上的一个空闲VD转变为热备VD,直至总共将S个空闲VD转变为热备VD。
根据本申请的第二方面,提供一种数据重建的装置,所述装置应用于当存储池中的原有磁盘中出现故障磁盘时,在存储池中加入扩容磁盘,进行数据重建;其中,原有磁盘中的正常磁盘上所包括的热备VD的数量不低于所述故障磁盘上已存储数据的VD的数量,所述装置包括:
第一确定模块,用于确定热备VD的个数T,所述热备VD是所述正常磁盘上未参与VDG重建的热备VD;
第二确定模块,用于从所述T个热备VD中,确定待转变为空闲VD的热备VD的个数S;所述T和S均为大于0的自然数,且S小于T;
处理模块,用于由所述T个热备VD中,选择S个热备VD转变为空闲VD,并将所述扩容磁盘上的S个空闲VD转变为热备VD;
重建模块,用于由所述正常磁盘与扩容磁盘上的热备VD参与VDG重建。
作为改进,所述第二确定单元,包括:
第一确定子模块,用于确定所述正常磁盘与所述扩容磁盘的总数量;
第二确定子模块,用于根据所述总数量确定单位磁盘VD数量,所述单位磁盘VD数量是所述T个热备VD在所述正常磁盘和扩容磁盘上平均分配时,每个磁盘上热备VD的数量;
第三确定子模块,用于根据所述单位磁盘VD数量与所述扩容磁盘的数量,得到待转变为空闲VD的热备VD的个数S。
作为改进,所述处理模块,用于:
若所述S能被N整除,且商为K,则从每个所述正常磁盘上选择K个热备VD转变为空闲VD,所述N为所述正常磁盘的数量;
若所述S不能被N整除,且商为K,则从(S-K*N)个所述正常磁盘上分别选择K+1个热备VD转变为空闲VD,从剩余的所述正常磁盘上分别选择K个热备VD转变为空闲VD。
作为改进,当从所述正常磁盘上选择指定数量的热备VD转变为空闲VD时,从所述正常磁盘上随机选择指定数量的热备VD转变为空闲VD。
作为改进,当所述扩容磁盘的数量大于1个时,所述处理模块,用于:
按照预先设定的扩容磁盘的顺序,逐个将扩容磁盘上的一个空闲VD转变为热备VD,若将每个扩容磁盘上的一个空闲VD转变为热备VD后,扩容磁盘上热备VD的总数量仍小于S,则继续按照所述扩容磁盘的顺序,逐个将扩容磁盘上的一个空闲VD转变为热备VD,直至总共将S个空闲VD转变为热备VD。
由上述方法可见,在数据重建时,通过将在正常磁盘上所申请的热备VD中,部分热备VD转变为空闲VD,将扩容磁盘上同样数量的空闲VD转变为热备VD,使得新加入的扩容磁盘可以参与重建过程,从而可以增加多个VDG同时重建的几率,从而提高了数据重建的效率;并且,由于新加入的扩容磁盘参与重建过程,在重建中,新加入的扩容磁盘中也可以有数据的读写,从而,在重建完成后,新加入的扩容磁盘的利用率与原有的正常磁盘的利用率的差值较现有技术中较小,从而也缩短了后续的均衡时间。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1示例了相关技术中磁盘阵列的示意图;
图2A示例了本申请数据重建的方法的一个实施例流程图;
图2B示例了按照本申请数据重建的方法所形成的磁盘阵列的示意图;
图3示例了确定待转变为空闲VD的热备VD个数的一个实施例流程图;
图4是本申请实施例中数据重建的装置所在网络设备的一种硬件结构框图;
图5示例了本申请数据重建的装置的一个实施例框图;
图6示例了本申请数据重建的装置的另一个实施例框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
请参见图1,示例了相关技术中磁盘阵列的示意图。其中,存储池Pool中包括原有磁盘PD1、PD2、PD3、PD4、PD5、PD6、PD7,以及扩容磁盘PD8。已将PD1至PD7按照指定大小进行切分,形成多个VD(如图1中所示的□即表示一个VD),并且,PD1至PD7中的部分VD已根据RAID策略,组成了多个VDG(如图1中所示,假设每个VDG由3个VD组成,编号相同的VD属于同一VDG,例如,编号为3的VD属于VDG3),该多个VDG向上层客户端提供逻辑资源进行读写。假设PD7出现故障,为了保障数据安全性及完整性,可以对部分VDG进行重建,以实现数据重建;且为了防止因PD7故障,导致存储池Pool的容量变小,影响上层业务,可以加入扩容磁盘PD8,由PD1至PD6,以及PD8重新组成磁盘阵列。
通常情况下,当原有磁盘中出现故障磁盘时,例如PD7出现故障时,即可以在其它正常磁盘,例如PD1至PD6上,申请热备VD(如图1中所示的■,即表示一个热备VD)用于VDG重建。现有技术中,当可以在原有磁盘的正常磁盘上申请到足够的热备VD时,即所述正常磁盘上所包括的热备VD的数量不低于故障磁盘PD7上已存储数据的VD的数量,则在正常磁盘上申请所需要的热备VD,只有当在原有磁盘的正常磁盘上申请不到足够的热备VD时,才在扩容磁盘上继续申请热备VD。如下仅描述可以在原有磁盘的正常磁盘上申请到足够的热备VD的情况:
当申请到数据重建所需要的热备VD,进行VDG重建时,重建顺序可以是自下而上的,例如,先对VDG3进行重建,再对VDG4进行重建,并且当待重建的相邻的VDG所涉及到的磁盘都不相同时,可以对该相邻的VDG同时进行重建。例如,假设所申请的热备VD中,分配给VDG3的热备VD位于PD6上,分配给VDG4的热备VD位于PD4上,那么,重建VDG3时,将涉及到PD1、PD2、PD6,重建VDG4时,将涉及到PD3、PD4、PD6,由此可见,重建VDG3和VDG4时,都将涉及到同一磁盘PD6,则该种情况下不能同时对VDG3和VDG4进行重建,只能先重建VDG3,重建完成后,再继续重建VDG4。
由此可见,通常情况下,存储池Pool中参与VDG重建的磁盘数量越多,从而热备VD被分配在多个磁盘上,相邻VDG重建时涉及同一磁盘的概率相对较低些,那么可以同时重建多个VDG的比例,相对磁盘数量较少时可以更高些。因此,新加入的扩容磁盘参与VDG重建时,可在一定程度上增加同时重建多个VDG的比例,从而提高数据重建时的效率;而且,在现有技术中,新加入的扩容磁盘几乎未参与重建过程,因此新加入的扩容磁盘几乎不涉及到任何的数据读写操作,那么,当VDG重建完成后,进行均衡时,将由于新加入的扩容磁盘的利用率与原有磁盘的利用率差值较大,导致均衡的时间也较长。基于此,为了提高数据重建的效率,本申请提供一种数据重建的方法及装置,旨在使得新加入的扩容磁盘可以更多地参与到重建过程中,提高数据重建的效率,同时,还可以减少重建后的均衡时间。
如下的图2A,示例了本申请数据重建的方法的一个实施例流程图,图2B示例了按照本申请数据重建的方法所形成的磁盘阵列的示意图,图2A所示的方法可以包括以下步骤:
步骤S201:确定热备VD的个数T,所述热备VD是所述正常磁盘上未参与VDG重建的热备VD。
通过上述描述,当原有磁盘中有故障磁盘时,即在其它正常磁盘上申请重建VDG所需要的热备VD,并在申请到足够的热备VD后,即开始进行VDG重建。为了避免在已重建的热备VD上重新写入数据,耗费性能,本申请中,在统计可重新分配的热备VD的个数T时,可以不再将已参与VDG重建的热备VD的数量计入。假设热备VD的总个数为101个,其中有1个热备VD已参与VDG重建,那么,所确定得出的未参与VDG重建的热备VD的个数T为100。
步骤S202:从所述T个热备VD中,确定待转变为空闲VD的热备VD的个数S;所述T和S均为大于0的自然数,且S小于T。
本申请中,为了使得扩容磁盘较多地参与到重建过程中,可以将原有磁盘上的热备VD移动到扩容磁盘上,并且,为了避免移动到扩容磁盘上的热备VD的数量较多,导致扩容磁盘参与重建时,承受较大的压力,以及在扩容磁盘故障时,需要重建的VDG数量较多,本申请中,可以将原有磁盘上的S个热备VD移动到扩容磁盘上,其中S小于T,使得扩容磁盘与原有磁盘上热备VD的数量较为均衡。上述“将原有磁盘上的热备VD移动到扩容磁盘上”的具体含义可以为将原有磁盘上的热备VD转变为空闲VD,将扩容磁盘上的空闲VD转变为热备VD。另外,具体本步骤中是如何确定该指定数量S的,可以参见下述实施例中的相关描述,在此先不作详述。
步骤S203:由所述T个热备VD中,选择S个热备VD转变为空闲VD,并将所述扩容磁盘上的S个空闲VD转变为热备VD。
当执行完步骤S202,确定待转变为空闲VD的热备VD的个数S后,则在本步骤中,可以在所述T个热备VD中,选择S个热备VD转变为空闲VD,并将扩容磁盘上的S个空闲VD转变为热备VD,从而实现上述步骤S202中所描述的将原有磁盘上的热备VD移动到扩容磁盘上。
在一个可选的实现方式中,在由所述T个热备VD中,选择S个热备VD转变为空闲VD时,可以按照如下描述的过程进行选择:
假设原有磁盘中正常磁盘的数量为N,若S能被N整除,且商为K,则从每个所述正常磁盘上选择K个热备VD转变为空闲VD;若S不能被N整除,且商为K,则从(S-K*N)个所述正常磁盘上分别选择K+1个热备VD转变为空闲VD,从剩余的所述正常磁盘上分别选择K个热备VD转变为空闲VD,从而可以使得每个正常磁盘上热备VD的数量较为均衡。
此外,在上述过程中,当从正常磁盘上选择指定数量的热备VD转变为空闲VD时,可以采取随机选择的方式,即从正常磁盘上随机选择指定数量的热备VD转变为空闲VD。
在一个例子中假设正常磁盘的数量为10个,新加入的扩容磁盘的数量为1个,待转移的热备VD的数量为9个,按照上述过程,9不能被10整除,且商为0,则可以从9个正常磁盘上各随机选择一个热备VD转变为空闲VD。
此外,本申请中,当新加入的扩容磁盘的数量大于1个时,为了保证每个扩容磁盘所分配到的热备VD的数量基本一致,在将扩容磁盘上的S个空闲VD转变为热备VD时,可以按照预先设定的扩容磁盘的顺序,逐个将扩容磁盘上的一个空闲VD转变为热备VD,若将每个扩容磁盘上的一个空闲VD转变为热备VD后,扩容磁盘上热备VD的总数量仍小于S,则继续按照所述扩容磁盘的顺序,逐个将扩容磁盘上的一个空闲VD转变为热备VD,直至总共将S个空闲VD转变为热备VD。
例如,假设待转变为空闲VD的热备VD的个数为11个,扩容磁盘的个数为3个,分别为PD8、PD9、PD10,则在将该3个扩容磁盘上的11个空闲VD转变为热备VD时,可以先将PD8上的一个空闲VD转变为热备VD,再依次将PD9和PD10上的一个空闲VD转变为热备VD,如此执行一轮后,再继续执行两轮上述过程,此时,已累计将9个空闲VD转变为热备VD,而待转移的热备VD的个数为11个,则继续按照该3个扩容磁盘的顺序,依次将PD8、PD9上的一个空闲VD转变为热备VD,至此,完成了将11个空闲VD转变为热备VD,通过该过程,每个扩容磁盘上热备VD的个数基本均衡。
步骤S204:所述正常磁盘与扩容磁盘上的热备VD参与VDG重建。
热备VD参与VDG重建的过程可以参见现有技术中的相关描述,本申请对此不再做详细赘述。
需要说明的是,在现有技术中,根据上述举例,VDG3和VDG4在重建时,都将涉及到PD6,从而导致VDG3和VDG4无法同时进行重建。但在本申请中,通过执行步骤S201-S203,对待参与重建的热备VD进行了重新分配,假设,如图2B中所示的磁盘阵列的示意图,将PD6中编号为3的热备VD转变为空闲VD,而在扩容磁盘PD8上将一个空闲VD转变为热备VD,并由VDG3占用该热备VD,那么,VDG3重建时将涉及到PD1、PD2、PD8,由此可见,按照本申请提供的方法,对热备VD重新分配后,VDG3与VDG4进行重建时,将不涉及到同一磁盘,从而使得VDG3和VDG4可以同时进行重建,提高了重建的效率。
由上述实施例可见,在数据重建时,通过将在正常磁盘上所申请的热备VD中,部分热备VD转变为空闲VD,将扩容磁盘上同样数量的空闲VD转变为热备VD,使得新加入的扩容磁盘可以参与重建过程,从而可以增加多个VDG同时重建的几率,从而提高了数据重建的效率;并且,由于新加入的扩容磁盘参与重建过程,在重建中,新加入的扩容磁盘中也可以有数据的读写,从而,在重建完成后,新加入的扩容磁盘的利用率与原有的正常磁盘的利用率的差值较现有技术中较小,从而也缩短了后续的均衡时间。
如下的图3,示例了确定待转变为空闲VD的热备VD个数的一个实施例流程图,图3所示的流程详细描述了在上述图2A所示实施例中,如何从T个热备VD中,确定待转变为空闲VD的热备VD的个数S,可以包括以下步骤:
步骤S301:确定所述正常磁盘与所述扩容磁盘的总数量。
步骤S302:根据所述总数量确定单位磁盘VD数量,所述单位磁盘VD数量是所述T个热备VD在所述正常的原有磁盘和扩容磁盘上平均分配时,每个磁盘上热备VD的数量。
步骤S303:根据所述单位磁盘VD数量与所述扩容磁盘的数量,得到待转变为空闲VD的热备VD的个数S。
在上述步骤S301至步骤S303中,假设原有磁盘中的正常磁盘的数量为N,新加入的扩容磁盘的数量为M,则可以根据如下公式计算得出S:
在如上公式中,将未参与VDG重建的热备VD的总数量T,除以正常磁盘和扩容磁盘的总数量(M+N),所得到的商进行向下取整,可以计算得出单位磁盘VD数量,即平均分配在每个磁盘上热备VD的数量;继而通过该单位磁盘VD数量与扩容磁盘的数量做乘,即可得出待转变为空闲VD的热备VD的数量S,即分配在扩容磁盘上热备VD的数量。
在一个例子中,假设正常磁盘的数量为10个,扩容磁盘的数量为1个,该10个正常磁盘上未参与VDG重建的热备VD的个数为100个。
那么,可以将该100个热备VD在10个正常磁盘以及1个扩容磁盘上进行平均分配,通过计算100/(10+1),并向下取整,可以得出可分配在每个磁盘上的热备VD的数量大约为9个。那么,扩容磁盘上所分配到的热备VD的数量即为9个(9*1=9),从而,可以得出待转变为空闲VD的热备VD的数量S为9。
需要说明的是,本申请在确定待转变为空闲VD的热备VD的个数S时,所用到的计算公式不限于上述公式,与上述公式基于相同思想的其他变形公式也在本申请的保护范围之内。
由上述实施例可见,通过正常磁盘上未参与VDG重建的热备VD的总数量T,以及正常磁盘和扩容磁盘的总数量,可以得出所述T个热备VD在所述正常的原有磁盘和扩容磁盘上平均分配时,每个磁盘上热备VD的数量,继而可以根据该每个磁盘上热备VD的数量与扩容磁盘的数量,计算得出原有磁盘上待转变为空闲VD的热备VD的数量,即扩容磁盘上待转变为热备VD的空闲VD的数量,从而可以保证扩容磁盘与正常磁盘上所分配到的热备VD的数量基本均衡。
基于与上述方法同一的发明构思,本申请实施例还提供了数据重建的装置的实施例,该装置可以用于网络设备,例如存储设备上。其中,该装置可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在网络设备的处理器,将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图4所示,是本申请实施例中数据重建的装置所在网络设备的一种硬件结构框图,除了图4所示的处理器41、内存42、网络接口43以及非易失性存储器44外,还可以包括其他硬件,如摄像装置、负责处理报文的转发芯片等。
如下的图5,示例了本申请数据重建的装置的一个实施例框图,该装置可以包括:第一确定模块51、第二确定模块52、处理模块53、重建模块54。
其中,该第一确定模块51,可以用于确定热备VD的个数T,所述热备VD是所述正常磁盘上未参与VDG重建的热备VD;
该第二确定模块52,可以用于从所述T个热备VD中,确定待转变为空闲VD的热备VD的个数S;所述T和S均为大于0的自然数,且S小于T;
该处理模块53,可以用于由所述T个热备VD中,选择S个热备VD转变为空闲VD,并将所述扩容磁盘上的S个空闲VD转变为热备VD;
该重建模块54,可以用于由所述正常磁盘与扩容磁盘上的热备VD参与VDG重建。
在一个实施例中,该处理模块53,可以用于:
若所述S能被N整除,且商为K,则从每个所述正常磁盘上选择K个热备VD转变为空闲VD,所述N为所述正常磁盘的数量;
若所述S不能被N整除,且商为K,则从(S-K*N)个所述正常磁盘上分别选择K+1个热备VD转变为空闲VD,从剩余的所述正常磁盘上分别选择K个热备VD转变为空闲VD。
在另一个实施例中,当从所述正常磁盘上选择指定数量的热备VD转变为空闲VD时,从所述正常磁盘上随机选择指定数量的热备VD转变为空闲VD。
在又一个实施例中,当所述扩容磁盘的数量大于1个时,该处理模块53,可以用于:
按照预先设定的扩容磁盘的顺序,逐个将扩容磁盘上的一个空闲VD转变为热备VD,若将每个扩容磁盘上的一个空闲VD转变为热备VD后,扩容磁盘上热备VD的总数量仍小于S,则继续按照所述扩容磁盘的顺序,逐个将扩容磁盘上的一个空闲VD转变为热备VD,直至总共将S个空闲VD转变为热备VD。
如下的图6,示例了本申请数据重建的装置的另一个实施例框图,该装置在上述图5所示装置的基础上,其中,所述第二确定模块52,可以包括:第一确定子模块521、第二确定子模块522、第三确定子模块523。
其中,该第一确定子模块521,可以用于确定所述正常磁盘与所述扩容磁盘的总数量;
该第二确定子模块522,可以用于根据所述总数量确定单位磁盘VD数量,所述单位磁盘VD数量是所述T个热备VD在所述正常磁盘和扩容磁盘上平均分配时,每个磁盘上热备VD的数量;
该第三确定子模块523,可以用于根据所述单位磁盘VD数量与所述扩容磁盘的数量,得到待转变为空闲VD的热备VD的个数S。
本领域技术人员在考虑说明书及实践这里申请的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未申请的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
Claims (10)
1.一种数据重建的方法,其特征在于,所述方法应用于当存储池中的原有磁盘中出现故障磁盘时,在存储池中加入扩容磁盘,进行数据重建;其中,原有磁盘中的正常磁盘上所包括的热备虚拟磁盘VD的数量不低于所述故障磁盘上已存储数据的VD的数量,所述方法包括:
确定热备VD的个数T,所述热备VD是所述正常磁盘上未参与虚拟磁盘组VDG重建的热备VD;
从所述T个热备VD中,确定待转变为空闲VD的热备VD的个数S;所述T和S均为大于0的自然数,且S小于T;
由所述T个热备VD中,选择S个热备VD转变为空闲VD,并将所述扩容磁盘上的S个空闲VD转变为热备VD;
由所述正常磁盘与扩容磁盘上的热备VD参与VDG重建。
2.根据权利要求1所述的方法,其特征在于,所述从所述T个热备VD中,确定待转变为空闲VD的热备VD的个数S,包括:
确定所述正常磁盘与所述扩容磁盘的总数量;
根据所述总数量确定单位磁盘VD数量,所述单位磁盘VD数量是所述T个热备VD在所述正常磁盘和扩容磁盘上平均分配时,每个磁盘上热备VD的数量;
根据所述单位磁盘VD数量与所述扩容磁盘的数量,得到待转变为空闲VD的热备VD的个数S。
3.根据权利要求1所述的方法,其特征在于,所述由所述T个热备VD中,选择S个热备VD转变为空闲VD,包括:
若所述S能被N整除,且商为K,则从每个所述正常磁盘上选择K个热备VD转变为空闲VD,所述N为所述正常磁盘的数量;
若所述S不能被N整除,且商为K,则从(S-K*N)个所述正常磁盘上分别选择K+1个热备VD转变为空闲VD,从剩余的所述正常磁盘上分别选择K个热备VD转变为空闲VD。
4.根据权利要求3所述的方法,其特征在于,当从所述正常磁盘上选择指定数量的热备VD转变为空闲VD时,从所述正常磁盘上随机选择指定数量的热备VD转变为空闲VD。
5.根据权利要求3所述的方法,其特征在于,当所述扩容磁盘的数量大于1个时,所述将扩容磁盘上的S个空闲VD转变为热备VD,包括:
按照预先设定的扩容磁盘的顺序,逐个将扩容磁盘上的一个空闲VD转变为热备VD,若将每个扩容磁盘上的一个空闲VD转变为热备VD后,扩容磁盘上热备VD的总数量仍小于S,则继续按照所述扩容磁盘的顺序,逐个将扩容磁盘上的一个空闲VD转变为热备VD,直至总共将S个空闲VD转变为热备VD。
6.一种数据重建的装置,其特征在于,所述装置应用于当存储池中的原有磁盘中出现故障磁盘时,在存储池中加入扩容磁盘,进行数据重建;其中,原有磁盘中的正常磁盘上所包括的热备虚拟磁盘VD的数量不低于所述故障磁盘上已存储数据的VD的数量,所述装置包括:
第一确定模块,用于确定热备VD的个数T,所述热备VD是所述正常磁盘上未参与VDG重建的热备VD;
第二确定模块,用于从所述T个热备VD中,确定待转变为空闲VD的热备VD的个数S;所述T和S均为大于0的自然数,且S小于T;
处理模块,用于由所述T个热备VD中,选择S个热备VD转变为空闲VD,并将所述扩容磁盘上的S个空闲VD转变为热备VD;
重建模块,用于由所述正常磁盘与扩容磁盘上的热备VD参与VDG重建。
7.根据权利要求6所述装置,其特征在于,所述第二确定模块,包括:
第一确定子模块,用于确定所述正常磁盘与所述扩容磁盘的总数量;
第二确定子模块,用于根据所述总数量确定单位磁盘VD数量,所述单位磁盘VD数量是所述T个热备VD在所述正常磁盘和扩容磁盘上平均分配时,每个磁盘上热备VD的数量;
第三确定子模块,用于根据所述单位磁盘VD数量与所述扩容磁盘的数量,得到待转变为空闲VD的热备VD的个数S。
8.根据权利要求6所述的装置,其特征在于,所述处理模块,用于:
若所述S能被N整除,且商为K,则从每个所述正常磁盘上选择K个热备VD转变为空闲VD,所述N为所述正常磁盘的数量;
若所述S不能被N整除,且商为K,则从(S-K*N)个所述正常磁盘上分别选择K+1个热备VD转变为空闲VD,从剩余的所述正常磁盘上分别选择K个热备VD转变为空闲VD。
9.根据权利要求8所述的装置,其特征在于,当从所述正常磁盘上选择指定数量的热备VD转变为空闲VD时,从所述正常磁盘上随机选择指定数量的热备VD转变为空闲VD。
10.根据权利要求8所述的装置,其特征在于,当所述扩容磁盘的数量大于1个时,所述处理模块,用于:
按照预先设定的扩容磁盘的顺序,逐个将扩容磁盘上的一个空闲VD转变为热备VD,若将每个扩容磁盘上的一个空闲VD转变为热备VD后,扩容磁盘上热备VD的总数量仍小于S,则继续按照所述扩容磁盘的顺序,逐个将扩容磁盘上的一个空闲VD转变为热备VD,直至总共将S个空闲VD转变为热备VD。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610347944.5A CN105843562B (zh) | 2016-05-24 | 2016-05-24 | 数据重建的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610347944.5A CN105843562B (zh) | 2016-05-24 | 2016-05-24 | 数据重建的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105843562A CN105843562A (zh) | 2016-08-10 |
CN105843562B true CN105843562B (zh) | 2018-12-07 |
Family
ID=56593239
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610347944.5A Active CN105843562B (zh) | 2016-05-24 | 2016-05-24 | 数据重建的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105843562B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110058953B (zh) * | 2018-01-18 | 2023-02-28 | 伊姆西Ip控股有限责任公司 | 用于改变存储系统的类型的方法、设备和存储介质 |
CN111752748B (zh) * | 2019-03-26 | 2024-04-26 | 杭州宏杉科技股份有限公司 | 基于vraid的数据重建方法、装置、电子设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105138468A (zh) * | 2015-08-19 | 2015-12-09 | 浙江宇视科技有限公司 | 一种提高虚拟磁盘组重构性能的方法和装置 |
CN105183623A (zh) * | 2015-08-25 | 2015-12-23 | 浙江宇视科技有限公司 | 一种基于热备vd提高vdg重建性能的方法和装置 |
CN105229615A (zh) * | 2013-03-14 | 2016-01-06 | 微软技术许可有限责任公司 | 虚拟盘恢复和重新分布 |
CN105243032A (zh) * | 2015-10-20 | 2016-01-13 | 浙江宇视科技有限公司 | 一种资源创建的方法和装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105573660B (zh) * | 2014-09-30 | 2019-05-17 | 伊姆西公司 | 用于改善分簇磁盘阵列的性能的方法和装置 |
-
2016
- 2016-05-24 CN CN201610347944.5A patent/CN105843562B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105229615A (zh) * | 2013-03-14 | 2016-01-06 | 微软技术许可有限责任公司 | 虚拟盘恢复和重新分布 |
CN105138468A (zh) * | 2015-08-19 | 2015-12-09 | 浙江宇视科技有限公司 | 一种提高虚拟磁盘组重构性能的方法和装置 |
CN105183623A (zh) * | 2015-08-25 | 2015-12-23 | 浙江宇视科技有限公司 | 一种基于热备vd提高vdg重建性能的方法和装置 |
CN105243032A (zh) * | 2015-10-20 | 2016-01-13 | 浙江宇视科技有限公司 | 一种资源创建的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN105843562A (zh) | 2016-08-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI554883B (zh) | 用於在記憶體系統中分割資料結構之系統及方法 | |
CN105573660B (zh) | 用于改善分簇磁盘阵列的性能的方法和装置 | |
US10409696B2 (en) | Scalable data storage pools | |
Park et al. | Trim: Enhancing processor-memory interfaces with scalable tensor reduction in memory | |
CN107360206A (zh) | 一种区块链共识方法、设备及系统 | |
JP5707265B2 (ja) | 演算制御装置及び演算制御方法並びにプログラム、並列プロセッサ | |
CN102096557B (zh) | 一种独立磁盘冗余阵列的扩容方法、装置及系统 | |
CN103534693A (zh) | 在客户端之间共享对存储器的访问 | |
US9354826B2 (en) | Capacity expansion method and device | |
CN103617006A (zh) | 存储资源的管理方法与装置 | |
CN104937564B (zh) | 组表格的数据冲洗 | |
US20180307439A1 (en) | Lock-free raid implementation in multi-queue architecture | |
CN106233258B (zh) | 可变宽度纠错 | |
US9720770B2 (en) | Method for calculating raids parity code on interleaving and out of order data streams, and a system using the same | |
EP3295300B1 (en) | System and method for determining concurrency factors for dispatch size of parallel processor kernels | |
US10084860B2 (en) | Distributed file system using torus network and method for configuring and operating distributed file system using torus network | |
US20190220231A1 (en) | Method, apparatus and computer program product for managing storage system | |
CN105843562B (zh) | 数据重建的方法及装置 | |
CN101840312B (zh) | 一种用于多核处理器的raid5写数据方法及装置 | |
CN109669822A (zh) | 电子装置、备用存储池的创建方法和计算机可读存储介质 | |
US9104496B2 (en) | Submitting operations to a shared resource based on busy-to-success ratios | |
CN107301021B (zh) | 一种利用ssd缓存对lun进行加速的方法和装置 | |
CN103699340B (zh) | 一种请求处理方法及设备 | |
CN107562377A (zh) | 一种存储系统硬盘扩容实现方法 | |
CN107463337A (zh) | 一种避免块存储iops过载的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |