CN102880428A - 分布式独立磁盘冗余阵列的创建方法及装置 - Google Patents
分布式独立磁盘冗余阵列的创建方法及装置 Download PDFInfo
- Publication number
- CN102880428A CN102880428A CN2012102957070A CN201210295707A CN102880428A CN 102880428 A CN102880428 A CN 102880428A CN 2012102957070 A CN2012102957070 A CN 2012102957070A CN 201210295707 A CN201210295707 A CN 201210295707A CN 102880428 A CN102880428 A CN 102880428A
- Authority
- CN
- China
- Prior art keywords
- disk
- group
- raid
- virtual
- 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
Links
Images
Landscapes
- Signal Processing For Digital Recording And Reproducing (AREA)
Abstract
本发明实施例公开一种分布式RAID的创建方法及装置,涉及RAID技术领域,以解决现有技术中主机的IO数据访问可能会集中在其中的一个RAID组的某一个区域,从而造成数据访问热点的问题。本发明提供的技术方案包括将所述磁盘组中的每个磁盘划分为多个容量相同的磁盘块;根据预先设置的唯一的映射关系从每个磁盘中选取相应的磁盘块组合成虚拟磁盘,创建虚拟磁盘组;根据所述虚拟磁盘组创建RAID组;对所述RAID组进行条带化,并使用条带化后的RAID组读写数据。本发明实施例提供的分布式RAID的创建方法及装置,能够应用于可创建至少两组RAID组的磁盘组中。
Description
技术领域
本发明涉及独立磁盘冗余阵列(Redundant Access Independent Disk,以下简称为RAID)技术领域,尤其涉及一种分布式RAID的创建方法及装置。
背景技术
RAID是一种高性能、高可靠性的存储技术,通过一系列单独的磁盘以不同的方式组合起来,为应用终端或终端群集提供逻辑上的磁盘。RAID技术已经广泛应用于数据存储的各种场合,常用的RAID技术包括RAID0、RAID1、RAID5、RAID6、RAID10等;其中RAID0不具有冗余能力,RAID1并不是完全的磁盘阵列;而RAID5、RAID6、RAID10分别由多块磁盘(如,RAID5和RAID6不少于3块,RAID10不少于4块)组成,各个RAID以条带的方式向阵列中的磁盘写数据,并将奇偶校验数据存放在阵列中的磁盘上。
进一步的,RAID5的每个条带上含有1个校验位,支持任意损坏其中一块磁盘,通过其他磁盘上的奇偶校验位来重建数据;RAID6的每个条带上含有2个校验位,支持任意损坏其中两块磁盘,通过其他磁盘上的奇偶校验位来恢复数据;RAID10是对磁盘组先进行镜像,再对磁盘进行条带,当一块磁盘损坏后通过其对应的镜像盘回复数据,最多允许不同位置下50%的磁盘毁坏。
如图1所示,为一种以RAID5为例的数据存储过程,其中,RAID5阵列由两个RAID组:RAID组1、RAID组2,RAID组1由4块磁盘组成,RAID组2由3块磁盘组成,而写入RAID组1的有6块数据,其中条带块P(P1和P2)中的数据是奇偶校验数据,分别由每个条带的数据XOR算出,即 此时需要将6块数据分成2个条带写入磁盘中,写入RAID组2的有4块数据,其中条带块P(P3和P4)中的数据是就校验数据,分别由每个条带的数据XOR算出,即 在RAID组1和RAID组2中任意成员盘出错误后,可以通过条带中的剩余数据和奇偶校验数据重构丢失的数据,例如,假设RAID组1中磁盘1损坏时,条带1中的数据A,可以由 运算出来,并存储到热备盘中。
在实现本发明实施例的过程中,发明人发现,现有技术至少存在以下问题:
主机的IO数据访问可能会集中在其中的一个RAID组的某一个区域,如数据块A-F为主机经常调用的数据,需要经常对RAID组1中的条带1和条带2进行读写,从而造成数据访问热点。
发明内容
有鉴于此,本发明实施例提供一种分布式RAID的创建方法及装置,以解决现有技术中主机的IO数据访问可能会集中在其中的一个RAID组的某一个区域,从而造成数据访问热点的问题。
为达到上述目的,本发明实施例采用如下技术方案:
第一方面,提供了一种分布式RAID的创建方法,用于可创建至少两组RAID组的磁盘组,该方法,包括:将所述磁盘组中的每个磁盘划分为多个容量相同的磁盘块;根据预先设置的唯一的映射关系从每个磁盘中选取相应的磁盘块组合成虚拟磁盘,创建虚拟磁盘组;根据所述虚拟磁盘组创建RAID组;对所述RAID组进行条带化,并使用条带化后的RAID组读写数据。
结合第一方面的实现方式,在第一种可能的实现方式中,所述将所述磁盘组中的每个磁盘划分为多个容量相同的磁盘块,包括:从所述磁盘组中选取第一磁盘,所述第一磁盘为所述磁盘组中容量最小的磁盘;根据所述第一磁盘的磁盘容量以及所述磁盘组中磁盘数设置磁盘块的容量;根据设置的磁盘块的容量将所述磁盘组中的每个磁盘划分为多个磁盘块,磁盘块的个数为磁盘数的整数倍。
结合第一方面或第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述磁盘组包括1~n块磁盘,虚拟磁盘组包括1~n块虚拟磁盘,其中n≥4,所述根据预先设置的唯一的映射关系从每个磁盘中选取相应的磁盘块组合成虚拟磁盘,包括:从第(k%n+m+n)%n块磁盘中选取第k块磁盘块,作为第m块虚拟磁盘的第k块虚拟磁盘块;其中,磁盘和磁盘块的块号均从0开始,0≤k≤磁盘块个数-1,0≤m≤n-1,%为取余。
结合第一方面或第一方面的第一种可能或第一方面的第二种可能的实现方式,在第三种可能的实现方式中,所述对所述RAID组进行条带化,并使用条带化后的RAID组读写数据,包括:根据所述虚拟磁盘的逻辑地址进行条带化;当需要读写数据时,根据所述预先设置的唯一的映射关系以及读写数据的逻辑地址获取所述虚拟磁盘的物理地址,通过所述虚拟磁盘的物理地址读写数据。
结合第一方面或第一方面的第一种可能或第一方面的第二种可能或第三种可能的实现方式,在第四种可能的实现方式中,在所述根据预先设置的唯一的映射关系从每个磁盘中选取相应的磁盘块组合成虚拟磁盘,创建虚拟磁盘组之后,还包括:从所述虚拟磁盘组中选取至少一块虚拟磁盘作为热备盘;所述方法,还包括:当磁盘组中的磁盘发生故障时,将发生故障的磁盘中存储的数据重构到所述热备盘中。
第二方面,还提供了一种分布式RAID的创建装置,用于可创建至少两组RAID组的磁盘组,该装置,包括:
划分单元,用于将所述磁盘组中的每个磁盘划分为多个容量相同的磁盘块;
第一创建单元,用于根据预先设置的唯一的映射关系从每个磁盘中选取相应的磁盘块组合成虚拟磁盘,创建虚拟磁盘组;
第二创建单元,用于根据所述第一创建单元创建的所述虚拟磁盘组创建RAID组;
执行单元,用于对所述第二创建单元创建的RAID组进行条带化,并使用条带化后的RAID组读写数据。
结合第二方面的实现方式,在第一种可能的实现方式中,所述划分单元,包括:
选取子单元,用于从所述磁盘组中选取第一磁盘,所述第一磁盘为所述磁盘组中容量最小的磁盘;
设置子单元,用于根据所述选取单元选取的第一磁盘的磁盘容量以及所述磁盘组中磁盘数设置磁盘块的容量;
划分子单元,用于根据所述设置子单元设置的磁盘块的容量将所述磁盘组中的每个磁盘划分为多个磁盘块。
结合第二方面或第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述磁盘组包括1~n块磁盘,虚拟磁盘组包括1~n块虚拟磁盘,其中n≥4,所述第一创建单元,包括:
第一创建子单元,用于从第(k%n+m+n)%n块磁盘中选取第k块磁盘块,作为第m块虚拟磁盘的第k块虚拟磁盘块;其中,磁盘和磁盘块的块号均从0开始,0≤k≤磁盘块个数-1,0≤m≤n-1,%为取余。
结合第二方面或第二方面的第一种可能的实现方式,在第三种可能的实现方式中,所述执行单元,包括:
条带化子单元,用于根据所述虚拟磁盘的逻辑地址进行条带化;
读写子单元,用于当需要读写数据时,根据所述预先设置的唯一的映射关系以及读写数据的逻辑地址获取所述虚拟磁盘的物理地址,通过所述虚拟磁盘的物理地址读写数据。
结合第二方面或第二方面的第一种可能或第一方面的第二种可能或第三种可能的实现方式,在第四种可能的实现方式中,选取单元,用于从所述第一创建单元创建的虚拟磁盘组中选取至少一块虚拟磁盘作为热备盘;
重构单元,用于当磁盘组中的磁盘发生故障时,将发生故障的磁盘中存储的数据重构到所述热备盘中。
本发明实施例提供的分布式RAID的创建方法及装置,用于可创建至少两组RAID组的磁盘组,将所述磁盘组中的每个磁盘划分为多个容量相同的磁盘块并根据预先设置的唯一的映射关系从每个磁盘中选取相应的磁盘块组合成虚拟磁盘,创建虚拟磁盘组,根据所述虚拟磁盘组创建RAID组,由于虚拟磁盘组中的虚拟磁盘由每个磁盘组中相应的磁盘块组成,使得根据虚拟磁盘创建的RAID组中条带化存储的数据分布在磁盘组中的每个磁盘块中,在并行访问RAID组中的数据时,对每块磁盘进行访问,避免了现有技术中主机的IO数据访问可能会集中在其中的一个RAID组的某一个区域,从而造成数据访问热点的问题。
附图说明
图1为RAID5的数据存储过程;
图2为本发明实施例提供的分布式RAID的创建方法的流程图一;
图3为本发明实施例提供的分布式RAID的创建方法的流程图二;
图4为本发明又一实施例提供的分布式RAID的创建方法的流程图;
图5为图4中磁盘组与虚拟磁盘组之间的映射关系;
图6为图4中虚拟磁盘组条带化与磁盘组的映射关系;
图7为本发明实施例提供的分布式RAID的创建装置的结构示意图一;
图8为图7中所示的分布式RAID的创建装置的划分单元的结构示意图;
图9为图7中所示的分布式RAID的创建装置的第一创建单元的结构示意图;
图10为图7中所示的分布式RAID的创建装置的执行单元的结构示意图;
图11为本发明实施例提供的分布式RAID的创建装置的结构示意图二;
图12为本发明又一实施例提供的分布式RAID的创建装置的结构示意图。
具体实施方式
为了解决现有技术中主机的IO数据访问可能会集中在其中的一个RAID组的某一个区域,从而造成数据访问热点的问题,本发明实施例提供一种分布式RAID的创建方法及装置。
如图2所示,本发明实施例提供的一种分布式RAID的创建方法,用于可创建至少两组RAID组的磁盘组,该方法,包括:
101、将所述磁盘组中的每个磁盘划分为多个容量相同的磁盘块。
其中,所述磁盘块的磁盘容量可以任意指定,可以根据磁盘组中磁盘的个数以及磁盘的容量进行设置。
其中,磁盘组中包含的多块磁盘的容量可以相同也可以不相同。若不是所有磁盘的容量均相同,可以从磁盘组中选取容量最小的磁盘作为第一磁盘,若磁盘组中包含的多块磁盘的容量相容,可以从磁盘组中任意选取一个磁盘作为所述第一磁盘,根据第一磁盘的磁盘容量以及所述磁盘组中磁盘数设置磁盘块的容量,根据设置的磁盘块的容量将所述磁盘组中的每个磁盘划分为多个磁盘块。
102、根据预先设置的唯一的映射关系从每个磁盘中选取相应的磁盘块组合成虚拟磁盘,创建虚拟磁盘组。
其中,所述唯一的映射关系是指构成虚拟磁盘组中虚拟磁盘的虚拟磁盘块与磁盘组中磁盘的磁盘块之间存通过唯一的法则f进行相互转换。例如,在磁盘块的物理地址已知的情况下可以通过法则f得到虚拟磁盘块的逻辑地址或者在虚拟磁盘块的逻辑地址已知的情况下可以通过法则f得到磁盘块的物理地址。
值得说明的是,由于所述唯一的映射关系,所述磁盘块与虚拟磁盘块之间可以不需要映射表,从而节约了一定的存储空间。
103、根据所述虚拟磁盘组创建RAID组。
104、对所述RAID组进行条带化,并使用条带化后的RAID组读写数据。
如图3所示,进一步的,为了大大降低数据重构的时间,在所述根据预先设置的唯一的映射关系从每个磁盘中选取相应的磁盘块组合成虚拟磁盘,创建虚拟磁盘组之后,还包括:
105、从所述虚拟磁盘组中选取至少一块虚拟磁盘作为热备盘。
106、当磁盘组中的磁盘发生故障时,将发生故障的磁盘中存储的数据重构到所述热备盘中。
由于本实施例中的热备盘作为热备空间分布在每个磁盘中,从而解决了重构过程中写数据的热点问题。
本发明实施例提供的分布式RAID的创建方法,用于可创建至少两组RAID组的磁盘组,将所述磁盘组中的每个磁盘划分为多个容量相同的磁盘块并根据预先设置的唯一的映射关系从每个磁盘中选取相应的磁盘块组合成虚拟磁盘,创建虚拟磁盘组,根据所述虚拟磁盘组创建RAID组,由于虚拟磁盘组中的虚拟磁盘由每个磁盘组中相应的磁盘块组成,使得根据虚拟磁盘创建的RAID组中条带化存储的数据分布在磁盘组中的每个磁盘块中,在并行访问RAID组中的数据时,对每块磁盘进行访问,避免了现有技术中主机的IO数据访问可能会集中在其中的一个RAID组的某一个区域,从而造成数据访问热点的问题。
为了使本领域技术人员能够更清楚地理解本发明实施例提供的技术方案,下面通过具体的实施例,对本发明实施例提供的分布式RAID的创建方法进行详细说明。
本发明又一实施例提供的分布式RAID的创建方法,用于可创建至少两组RAID组的磁盘组,在本实施例中,以包含8块磁盘的磁盘组,构建RAID组1,RAID为RAID5为例进行详细的说明。如图4所示,所述分布式RAID的创建方法,可以包括:
201、磁盘控制器从所述磁盘组中选取第一磁盘,所述第一磁盘为所述磁盘组中容量最小的磁盘。
值得说明的是,若所述磁盘组中每块磁盘的磁盘容量相同,任意一磁盘均可作为第一磁盘。
202、所述磁盘控制器根据所述第一磁盘的磁盘容量以及所述磁盘组中磁盘数设置磁盘块的容量。
203、所述磁盘控制器根据设置的磁盘块的容量将所述磁盘组中的每个磁盘划分为多个磁盘块。
其中,磁盘块的个数为磁盘数的整数倍,具体的,如图5所示,本实施例中磁盘组共有8块磁盘,每块磁盘的容量相同,根据每块磁盘的磁盘容量以及磁盘组的磁盘数设置磁盘块的容量,可以将每个磁盘划分为8、16块或32块磁盘块(磁盘块的个数为磁盘数的整数倍):
磁盘块的容量=每块磁盘的磁盘容量/磁盘数。
在本实施例中,以将每个磁盘划分为8块磁盘块为例,进行详细说明。
204、所述磁盘控制器根据预先设置的唯一的映射关系从每个磁盘中选取相应的磁盘块组合成虚拟磁盘,创建虚拟磁盘组。
其中,所述唯一的映射关系可以是斜对角关系,如图5所示,具体的,所述磁盘组包括1~n块磁盘,虚拟磁盘组包括1~n块虚拟磁盘,其中n≥4,在本实施例中,n=8,所述根据预先设置的唯一的映射关系从每个磁盘中选取相应的磁盘块组合成虚拟磁盘,包括:从第(k%n+m+n)%n块磁盘中选取第k块磁盘块,作为第m块虚拟磁盘的第k块虚拟磁盘块。其中,磁盘和磁盘块的块号均从0开始,0≤k≤磁盘块个数-1,0≤m≤n-1,%为取余。。
当然,所述唯一的映射关系还可以是其他的转换关系,此处不一一赘述,仅仅以斜对角关系为例进行详细的说明。
在本实施例中,所述虚拟磁盘携带的磁盘属性可以包括虚拟磁盘盘符以及虚拟磁盘的容量。
205、所述磁盘控制器根据所述虚拟磁盘组创建RAID组,并从所述虚拟磁盘组中选取至少一块虚拟磁盘作为热备盘。
206、所述磁盘控制器根据所述虚拟磁盘的逻辑地址进行条带化。
在如图5所示的虚拟磁盘组的基础上实现步骤205、206。如图6所示,通过步骤205和步骤206可以创建RAID组1,对应于虚拟磁盘组,使用虚拟磁盘组中相邻的4块虚拟磁盘创建RAID组并进行条带化,对于虚拟磁盘组而言,RAID组1中的数据集中存储在相邻的4块虚拟磁盘中,但对于实际的磁盘组而言,RAID组1中的数据分布在磁盘组中的8块磁盘中。
207、当需要读写数据时,所述磁盘控制器根据所述预先设置的唯一的映射关系以及读写数据的逻辑地址获取所述虚拟磁盘的物理地址,通过所述虚拟磁盘的物理地址读写数据。
具体的,如图6所示,假设RAID组1在进行条带化时创建了8条条带,在需要读写数据时,若需要读取RAID组1中的所有数据时,可以通过并发访问,同时访问8块磁盘,由于实际的每块磁盘中仅存在4块条带块,在进行并行访问时仅需要4*N(N为访问条带块的时间)的时间,对应于现有技术中只能同时访问4块磁盘,需要使用8*N的时间,性能提高了100%,当然,其写速度也与现有技术相比提高了100%,其具体原理与上述读取相似,此处不再赘述。并且,磁盘中所有读写都均衡,从而消除了热点。
208、当磁盘组中的磁盘发生故障时,所述磁盘控制器将发生故障的磁盘中存储的数据重构到所述热备盘中。
具体的,如图6所示,假设有8块磁盘。每4块建立一个RAID组,每个RAID组都是一个800个条带组成的RAID5,在第1块磁盘发生故障时,传统的RAID组需要对第0块磁盘、第2块磁盘以及第3块磁盘分别读800次,而本实施例中,仅需要对第0块磁盘和第2块磁盘分别读500次,对第3块磁盘以及第7块磁盘分别读300次,对第4块磁盘和第6块磁盘分别度100次,并分别对除第1块磁盘以外的所有磁盘写一遍,从以上数据可以知道,与传统技术相比,不仅读数据扩散到更多的磁盘,同时也减少了写的总体次数。从而解决了重构过程中写数据的热点问题。
本发明实施例提供的分布式RAID的创建方法,用于可创建至少两组RAID组的磁盘组,将所述磁盘组中的每个磁盘划分为多个容量相同的磁盘块并根据预先设置的唯一的映射关系从每个磁盘中选取相应的磁盘块组合成虚拟磁盘,创建虚拟磁盘组,根据所述虚拟磁盘组创建RAID组,由于虚拟磁盘组中的虚拟磁盘由每个磁盘组中相应的磁盘块组成,使得根据虚拟磁盘创建的RAID组中条带化存储的数据分布在磁盘组中的每个磁盘块中,在并行访问RAID组中的数据时,对每块磁盘进行访问,避免了现有技术中主机的IO数据访问可能会集中在其中的一个RAID组的某一个区域,从而造成数据访问热点的问题。
如图7所示,本发明实施例提供的分布式RAID的创建装置,用于可创建至少两组RAID组的磁盘组,该装置,包括:
划分单元71,用于将所述磁盘组中的每个磁盘划分为多个容量相同的磁盘块;其具体的实现方法可以参见如图2所示的步骤101所述,此处不再赘述。
在本实施例中,如图8所示,所述划分单元,包括:
选取子单元711,用于从所述磁盘组中选取第一磁盘,所述第一磁盘为所述磁盘组中容量最小的磁盘;
设置子单元712,用于根据所述选取单元选取的第一磁盘的磁盘容量以及所述磁盘组中磁盘数设置磁盘块的容量;
划分子单元713,用于根据所述设置子单元设置的磁盘块的容量将所述磁盘组中的每个磁盘划分为多个磁盘块,磁盘块的个数为磁盘数的整数倍。
第一创建单元72,用于根据预先设置的唯一的映射关系从每个磁盘中选取相应的磁盘块组合成虚拟磁盘,创建虚拟磁盘组;其具体的实现方法可以参见如图2所示的步骤102所述,此处不再赘述。
在本实施例中,所述磁盘组包括1~n块磁盘,虚拟磁盘组包括1~n块虚拟磁盘,其中n≥4,如图9所示,所述第一创建单元,包括:
第一创建子单元721,用于从第(k%n+m+n)%n块磁盘中选取第k块磁盘块,作为第m块虚拟磁盘的第k块虚拟磁盘块。
其中,磁盘和磁盘块的块号均从0开始,0≤k≤磁盘块个数-1,0≤m≤n-1,%为取余。
第二创建单元73,用于根据所述第一创建单元创建的所述虚拟磁盘组创建RAID组;其具体的实现方法可以参见如图2所示的步骤103所述,此处不再赘述。
执行单元74,用于对所述第二创建单元创建的RAID组进行条带化,并使用条带化后的RAID组读写数据。其具体的实现方法可以参见如图2所示的步骤104所述,此处不再赘述。
在本实施例中,如图10所示,所述执行单元,包括:
条带化子单元741,用于根据所述虚拟磁盘的逻辑地址进行条带化;
读写子单元742,用于当需要读写数据时,根据所述预先设置的唯一的映射关系以及读写数据的逻辑地址获取所述虚拟磁盘的物理地址,通过所述虚拟磁盘的物理地址读写数据。
进一步的,如图11所示,所述分布式RAID的创建装置,还包括:
选取单元75,用于从所述第一创建单元创建的虚拟磁盘组中选取至少一块虚拟磁盘作为热备盘;其具体的实现方法可以参见如图3所示的步骤105所述,此处不再赘述。
重构单元76,用于当磁盘组中的磁盘发生故障时,将发生故障的磁盘中存储的数据重构到所述热备盘中。其具体的实现方法可以参见如图3所示的步骤106所述,此处不再赘述。
本发明实施例提供的分布式RAID的创建装置,用于可创建至少两组RAID组的磁盘组,将所述磁盘组中的每个磁盘划分为多个容量相同的磁盘块并根据预先设置的唯一的映射关系从每个磁盘中选取相应的磁盘块组合成虚拟磁盘,创建虚拟磁盘组,根据所述虚拟磁盘组创建RAID组,由于虚拟磁盘组中的虚拟磁盘由每个磁盘组中相应的磁盘块组成,使得根据虚拟磁盘创建的RAID组中条带化存储的数据分布在磁盘组中的每个磁盘块中,在并行访问RAID组中的数据时,对每块磁盘进行访问,避免了现有技术中主机的IO数据访问可能会集中在其中的一个RAID组的某一个区域,从而造成数据访问热点的问题。
本发明又一实施例提供的分布式RAID的创建装置,如图12所示,用于可创建至少两组RAID组的磁盘组03,包括处理器01以及存储器02,所述处理器01可以是服务器中的CPU,也可以是芯片中的Processor。其中,存储器02中存储有预先设置的唯一的映射关系,处理器01用于将磁盘组中的每个磁盘划分为多个容量相同的磁盘块;根据预先设置的唯一的映射关系从每个磁盘中选取相应的磁盘块组合成虚拟磁盘,创建虚拟磁盘组;根据所述虚拟磁盘组创建RAID组;对所述RAID组进行条带化,并使用条带化后的RAID组读写数据。
本发明实施例提供的分布式RAID的创建装置,用于可创建至少两组RAID组的磁盘组,将所述磁盘组中的每个磁盘划分为多个容量相同的磁盘块并根据预先设置的唯一的映射关系从每个磁盘中选取相应的磁盘块组合成虚拟磁盘,创建虚拟磁盘组,根据所述虚拟磁盘组创建RAID组,由于虚拟磁盘组中的虚拟磁盘由每个磁盘组中相应的磁盘块组成,使得根据虚拟磁盘创建的RAID组中条带化存储的数据分布在磁盘组中的每个磁盘块中,在并行访问RAID组中的数据时,对每块磁盘进行访问,避免了现有技术中主机的IO数据访问可能会集中在其中的一个RAID组的某一个区域,从而造成数据访问热点的问题。
本发明实施例提供的分布式RAID的创建方法及装置,能够应用于可创建至少两组RAID组的磁盘组中。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一计算机可读存储介质中,如ROM/RAM、flash、磁碟或光盘等。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (10)
1.一种分布式独立磁盘冗余阵列RAID的创建方法,其特征在于,用于可创建至少两组RAID组的磁盘组,该方法,包括:
将所述磁盘组中的每个磁盘划分为多个容量相同的磁盘块;
根据预先设置的唯一的映射关系从每个磁盘中选取相应的磁盘块组合成虚拟磁盘,创建虚拟磁盘组;
根据所述虚拟磁盘组创建RAID组;
对所述RAID组进行条带化,并使用条带化后的RAID组读写数据。
2.根据权利要求1所述的方法,其特征在于,所述将所述磁盘组中的每个磁盘划分为多个容量相同的磁盘块,包括:
从所述磁盘组中选取第一磁盘,所述第一磁盘为所述磁盘组中容量最小的磁盘;
根据所述第一磁盘的磁盘容量以及所述磁盘组中磁盘数设置磁盘块的容量;
根据设置的磁盘块的容量将所述磁盘组中的每个磁盘划分为多个磁盘块,磁盘块的个数为磁盘数的整数倍。
3.根据权利要求1或2所述的方法,其特征在于,所述磁盘组包括1~n块磁盘,虚拟磁盘组包括1~n块虚拟磁盘,其中n≥4,所述根据预先设置的唯一的映射关系从每个磁盘中选取相应的磁盘块组合成虚拟磁盘,包括:
从第(k%n+m+n)%n块磁盘中选取第k块磁盘块,作为第m块虚拟磁盘的第k块虚拟磁盘块;
其中,磁盘和磁盘块的块号均从0开始,0≤k≤磁盘块个数-1,0≤m≤n-1,%为取余。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述对所述RAID组进行条带化,并使用条带化后的RAID组读写数据,包括:
根据所述虚拟磁盘的逻辑地址进行条带化;
当需要读写数据时,根据所述预先设置的唯一的映射关系以及读写数据的逻辑地址获取所述虚拟磁盘的物理地址,通过所述虚拟磁盘的物理地址读写数据。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述根据预先设置的唯一的映射关系从每个磁盘中选取相应的磁盘块组合成虚拟磁盘,创建虚拟磁盘组之后,还包括:从所述虚拟磁盘组中选取至少一块虚拟磁盘作为热备盘;
所述方法,还包括:
当磁盘组中的磁盘发生故障时,将发生故障的磁盘中存储的数据重构到所述热备盘中。
6.一种分布式独立磁盘冗余阵列RAID的创建装置,其特征在于,用于可创建至少两组RAID组的磁盘组,该装置,包括:
划分单元,用于将所述磁盘组中的每个磁盘划分为多个容量相同的磁盘块;
第一创建单元,用于根据预先设置的唯一的映射关系从每个磁盘中选取相应的磁盘块组合成虚拟磁盘,创建虚拟磁盘组;
第二创建单元,用于根据所述第一创建单元创建的所述虚拟磁盘组创建RAID组;
执行单元,用于对所述第二创建单元创建的RAID组进行条带化,并使用条带化后的RAID组读写数据。
7.根据权利要求6所述的装置,其特征在于,所述划分单元,包括:
选取子单元,用于从所述磁盘组中选取第一磁盘,所述第一磁盘为所述磁盘组中容量最小的磁盘;
设置子单元,用于根据所述选取单元选取的第一磁盘的磁盘容量以及所述磁盘组中磁盘数设置磁盘块的容量;
划分子单元,用于根据所述设置子单元设置的磁盘块的容量将所述磁盘组中的每个磁盘划分为多个磁盘块,磁盘块的个数为磁盘数的整数倍。
8.根据权利要求6或7所述的装置,其特征在于,所述磁盘组包括1~n块磁盘,虚拟磁盘组包括1~n块虚拟磁盘,其中n≥4,所述第一创建单元,包括:
第一创建子单元,用于从第(k%n+m+n)%n块磁盘中选取第k块磁盘块,作为第m块虚拟磁盘的第k块虚拟磁盘块;
其中,磁盘和磁盘块的块号均从0开始,0≤k≤磁盘块个数-1,0≤m≤n-1,%为取余。
9.根据权利要求6-8任一项所述的装置,其特征在于,所述执行单元,包括:
条带化子单元,用于根据所述虚拟磁盘的逻辑地址进行条带化;
读写子单元,用于当需要读写数据时,根据所述预先设置的唯一的映射关系以及读写数据的逻辑地址获取所述虚拟磁盘的物理地址,通过所述虚拟磁盘的物理地址读写数据。
10.根据权利要求1-4任一项所述的方法,其特征在于,还包括:
选取单元,用于从所述第一创建单元创建的虚拟磁盘组中选取至少一块虚拟磁盘作为热备盘;
重构单元,用于当磁盘组中的磁盘发生故障时,将发生故障的磁盘中存储的数据重构到所述热备盘中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210295707.0A CN102880428B (zh) | 2012-08-20 | 2012-08-20 | 分布式独立磁盘冗余阵列的创建方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210295707.0A CN102880428B (zh) | 2012-08-20 | 2012-08-20 | 分布式独立磁盘冗余阵列的创建方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102880428A true CN102880428A (zh) | 2013-01-16 |
CN102880428B CN102880428B (zh) | 2015-09-09 |
Family
ID=47481776
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210295707.0A Active CN102880428B (zh) | 2012-08-20 | 2012-08-20 | 分布式独立磁盘冗余阵列的创建方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102880428B (zh) |
Cited By (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103207761A (zh) * | 2013-04-17 | 2013-07-17 | 浪潮(北京)电子信息产业有限公司 | 一种raid5系统热备盘的数据备份方法和重构方法 |
CN103530206A (zh) * | 2013-09-29 | 2014-01-22 | 华为技术有限公司 | 一种数据恢复的方法和设备 |
CN103617006A (zh) * | 2013-11-28 | 2014-03-05 | 曙光信息产业股份有限公司 | 存储资源的管理方法与装置 |
CN103617010A (zh) * | 2013-12-13 | 2014-03-05 | 华为技术有限公司 | 数据存储方法及存储装置 |
CN103699343A (zh) * | 2013-12-25 | 2014-04-02 | 华为技术有限公司 | 独立磁盘冗余阵列的确定方法及装置 |
CN104142872A (zh) * | 2014-08-13 | 2014-11-12 | 浪潮电子信息产业股份有限公司 | 一种raid磁盘阵列的快速重建方法 |
WO2015018065A1 (zh) * | 2013-08-09 | 2015-02-12 | 华为技术有限公司 | 一种文件处理方法、装置及存储设备 |
CN105224261A (zh) * | 2015-10-28 | 2016-01-06 | 浙江宇视科技有限公司 | 一种块虚拟化阵列的实现方法及装置 |
CN105893188A (zh) * | 2014-09-30 | 2016-08-24 | 伊姆西公司 | 用于加速磁盘阵列的数据重构的方法和装置 |
WO2016134571A1 (zh) * | 2015-02-25 | 2016-09-01 | 中兴通讯股份有限公司 | 一种基于raid的存储方法和存储装置 |
CN105975211A (zh) * | 2016-04-28 | 2016-09-28 | 浪潮(北京)电子信息产业有限公司 | 一种基于k1系统提高io性能的方法与系统 |
CN107562380A (zh) * | 2017-08-28 | 2018-01-09 | 郑州云海信息技术有限公司 | 一种raid2.0的数据块分配方法及装置 |
CN107957850A (zh) * | 2016-10-14 | 2018-04-24 | 乔鼎资讯股份有限公司 | 具虚拟区块及磁盘阵列结构的数据存储系统及其管理方法 |
CN108334280A (zh) * | 2017-12-28 | 2018-07-27 | 创新科存储技术(深圳)有限公司 | 一种raid5磁盘组快速重建方法和装置 |
CN109189331A (zh) * | 2018-08-09 | 2019-01-11 | 河北工业大学 | 一种动态数据布局方法 |
CN109324762A (zh) * | 2018-10-11 | 2019-02-12 | 郑州云海信息技术有限公司 | 一种存储系统的构建方法、装置、设备及存储介质 |
CN111427508A (zh) * | 2019-01-09 | 2020-07-17 | 深圳市茁壮网络股份有限公司 | 一种文件均衡分布方法及装置 |
CN111752748A (zh) * | 2019-03-26 | 2020-10-09 | 杭州宏杉科技股份有限公司 | 基于vraid的数据重建方法、装置、电子设备 |
CN111756828A (zh) * | 2020-06-19 | 2020-10-09 | 广东浪潮大数据研究有限公司 | 一种数据存储方法、装置及设备 |
CN113031852A (zh) * | 2019-12-25 | 2021-06-25 | 阿里巴巴集团控股有限公司 | 数据处理方法、装置、电子设备及存储介质 |
CN113590038A (zh) * | 2021-07-27 | 2021-11-02 | 联芸科技(杭州)有限公司 | 固态硬盘的管理方法和固态硬盘 |
CN115981926A (zh) * | 2023-03-20 | 2023-04-18 | 苏州浪潮智能科技有限公司 | 一种提高磁盘阵列性能的方法、装置及设备 |
CN116541419A (zh) * | 2023-07-06 | 2023-08-04 | 美云智数科技有限公司 | 数据导入导出方法、装置、电子设备及可读存储介质 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105653212B (zh) * | 2016-03-09 | 2019-07-12 | 浙江宇视科技有限公司 | 一种vd的均衡处理方法和装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1501364A (zh) * | 2002-11-18 | 2004-06-02 | 华为技术有限公司 | 一种热备盘数据迁移方法 |
US20050132134A1 (en) * | 2003-12-15 | 2005-06-16 | Hung Ming Chien | [raid storage device] |
CN101241420A (zh) * | 2008-03-20 | 2008-08-13 | 杭州华三通信技术有限公司 | 用于提高写地址非连续的数据存储效率的方法和存储设备 |
CN101387975A (zh) * | 2008-10-20 | 2009-03-18 | 中科院成都信息技术有限公司 | 一种磁盘阵列系统 |
CN101620518A (zh) * | 2009-08-21 | 2010-01-06 | 杭州华三通信技术有限公司 | 一种磁盘冗余阵列raid的创建方法及装置 |
-
2012
- 2012-08-20 CN CN201210295707.0A patent/CN102880428B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1501364A (zh) * | 2002-11-18 | 2004-06-02 | 华为技术有限公司 | 一种热备盘数据迁移方法 |
US20050132134A1 (en) * | 2003-12-15 | 2005-06-16 | Hung Ming Chien | [raid storage device] |
CN101241420A (zh) * | 2008-03-20 | 2008-08-13 | 杭州华三通信技术有限公司 | 用于提高写地址非连续的数据存储效率的方法和存储设备 |
CN101387975A (zh) * | 2008-10-20 | 2009-03-18 | 中科院成都信息技术有限公司 | 一种磁盘阵列系统 |
CN101620518A (zh) * | 2009-08-21 | 2010-01-06 | 杭州华三通信技术有限公司 | 一种磁盘冗余阵列raid的创建方法及装置 |
Cited By (39)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103207761A (zh) * | 2013-04-17 | 2013-07-17 | 浪潮(北京)电子信息产业有限公司 | 一种raid5系统热备盘的数据备份方法和重构方法 |
US9483194B2 (en) | 2013-08-09 | 2016-11-01 | Huawei Technologies Co., Ltd. | File processing method and apparatus, and storage device |
US9417806B2 (en) | 2013-08-09 | 2016-08-16 | Huawei Technologies Co., Ltd. | File processing method and apparatus, and storage device |
WO2015018065A1 (zh) * | 2013-08-09 | 2015-02-12 | 华为技术有限公司 | 一种文件处理方法、装置及存储设备 |
CN103530206B (zh) * | 2013-09-29 | 2015-12-02 | 华为技术有限公司 | 一种数据恢复的方法和设备 |
CN103530206A (zh) * | 2013-09-29 | 2014-01-22 | 华为技术有限公司 | 一种数据恢复的方法和设备 |
CN103617006A (zh) * | 2013-11-28 | 2014-03-05 | 曙光信息产业股份有限公司 | 存储资源的管理方法与装置 |
CN103617010B (zh) * | 2013-12-13 | 2016-11-23 | 华为技术有限公司 | 数据存储方法及存储装置 |
CN103617010A (zh) * | 2013-12-13 | 2014-03-05 | 华为技术有限公司 | 数据存储方法及存储装置 |
WO2015085802A1 (zh) * | 2013-12-13 | 2015-06-18 | 华为技术有限公司 | 数据存储方法及存储装置 |
CN103699343A (zh) * | 2013-12-25 | 2014-04-02 | 华为技术有限公司 | 独立磁盘冗余阵列的确定方法及装置 |
US9389790B2 (en) | 2013-12-25 | 2016-07-12 | Huawei Technologies Co., Ltd. | Method and apparatus for determining redundant array of independent disks |
EP2889751A1 (en) * | 2013-12-25 | 2015-07-01 | Huawei Technologies Co., Ltd. | Method and apparatus for determining redundant array of independent disks |
CN104142872A (zh) * | 2014-08-13 | 2014-11-12 | 浪潮电子信息产业股份有限公司 | 一种raid磁盘阵列的快速重建方法 |
CN105893188A (zh) * | 2014-09-30 | 2016-08-24 | 伊姆西公司 | 用于加速磁盘阵列的数据重构的方法和装置 |
CN105893188B (zh) * | 2014-09-30 | 2018-12-14 | 伊姆西公司 | 用于加速磁盘阵列的数据重构的方法和装置 |
US10585770B2 (en) | 2014-09-30 | 2020-03-10 | EMC IP Holding Company LLC | Method and apparatus for accelerating data reconstruction for a disk array |
WO2016134571A1 (zh) * | 2015-02-25 | 2016-09-01 | 中兴通讯股份有限公司 | 一种基于raid的存储方法和存储装置 |
CN105988727A (zh) * | 2015-02-25 | 2016-10-05 | 中兴通讯股份有限公司 | 一种基于raid的存储方法和存储装置 |
CN105988727B (zh) * | 2015-02-25 | 2021-04-16 | 中兴通讯股份有限公司 | 一种基于raid的存储方法和存储装置 |
CN105224261A (zh) * | 2015-10-28 | 2016-01-06 | 浙江宇视科技有限公司 | 一种块虚拟化阵列的实现方法及装置 |
CN105224261B (zh) * | 2015-10-28 | 2019-06-11 | 浙江宇视科技有限公司 | 一种块虚拟化阵列的实现方法及装置 |
CN105975211A (zh) * | 2016-04-28 | 2016-09-28 | 浪潮(北京)电子信息产业有限公司 | 一种基于k1系统提高io性能的方法与系统 |
CN107957850A (zh) * | 2016-10-14 | 2018-04-24 | 乔鼎资讯股份有限公司 | 具虚拟区块及磁盘阵列结构的数据存储系统及其管理方法 |
CN107562380A (zh) * | 2017-08-28 | 2018-01-09 | 郑州云海信息技术有限公司 | 一种raid2.0的数据块分配方法及装置 |
CN108334280B (zh) * | 2017-12-28 | 2021-01-08 | 深圳创新科技术有限公司 | 一种raid5磁盘组快速重建方法和装置 |
CN108334280A (zh) * | 2017-12-28 | 2018-07-27 | 创新科存储技术(深圳)有限公司 | 一种raid5磁盘组快速重建方法和装置 |
CN109189331A (zh) * | 2018-08-09 | 2019-01-11 | 河北工业大学 | 一种动态数据布局方法 |
CN109189331B (zh) * | 2018-08-09 | 2021-08-17 | 河北工业大学 | 一种动态数据布局方法 |
CN109324762A (zh) * | 2018-10-11 | 2019-02-12 | 郑州云海信息技术有限公司 | 一种存储系统的构建方法、装置、设备及存储介质 |
CN111427508A (zh) * | 2019-01-09 | 2020-07-17 | 深圳市茁壮网络股份有限公司 | 一种文件均衡分布方法及装置 |
CN111427508B (zh) * | 2019-01-09 | 2023-07-21 | 深圳市茁壮网络股份有限公司 | 一种文件均衡分布方法及装置 |
CN111752748A (zh) * | 2019-03-26 | 2020-10-09 | 杭州宏杉科技股份有限公司 | 基于vraid的数据重建方法、装置、电子设备 |
CN111752748B (zh) * | 2019-03-26 | 2024-04-26 | 杭州宏杉科技股份有限公司 | 基于vraid的数据重建方法、装置、电子设备 |
CN113031852A (zh) * | 2019-12-25 | 2021-06-25 | 阿里巴巴集团控股有限公司 | 数据处理方法、装置、电子设备及存储介质 |
CN111756828A (zh) * | 2020-06-19 | 2020-10-09 | 广东浪潮大数据研究有限公司 | 一种数据存储方法、装置及设备 |
CN113590038A (zh) * | 2021-07-27 | 2021-11-02 | 联芸科技(杭州)有限公司 | 固态硬盘的管理方法和固态硬盘 |
CN115981926A (zh) * | 2023-03-20 | 2023-04-18 | 苏州浪潮智能科技有限公司 | 一种提高磁盘阵列性能的方法、装置及设备 |
CN116541419A (zh) * | 2023-07-06 | 2023-08-04 | 美云智数科技有限公司 | 数据导入导出方法、装置、电子设备及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN102880428B (zh) | 2015-09-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102880428A (zh) | 分布式独立磁盘冗余阵列的创建方法及装置 | |
US11449226B2 (en) | Reorganizing disks and raid members to split a disk array during capacity expansion | |
CN101625627B (zh) | 写入数据的方法、磁盘冗余阵列的控制器及磁盘冗余阵列 | |
US8843782B2 (en) | Method and apparatus for reconstructing redundant array of inexpensive disks, and system | |
CN101620518B (zh) | 一种磁盘冗余阵列raid的创建方法及装置 | |
CN101984400B (zh) | 一种raid控制方法、装置及系统 | |
CN105446890A (zh) | 智能数据部署 | |
US10095585B1 (en) | Rebuilding data on flash memory in response to a storage device failure regardless of the type of storage device that fails | |
CN102326141A (zh) | Raid配置信息的处理方法及装置、raid控制器 | |
US11507287B1 (en) | Adding single disks to an array by relocating raid members | |
CN103019617A (zh) | 高效实现ssd内部raid的构建方法、数据读写方法及装置 | |
CN103699457A (zh) | 基于条带化的磁盘阵列修复方法及装置 | |
CN103823728A (zh) | 一种独立冗余磁盘阵列智能重建的方法 | |
CN101556802B (zh) | 一种raid阵列转换的方法及装置 | |
CN103645862A (zh) | 一种磁盘阵列初始化性能提升方法 | |
CN108984133B (zh) | 一种ssd中raid的实现方法 | |
CN103268202A (zh) | 一种扩容方法和设备 | |
US7133965B2 (en) | Raid storage device | |
EP2889751B1 (en) | Method and apparatus for determining redundant array of independent disks | |
CN107562377A (zh) | 一种存储系统硬盘扩容实现方法 | |
US11314608B1 (en) | Creating and distributing spare capacity of a disk array | |
CN104035886A (zh) | 磁盘重映射方法、装置及电子设备 | |
CN100403249C (zh) | 磁盘阵列及其数据存取方法 | |
US11327666B2 (en) | RAID member distribution for granular disk array growth | |
CN111897676A (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |