一种磁盘冗余阵列raid的创建方法及装置的制作方法

文档序号:6579648阅读:222来源:国知局

专利名称::一种磁盘冗余阵列raid的创建方法及装置的制作方法
技术领域
:本发明涉及存储
技术领域
,特别是涉及一种磁盘冗余阵列RAID的创建方法及装置。
背景技术
:RAID(RedundantArrayofInexpensiveDisks,万兹盘冗余阵列)是一种高性能、高可靠性的存储技术,通过将一系列单独的磁盘以不同的方式组合起来,为应用终端或终端集群提供逻辑上的磁盘。其中,使用RAID的优点包括扩大磁盘容量、提高磁盘读写的性能和数据的安全性。具体的,RAID技术已经广泛应用于数据存储的各种场合,长用的RAID技术包括RAIDO、RAID1、RAID5、RAID6、RAIDIO等;其中,RAID0不具有冗余能力,RA1D1并不是完全的》兹盘阵列;而RAID5、RAID6和RAIDIO分别由多块磁盘(例如,RAID5和RA1D6不少于3块,RAIDIO不少于4块)组成,各个RAID以条带的方式向阵列中的磁盘写数据,并将奇偶校验数据存放在阵列中的各个磁盘上。进一步的,RAID5的每个条带上含有1个校验位,支持任意损坏其中一块磁盘,通过其他^l盘上的奇偶校验位来重建数据;RAID6的每个条带上含有2个校验位,支摘,任意损坏其中两块磁盘,通过其他》兹盘上的奇偶校验位来恢复数据;RAIDIO是对磁盘组先进行镜像,再对磁盘进行条带,当一块磁盘损坏后通过其对应的镜像盘恢复数据,最多允许不同位置下50%的磁盘损坏。如图1所示,为一种以RAID5为例的数据存储过程,其中,RAID5阵列由3块磁盘组成,而写入RAID5的有6块数据,此时,需要将6块数据分成3个条带写入磁盘中。其中,条带P(P1、P2和P3)中的数据块是奇偶校验数据,分别由每个条带中的数据XOR算出,即P1二A十B,P2=C@D,P3=E@F;假设磁盘l损坏时,对于条带1中的数据A,可以由B0P1运算得出。现有技术中,在创建RAID时,RAID是由几个磁盘所组成的,而每个磁盘在RAID中是以独立单位存在的,在RAID创建完成后,需要对磁盘进行条带化,以保证磁盘的冗余性,在条带化过程中,要求阵列的大小必须按照最小磁盘空间大小来计算,如图2所示的条带化过程。在8个磁盘中,最小磁盘空间为300G,即在条带化时是以300G为基本单位的,以创建RAID5为例时,阵列的可用空间为300*(8-1)=2100G,其中有l个磁盘为校验位,即能够存储数据的磁盘为7个。可以看出,磁盘的有效空间利用率为2100/3卯0=53.8%。此外,也可以用容量相同的磁盘单独组成几个阵列,如图2所示的8个磁盘,可以按照500G、300G、750G三组来分别创建阵列,条带化过程如图3所示的三个阵列;三个阵列的总可用空间为300*2+500*2+750*1=2350G;可以看出,磁盘的有效空间利用率为2100/3900=60.2%。基于上面的分析,当有小容量磁盘存在时,现有技术中在创建RAID时,磁盘的有效空间利用率较低,造成大量磁盘空间的浪费。
发明内容本发明提供一种磁盘冗余阵列RAID的创建方法及装置,以在有小容量磁盘存在时,提高磁盘的有效空间利用率,节约大量的磁盘空间。为了达到上述目的,本发明提出了一种磁盘冗余阵列RAID的创建方法,用于将若干磁盘构建为RAID,所述若干磁盘中包括至少一个大容量磁盘和至少两个容量均小于前述大容量磁盘的小容量磁盘,所述方法包括以下步骤磁盘存储控制器将至少两个小容量磁盘组合成虚拟磁盘;所述磁盘存储控制器根据所述虚拟磁盘和大容量磁盘创建RAID;所述磁盘存储控制器对所述RAID进行条带化,并使用条带化后的RAID读写数据。其中,所述磁盘存储控制器将至少两个小容量磁盘组合成虛拟磁盘之后,还包括所述磁盘存储控制器在所述虚拟磁盘中记录虚拟磁盘组成信息,所述虚拟磁盘组成信息包括虚拟磁盘的盘符;逻辑地址与物理地址的映射关系;虚拟磁盘容量。其中,所述磁盘存储控制器对所述RAID进行条带化,并使用条带化后的RAID读写数据具体包括所述磁盘存储控制器根据所述虛拟磁盘的逻辑地址进行条带化;当需要读写数据时,所述磁盘存储控制器根据虛拟磁盘的逻辑地址与物理地址的映射关系,以及读写数据的逻辑地址获取所述虚拟磁盘的物理地址;所述磁盘存储控制器通过使用所述虛拟磁盘的物理地址读写数据。其中,当RAID迁移时,所述方法还包括迁移磁盘存储控制器获取磁盘的虚拟磁盘组成信息;所述迁移磁盘存储控制器根据所述虛拟磁盘组成信息判断磁盘是否为虚拟-兹盘;当磁盘是虚拟磁盘时,所述迁移磁盘存储控制器将磁盘以虛拟磁盘的方式加入到RAID中;当磁盘不是虚拟磁盘时,所述迁移磁盘存储控制器将磁盘直接加入到RAID中。其中,当磁盘是虚拟磁盘时,所述方法还包括所述迁移磁盘存储控制器根据所述虚拟磁盘组成信息判断所述虚拟磁盘是否完整;当所述虛拟磁盘不完整时,所述迁移磁盘存储控制器选择已有的磁盘加入RAID,保持RAID的部分完整,在有新磁盘加入时重建所述RAID;当所述虚拟磁盘完整但有磁盘损坏时,所述迁移磁盘存储控制器选择没有损坏的磁盘加入RAID,保持RAID的部分完整,在有新;兹盘加入时重建所述RAID。一种磁盘冗余阵列RAID的创建装置,用于将若干磁盘构建为RAID,所述若干磁盘中包括至少一个大容量磁盘和至少两个容量均小于前述大容量磁盘的小容量磁盘,所述装置包括虛拟模块,用于将至少两个小容量磁盘组合成虚拟磁盘;创建模块,用于根据所述虚拟模块组合的虚拟磁盘和大容量磁盘创建RAID;处理模块,用于对所述创建模块创建的RAID进行条带化,并使用条带化后的RAID读写数据。其中,所述虚拟模块还用于在所述虛拟;兹盘中记录虛拟磁盘组成信息,所述虚拟石兹盘组成信息包括虚拟磁盘的盘符;逻辑地址与物理地址的映射关系;虛拟磁盘容量。其中,所述处理模块具体用于根据所述虚拟磁盘的逻辑地址进行条带化;当需要读写数据时,根据虚拟磁盘的逻辑地址与物理地址的映射关系,以及读写数据的逻辑地址获取所述虚拟石兹盘的物理地址;并通过使用所述虛拟石兹盘的物理地址读写数据。其中,当RAID迁移时,所述处理模块还用于获取磁盘的虚拟石兹盘组成信息;根据所述虚拟;兹盘组成信息判断磁盘是否为虛拟磁盘;当》兹盘是虚拟石兹盘时,将磁盘以虛拟磁盘的方式力。入到RAID中;当磁盘不是虚拟磁盘时,将磁盘直接加入到RAID中。其中,当磁盘是虛拟磁盘时,所述处理模块还用于根据所述虛拟磁盘组成信息判断所述虛拟磁盘是否完整;当所述虛拟磁盘不完整时,选择已有的磁盘加入RAID,保持RAID的部分完整,在有新磁盘加入时重建所述RAID;当所述虛拟磁盘完整但有磁盘损坏时,选择没有损坏的磁盘加入RAID,保持RAID的部分完整,在有新磁盘加入时重建所述RAID。与现有技术相比,本发明具有以下优点当有不同容量的磁盘时,通过将小容量的磁盘组合到一起,形成虛拟磁盘,将该虚拟磁盘与大容量磁盘一起参加RAID的创建,增大了磁盘的有效空间利用率;而且当虛拟磁盘中不同位置的两个磁盘损坏时也不会影响整个RAID的可用性。图1为现有技术中以RAID5为例的数据存储过程示意图;图2为现有技术中条带化过程的示意图;图3为现有技术中的另一种条带化过程示意图;图4为本发明提出的一种磁盘冗余阵列RAID的创建方法流程图;图5为本发明应用场景下提出的一种磁盘冗余阵列RAID的创建方法流程图6为本发明应用场景下虚拟磁盘示意图7为本发明应用场景下将小容量磁盘虛拟成大容量磁盘的示意图;图8为本发明应用场景下创建RAID的示意图9为本发明应用场景下将虚拟地址转换为真实的物理地址的示意图10为本发明应用场景下有磁盘损坏时的处理过程示意图11为本发明提出的一种磁盘冗余阵列RAID的创建装置结构图。具体实施例方式本发明的基本思想是当组成RAID的磁盘中存在小容量磁盘时,通过将至少两个小容量磁盘虛拟成一个大容量磁盘,并将该虚拟成的大容量磁盘与其他大容量磁盘一起创建RAID,从而达到增大磁盘的有效空间利用率的目的。本发明提出的一种磁盘冗余阵列RAID的创建方法,用于将若干磁盘构建为RAID,所述若干磁盘中包括至少一个大容量磁盘和至少两个容量均小于前述大容量^f兹盘的小容量^t盘,如图4所示,所述方法包括以下步骤步骤S401,磁盘存储控制器将至少两个小容量磁盘组合成虚拟磁盘。步骤S402,所述磁盘存储控制器根据所述虛拟磁盘和大容量磁盘创建RAID。步骤S403,所述磁盘存储控制器对所述RAID进行条带化,并使用条带化后的RAID读写数据。如图5所示,以下结合一种具体的应用场景,对本发明提出的磁盘冗余阵列RAID的创建方法进行详细描述,该磁盘冗余阵列RAID的创建方法应用在当组成磁盘阵列(例如,RAID)的磁盘中存在一个或多个小容量磁盘,可以将几个石兹盘空间组成一个大容量的磁盘,并与其他大容量磁盘一起创建冗余阵列,从而达到提高磁盘有效空间利用率的目的。其中,上述磁盘冗余阵列RAID的创建方法包括以下步骤步骤S501,磁盘存储控制器将容量较小的磁盘进行组合,并虛拟成容量较大的磁盘,该虛拟后的容量较大的磁盘为虛拟磁盘。其中,在创建RAID之前,磁盘存储控制器需要将容量较小的磁盘虛拟成容量较大的磁盘;该容量较小的磁盘为磁盘存储控制器根据实际需要任意选择的,例如,当组成RAID的磁盘空间包括IOOG、200G、300G和400G时,磁盘存储控制器可以将IOOG、200G和300G均选择为容量较小的磁盘,而将400G的磁盘选择为容量较大的磁盘;又例如,当组成RAID的磁盘空间包括200G、300G、400G和600G时,磁盘存储控制器可以将200G、300G和400G均选择为容量较小的磁盘,而将600G的磁盘选择为容量较大的磁盘;当组成RAID的磁盘空间包括200G、300G、550G和600G时,石兹盘存储控制器可以将200G和300G选择为容量较小的石兹盘,而将550G和600G的磁盘选择为容量较大的磁盘。为了方便描述,在本发明中容量较小的磁盘均以小磁盘为例进行说明,容量较大的石兹盘均以大^兹盘为例进行说明。本步骤中,当组成RAID的磁盘空间包括IOOG、200G、300G和400G时,磁盘存储控制器将根据实际需要将100G和300G虛拟成400G的虚拟磁盘,并将200G和200G虚拟成400G的虛拟磁盘;对于其他的石兹盘组合,对应的虚拟情况与此类似,本发明中不再详加描述。步骤S502,磁盘存储控制器创建磁盘组成表项,并使用该磁盘组成表项记录逻辑盘符、逻辑地址与物理地址的映射关系、磁盘容量等信息。其中,磁盘存储控制器还需要在每个磁盘中划分出一部分空间来存储该磁盘组成表项中记录的信息,当该磁盘插拔到其他磁盘存储控制器时,磁盘存储控制器可以从该空间中读取到相应的虛拟磁盘信息。具体的,在磁盘存储控制器将小^i盘虛拟成虚拟磁盘之后,该逻辑盘符为虚拟后的虚拟磁盘的盘符,该逻辑地址为虛拟后的虛拟磁盘的地址,该物理地址为虛拟前的d、石兹盘的地址,该》兹盘容量为虛拟后的虚拟》兹盘的》兹盘容量。继续以图2所示的8个磁盘为例进行说明,8个磁盘分别为3个300G的磁盘,3个500G的石兹盘,和2个750G的磁盘;在步骤S501中,磁盘存储控制器将选择300G的磁盘和500G的磁盘为小磁盘,选择750G的磁盘为大磁盘;且将300G的磁盘和500G的磁盘虚拟成虛拟磁盘,如图6所示的虚拟磁盘,该虚拟磁盘将300G的磁盘和500G的磁盘组合到一起;可知,该虛拟磁盘的空间将为800G。进一步的,如图7所示,为对应图2的磁盘存储控制器将小磁盘虚拟成大磁盘(即虚拟磁盘)的示意图,其中,虛拟磁盘l、虚拟磁盘2和虚拟磁盘3均为800G的大-兹盘(虚拟后的石兹盘),以图7所示的情况来il明该》兹盘组成表项时,如表1所示。表1<table>tableseeoriginaldocumentpage11</column></row><table>从表1可以看出,虛拟》兹盘1的^兹盘容量为800G,在该800G的磁盘中,第0-300G的地址是磁盘3的地址,从第300G到第800G是磁盘1的地址,对于虛拟磁盘2和虛拟磁盘3的情况,与此类似,本发明中不再赘述。进一步的,磁盘存储控制器还需要在磁盘1-磁盘5,以及磁盘8中记录上述表1中的信息,以在将上述虛拟磁盘放到其他磁盘存储控制器时,其他磁盘存储控制器可以读取对应的信息,从而使用该虚拟磁盘。步骤S503,磁盘存储控制器创建RAID。其中,将小磁盘变成虚拟磁盘之后,可以与其他的大磁盘一起组成RAID,并将需要写入磁盘的阵列信息保存在虛拟磁盘的头石兹盘中和其他的大》兹盘中;而虛拟》兹盘的其他磁盘上不需要保存该阵列信息。继续以图2所示的8个^t盘为例时,创建的RAID如图8所示,可知,需要在磁盘3、磁盘4、磁盘5、磁盘6和磁盘7中保存对应的阵列信息,而磁盘l、磁盘2和磁盘8中不需要保存对应的阵列信息,该阵列信息为RAID的基本信息,包括但不限于RAID类型(RAID0、RAID1、RAID5等);RAID容量等;本发明中不再详加描述。需要说明的是,当图8中所示的RAID为RAID5时,可知,该RAID的可用空间为750*(5-1)=3000G,即》兹盘有效空间的利用率为3000/3900=76.9%,可见,与现有技术的53.8%和60.2%相比,通过采用本发明所提供的方法,显著提高了磁盘有效空间的利用率。步骤S504,磁盘存储控制器对RAID进行条带化。其中,由于RAID是以条带的方式向阵列中的磁盘写数据,且将奇偶校验数据存放在阵列中的磁盘上的,即在RAID创建完成后,需要对RAID进行条带化的操作。具体的,在条带化的过程中,对于虛拟磁盘,是针对逻辑地址进行条带化的,对于应用层来说,只能看到阵列的虚拟地址(即逻辑地址),对于数据的读写也是以阵列的虚拟地址为目的地址进行操作的。在实际使用的过程中,对于虛拟磁盘,磁盘存储控制器需要将该虚拟地址转换为真实的物理地址进行数据的读写操作,其中,该磁盘存储控制器是以逻辑地址与物理地址的映射关系将虛拟地址转换为真实的物理地址的;而对于大磁盘的条带化过程本发明中不再赘述;如图9所示的将虚拟地址转换为真实的物理地址的示意图;本发明中,以IOOG的空间对应IOO个条带(该数量远大于此,为了方便描述选取100为例)为例进行说明;则图8所示的RAID中,每个石兹盘将对应750个条带,当数据需要存储到第IO个条带时,对于虚拟磁盘,只能存储到逻辑地址的第IO个条带上,磁盘存储控制器在获知逻辑地址为第IO个条带时,获取对应的物理地址为磁盘3的第10个条带(对应于虚拟磁盘1)、磁盘4的第IO个条带(对应于虛拟磁盘2)、磁盘5的第IO个条带(对应于虛拟磁盘3);便将该数据存储到磁盘3、磁盘3和磁盘5的第IO个条带上;而对于大磁盘,不需要转换地址,直接将数据存储到第IO个条带上即可。进一步的,当数据需要存储到第310个条带上,磁盘存储控制器在获知逻辑地址为第310个条带时,获取对应的物理地址为磁盘1的第10个条带(对应于虚拟磁盘1)、磁盘2的第IO个条带(对应于虚拟磁盘2)、磁盘8的第IO个条带(对应于虚拟磁盘3);便将该数据存储到磁盘1、磁盘2和磁盘8的第10个条带上;而对于大磁盘,不需要转换地址,直接将数据存储到第310个条带上即可。可见,通过上述的过程,可以使用对RAID的条带化,对应的,在本发明中,还可以对表1中的内容进行扩充,将逻辑地址与物理地址的对应关系具体到条带上,如表2所示。表2<table>tableseeoriginaldocumentpage13</column></row><table>需要说明的是,在对RAID进行条带化的过程中,还需要在磁盘中确定校验位,例如,RAID5的每个条带上均需要含有1个校验位,而奇偶校验数据是由每个条带中的数据位4吏用XOR运算得出,此时,当一个磁盘发生损坏时,可以通过条带中的数据位+奇偶校验位使用XOR运算(即异或运算,用于奇偶校验,通常用符号"④"表示,其运算规则为00=0,O同O异或,结果为0;01=1,0同1异或,结果为1;1@0=1,l同O异或,结果为1;11=0,l同l异或,结果为0;AB=C<=>AC=B<=>BC=A)来还原丟失的数据,本发明中不再赘述。进一步的,对于本发明所提供的方案,当阵列发生迁移时,还包括步骤S505,迁移磁盘存储控制器获取所有磁盘虚拟信息,并根据磁盘的阵列信息创建RAID。其中,当有磁盘迁移到一个磁盘存储控制器(可以称为迁移磁盘存储控制器)下时,该迁移磁盘存储控制器将读取每个磁盘的头部信息,当该磁盘为虚拟磁盘时,该头部信息中将携带磁盘虛拟信息;当该磁盘不是虛拟磁盘时,该头部信息中将不携带磁盘虛拟信息;其中,该磁盘虛拟信息为上述步骤S502中所确定的磁盘组成表项中的信息,即磁盘存储控制器可以根据该头部信息来判断磁盘是否为虛拟磁盘,当磁盘是虚拟磁盘时,判断虛拟磁盘是否完整;例如,当图8所述的RAID发生迁移时,迁移磁盘存储控制器通过获取所有磁盘上的头部消息,可以获知磁盘3和磁盘1组成虚拟磁盘1,;兹盘4和磁盘2组成虛拟》兹盘2,磁盘5和;兹盘8组成虛拟》兹盘3,磁盘6和磁盘7不是虛拟磁盘,当获知上述信息后,迁移磁盘存储控制器获知所有的虛拟磁盘均是完整的,如果虚拟磁盘不完整时,迁移磁盘存储控制器可以根据实际需要重新创建RAID,或是暂时选择已有的磁盘加入阵列,保持部分阵列的完整,待有新;兹盘加入后再添加到阵列中从而完成重建。进一步的,如图IO所示,当虚拟磁盘时完整时,如果发现有磁盘损坏时,迁移磁盘存储控制器可以根据实际需要重新创建RAID,或是暂时选择已有的磁盘加入阵列,保持部分阵列的完整,待有新石兹盘加入后再添加到阵列中从而完成重建。在图10中,虛拟/磁盘1中的磁盘3和虚拟》兹盘2中的磁盘2同时损坏,RAID可以正常运行,当新的磁盘加入后,则可以根据阵列信息和虚拟磁盘信息进行重建。需要说明的是,迁移磁盘存储控制器是需要根据磁盘的阵列信息创建RAID的,如图IO所示,在磁盘3、磁盘4、磁盘5、磁盘6和磁盘7中是保存了阵列信息的,例如,当阵列信息中RAID类型为RAID5时,则迁移》兹盘存储控制器需要创建RAID5阵列,在此不再赘述。其中,本发明中的步骤可以根据实际的需要进行调整。本发明提出的一种磁盘冗余阵列RAID的创建装置,用于将若干磁盘构建为RAID,所述若干磁盘中包括至少一个大容量磁盘和至少两个容量均小于前述大容量磁盘的小容量磁盘,如图11所示,所述装置包括虚拟模块1101,用于将至少两个小容量磁盘组合成虚拟磁盘。其中,在将至少两个小磁盘组合成虚拟磁盘的过程中,所述虛拟模块1101还需要在所述虛拟》兹盘中记录虛拟磁盘组成信息,所述虚拟磁盘组成信息包括虚拟磁盘的盘符;逻辑地址与物理地址的映射关系;虚拟磁盘容量。创建模块1102,用于根据所述虛拟模块组合的虚拟磁盘和大容量磁盘创建RAID。处理模块1103,用于对所述创建模块创建的RAID进行条带化,并使用条带化后的RAID读写数据。其中,在对RAID进行条带化时,所述处理模块1103需要根据所述虚拟磁盘的逻辑地址进行条带化;当需要读写数据时,根据虚拟磁盘的逻辑地址与物理地址的映射关系,以及读写数据的逻辑地址获取所述虛拟磁盘的物理地址;并通过使用所述虛拟石兹盘的物理地址读写数据。进一步的,当RAID迁移时,所述处理冲莫块1103获耳又;兹盘的虚拟石兹盘组成信息;根据所述虚拟磁盘组成信息判断磁盘是否为虛拟磁盘;当磁盘是虚拟磁盘时,将磁盘以虚拟磁盘的方式加入到RAID中;当磁盘不是虛拟磁盘时,将石兹盘直4妄加入到RAID中。当磁盘是虛拟磁盘时,所述处理模块1103根据所述虚拟磁盘组成信息判断所述虚拟磁盘是否完整;当所述虛拟磁盘不完整时,选择已有的磁盘加入RAID,保持RAID的部分完整,在有新磁盘加入时重建所述RAID;当所述虚拟磁盘完整但有磁盘损坏时,选择没有损坏的磁盘加入RAID,保持RAID的部分完整,在有新磁盘加入时重建所述RAID。其中,本发明装置的各个模块可以集成于一体,也可以分离部署。上述模块可以合并为一个模块,也可以进一步拆分成多个子模块。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。上述本发明序号仅仅为了描述,不代表实施例的优劣。以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。权利要求1、一种磁盘冗余阵列RAID的创建方法,其特征在于,用于将若干磁盘构建为RAID,所述若干磁盘中包括至少一个大容量磁盘和至少两个容量均小于前述大容量磁盘的小容量磁盘,所述方法包括以下步骤磁盘存储控制器将至少两个小容量磁盘组合成虚拟磁盘;所述磁盘存储控制器根据所述虚拟磁盘和大容量磁盘创建RAID;所述磁盘存储控制器对所述RAID进行条带化,并使用条带化后的RAID读写数据。2、如权利要求l所述的方法,其特征在于,所述磁盘存储控制器将至少两个小容量-兹盘组合成虚拟磁盘之后,还包括所述磁盘存储控制器在所述虚拟磁盘中记录虛拟磁盘组成信息,所述虚拟磁盘组成信息包括虛拟磁盘的盘符;逻辑地址与物理地址的映射关系;虚拟磁盘容量。3、如权利要求1或2所述的方法,其特征在于,所述磁盘存储控制器对所述RAID进行条带化,并使用条带化后的RAID读写数据具体包括所述磁盘存储控制器才艮据所述虛拟磁盘的逻辑地址进行条带化;当需要读写数据时,所述磁盘存储控制器根据虚拟磁盘的逻辑地址与物理地址的映射关系,以及读写数据的逻辑地址获取所述虚拟磁盘的物理地址;所述^f兹盘存储控制器通过使用所述虚拟磁盘的物理地址读写数据。4、如权利要求1或2所述的方法,其特征在于,当RAID迁移时,所述方法还包括迁移磁盘存储控制器获取磁盘的虛拟磁盘组成信息;所述迁移磁盘存储控制器根据所述虛拟磁盘组成信息判断磁盘是否为虛拟磁盘;当磁盘是虛拟磁盘时,所述迁移磁盘存储控制器将磁盘以虚拟磁盘的方式加入到RAID中;当磁盘不是虛拟磁盘时,所述迁移磁盘存储控制器将磁盘直接加入到RAID中。5、如权利要求4所述的方法,其特征在于,当磁盘是虛拟磁盘时,所述方法还包括所述迁移磁盘存储控制器根据所述虚拟磁盘组成信息判断所述虛拟磁盘是否完整;当所述虚拟磁盘不完整时,所述迁移磁盘存储控制器选择已有的磁盘加入RAID,保持RAID的部分完整,在有新磁盘加入时重建所述RA1D;当所述虚拟磁盘完整但有磁盘损坏时,所述迁移磁盘存储控制器选择没有损坏的磁盘加入RAID,保持RAID的部分完整,在有新磁盘加入时重建所述RAID。6、一种磁盘冗余阵列RAID的创建装置,其特征在于,用于将若干磁盘构建为RAID,所述若干磁盘中包括至少一个大容量磁盘和至少两个容量均小于前述大容量磁盘的小容量磁盘,所述装置包括虚拟模块,用于将至少两个小容量磁盘组合成虚拟磁盘;创建模块,用于根据所述虚拟模块组合的虛拟磁盘和大容量磁盘创建RAID;处理模块,用于对所述创建模块创建的RAID进行条带化,并使用条带化后的RAID读写数据。7、如权利要求6所述的装置,其特征在于,所述虚拟模块还用于在所述虚拟》兹盘中记录虚拟石兹盘组成信息,所述虚拟石兹盘组成信息包括虚拟磁盘的盘符;逻辑地址与物理地址的映射关系;虚拟磁盘容量。8、如权利要求6或7所述的装置,其特征在于,所述处理模块具体用于根据所述虚拟磁盘的逻辑地址进行条带化;当需要读写数据时,根据虛拟磁盘的逻辑地址与物理地址的映射关系,以及读写数据的逻辑地址获取所述虚拟磁盘的物理地址;并通过使用所述虚拟磁盘的物理地址读写数据。9、如权利要求6或7所述的装置,其特征在于,当RAID迁移时,所述处理模块还用于获取磁盘的虚拟磁盘组成信息;根据所述虚拟磁盘组成信息判断磁盘是否为虚拟不兹盘;当磁盘是虚拟石兹盘时,将磁盘以虚拟磁盘的方式力。入到RAID中;当磁盘不是虛拟磁盘时,将磁盘直接加入到RAID中。10、如权利要求9所述的装置,其特征在于,当磁盘是虚拟磁盘时,所述处理模块还用于根据所述虚拟磁盘组成信息判断所述虛拟磁盘是否完整;当所述虚拟磁盘不完整时,选择已有的磁盘加入RAID,保持RAID的部分完整,在有新磁盘加入时重建所述RAID;当所述虚拟》兹盘完整但有石兹盘损坏时,选择没有损坏的磁盘加入RAID,保持RAID的部分完整,在有新磁盘加入时重建所述RAID。全文摘要本发明公开了一种磁盘冗余阵列RAID的创建方法,包括磁盘存储控制器将至少两个小容量磁盘组合成虚拟磁盘;所述磁盘存储控制器根据所述虚拟磁盘和大容量磁盘创建RAID;所述磁盘存储控制器对所述RAID进行条带化,并使用条带化后的RAID读写数据。本发明中,当有不同容量的磁盘时,通过将小容量的磁盘组合到一起,形成虚拟磁盘,将该虚拟磁盘与大容量磁盘一起参加RAID的创建,增大了磁盘的有效空间利用率;而且当虚拟磁盘中不同位置的两个磁盘损坏时也不会影响整个RAID的可用性。文档编号G06F3/06GK101620518SQ200910162999公开日2010年1月6日申请日期2009年8月21日优先权日2009年8月21日发明者策孙申请人:杭州华三通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1