用于raid管理、重新分配以及重新分段的系统和方法

文档序号:6454923阅读:206来源:国知局

专利名称::用于raid管理、重新分配以及重新分段的系统和方法
技术领域
:本发明一般涉及磁盘驱动器系统和方法,尤其涉及具有动态存储块体系架构的独立冗余磁盘阵列(RAID)设备管理、重新分配、以及重新分段以供在RAID参数或磁盘配置发生改变时最优化RAID设备布局的磁盘驱动器系统和方法。
背景技术
:现有的磁盘驱动器系统是以这样的一种方式来设计的虚拟巻在物理磁盘上以在巻创建时确定的方式分布(或映射)并在虚拟巻的整个使用期保持固定。即,磁盘驱动器系统基于数据存储空间的虚拟巻的具体位置和大小固定地分配数据。如果虚拟巻证实无法满足所需数据存储用途,则现有系统需要创建新虚拟巻以及随之将先前存储数据从旧虚拟巻复制到新虚拟巻以改变巻特性。此过程是耗时并昂贵的,因为它需要双重物理磁盘驱动器空间。这些现有技术的磁盘驱动器系统需要了解、监控和控制数据存储空间的虚拟巻的精确位置和大小以便存储数据。此外,这些系统经常需要更大的数据存储空间,籍此添加更多的RAID设备。结果,不使用清空的数据存储空间,而预先获取额外的数据存储设备,例如RAID设备以供存储、读/写和/或恢复系统中的数据。附加的RAID设备是昂贵的,且在真正需要额外的数据存储空间之前并不是必需的。因此,需要改进的磁盘驱动器系统和方法,尤其需要有效的、动态的5RAID空间和时间管理系统。还需要用于使RAID管理、重新分配、以及重新分段在没有损失服务器或主机数据访问或折衷弹性(compromisedresiliency)的情况下进行的经改进的磁盘驱动器系统。发明概要本发明在一实施例中是一种在磁盘驱动器系统中进行RAID重新分段的方法。该方法包括基于至少一个评分选择用于迁移的初始RAID设备、创建替换RAID设备、将存储在初始RAID设备上的数据迁移到替换RAID设备;以及去除初始RAID设备。评分可包括初始评分、替换评分以及覆盖评分。此外,该方法可通过系统自动执行或诸如通过系统管理员手动执行。该方法可周期性地、连续性地、在每一次RAID设备迁移之后,添加磁盘驱动器之后和/或去除磁盘驱动器之前执行。本发明在另一实施例中是一种具有RAID子系统和磁盘管理器的磁盘驱动器系统。该磁盘管理器被配置成自动计算针对RAID子系统的各个RAID设备的评分、基于RAID设备的相对评分从子系统中选择RAID设备、创建替换RAID设备、将存储于所选RAID设备上的数据的一部分迁移到替换RAID设备、以及去除所选RAID设备。本发明在又一实施例中是一种磁盘驱动器系统,包括用于基于至少一个针对各个RAID设备计算的评分选择用于迁移的RAID设备的装置、用于创建至少一个替换RAID设备的装置、用于将存储于所选RAID设备上的数据移到至少一个替换RAID设备的装置、以及用于去除所选RAID设备的装置。虽然公开了多个实施例,但对本领域普通技术人员而言从示出和描述本发明各说明性实施例的以下详细描述中,本发明的其它各实施例也将变得显而易见。如可以理解地,可在各显然方面对本发明进行修改而不背离本发明的精神和范围。因此,附图和详细描述本质上被认为是说明性的而非限制性的。附图简述虽然本说明书具有被认为构成本发明的具体指出并清楚要求保护其主题的权利要求书,但是可相信从结合附图作出的以下说明中将对本发明有更好的理解,在附图中图1A是根据本发明一实施例的具有RAID配置的磁盘阵列。图ib是具有附加raid设备的图1A的磁盘阵列。图1C是在去除RAID设备之后的图IB的磁盘阵列。图2A是根据本发明另一实施例的具有RAID配置的磁盘阵列。图2B是具有附加RAID设备的图2A的磁盘阵列。图2C是在去除RAID设备并添加另一RAID设备之后的图2B的磁盘阵列。图2D是在去除又一RAID设备之后的图2C的磁盘阵列。图3A是根据本发明又一实施例的具有RAID配置的磁盘阵列。图3B是示出RAID设备的迁移的磁盘阵列。图3C是示出多个RAID设备的进一步迁移的图3B的磁盘阵列。图3D是示出多个RAID设备的再进一步迁移的图3C的磁盘阵列。图3E是新RAID配置中的图3A的磁盘阵列。图4是根据本发明一实施例的重新分段过程的流程图。图5是根据本发明一实施例的具有带不同大小RAID设备的RAID配置的磁盘阵列。详细描述本发明各实施例一般涉及磁盘驱动器系统和方法,尤其涉及实现跨一个或多个RAID设备展开的一个或多个虚拟巻的磁盘驱动器系统和方法,这些RAID设备又在磁盘驱动器组上构建。RAID设备管理、重新分配、以及重新分段("Restriping")提供用于改变与虚拟巻相关联的诸如大小、数据保护水平、相关成本、访问速度等之类的各种特性的系统和方法。此系统和方法可在磁盘配置发生改变时通过执行动作发起或自动发起。本公开内容的各实施例提供使动态存储块体系架构RAID设备重新分段的在RAID参数或磁盘配置发生改变时能最优化RAID设备布局的经改进的磁盘驱动器系统。在一实施例中,RAID设备的布局在将磁盘添加到系统时可根本上被重新平衡。通过重新平衡,虚拟化性能可在该系统内通过使用最大可用磁盘配置得到改进。重新分段还可提供将数据从磁盘组移出的能力,从而使那些磁盘能从系统中去除而不损失正常运行时间或数据保护。更进一步地,重新分段可提供改变RAID参数的能力,从而给予用户即使在数据已被写入之后也能调节性能和/或存储能力的能力。重新分段附加地可提供使重新分段能在没有损失服务器或主机数据访问或折衷弹性的情况下进行的经改进的磁盘驱动器系统和方法。在这里所述的各个实施例以多种方式改进了现有磁盘驱动器系统。在一实施例中,虚拟巻和物理磁盘驱动器空间之间的映射可在微细标度上变化。在另一实施例中,先前所存储的数据可以小单元自动迁移,且适当的映射可在无需完整复制物理资源的情况下被更新。在又一实施例中,已被映射到适当资源的虚拟巻的各个部分无需迁移,从而减少用于重新配置巻所需的时间。在再一实施例中,存储系统可自动并行地重新配置虚拟巻的全部组。此外,存储系统在发生物理资源改变时可自动重新配置虚拟巻。其他相对现有磁盘驱动器系统的各种优点将被本领域普通技术人员所理解,且不限于所列出的这些优点。此外,重新分段和磁盘分类可以是管理控制存储系统的有力工具。例如被发现来自缺陷制造批次的磁盘驱动器可被重新分类,以进行远离这些磁盘驱动器的迁移。类似地,一组驱动器可被保持在"保留"分类中,且之后可被重新分类以成为更大可用组的一部分。重新分段以加宽RAID设备可逐步纳入这些附加的保留单元。注意几个益处可通过在此所述的各实施例被理解,且先前的示例列表不是穷尽性的也不是限制性的。为在此描述各个实施例,"巻"可包括用于存储计算机数据的可外部访问容器。在一实施例中,容器可经由互连协议表示成存储块相接阵列。在另一实施例中,各个存储块可具有固定大小一传统上为512字节。但是也可使用诸如256、1024等字节之类的其他大小的存储块。通常,对任何给定位置的数据执行的辅助操作包括'写'(存储)和'读'(取回)。但是还可支持诸如'验证'之类的其他操作。用来访问巻的互连协议可与用来访问磁盘驱动器的互连协议相同。因而,在一些实施例中巻通常可与磁盘驱动器一致地显现和运行。巻传统上可被实现成磁盘驱动器的分区或阵列内磁盘驱动器的简单级联。在这里所使用的"虚拟巻"可包括可外部访问的容器以供存储从各种硬件和软件资源构造的数据,并通常可模仿传统巻的行为。特别地,包含磁盘驱动器阵列的系统可表示利用磁盘阵列的非相交部分的多个虚拟巻。在此类系统中,各个磁盘驱动器的存储资源可在阵列中聚合,且随后被划分成各个巻以供外部计算机使用。在一些实施例中,外部计算机可以是服务器、主机等。在此使用的"RAID设备"可包括磁盘分区的聚合,其提供级联并对磁盘驱动器失效提供弹性。用于级联和弹性的RAID算法是公知的,并包括诸如RAID0、RAID1、RAID0+1、RAID5、RAID10等的RAID级别。在给定磁盘阵列中,多个RAID设备可驻留于任何给定磁盘组。这些RAID设备的每一个可使用不同的RAID级别,具有不同的诸如条带大小之类的参数、可按不同顺序在各个磁盘驱动器上展开、可占据磁盘驱动器的不同子组等。RAID设备可以是可内部访问的虚拟巻。它可提供固定大小的数据存储位置的相接阵列。特定RAID参数确定RAID设备地址与磁盘驱动器上的数据存储地址之间的映射。在本公开的内容中,描述用于构造和修改来自RAID设备的可外部访问虚拟巻的系统和方法,其提供经改进的功能性。虚拟巻构造利用本公开内容的存储系统开始时可在磁盘阵列上构造具有各种特性的RAID设备组。RAID设备可被逻辑地划分成在此称为"分页"的单元,其大小可以是许多存储块。通常的分页大小可以是4,096个存储块。但是原则上可使用1个存储块以上的任何分页大小。然而,分页大小通常包括2的乘方的存储块数量。这些分页可通过虚拟巻管理软件管理。最初,来自各个RAID设备的所有分页可被标记为空闲。分页可在按需基础上被动态地分配成虚拟巻。即,分页可在确定给定地址被第一次写入时被分配。在写入之前读取的地址可被给予缺省数据值。虚拟巻管理软件可维持虚拟巻地址和RAID设备内的分页之间的映射。注意,给定虚拟巻可由来自多个RAID设备的分页构成,多个RAID设备可进一步具有不同特性。扩展用这种方式构造的虚拟巻的大小可通过增大提交给服务器的地址的范围来实现。地址到分页的映射可在先前可用和扩展后的地址范围内使用相同的写入时分配(allocate-on-write)策略继续。给定虚拟巻的性能和弹性特性可大部分根据分配到那虚拟巻的分页的聚合行为确定。分页从RAID设备和其上构建RAID设备的物理磁盘设备继承其特性。因而,在一实施例中,可进行RAID设备之间的分页迁移以便修改虚拟巻的除大小之外的特性。在这里使用的"迁移"可包括重新分配新分页、将先前所写数据从旧分页复制到新分页、更新虚拟巻映射、以及将旧分页标记为空闲。传统上不可能转换RAID设备特性(即重新映射到新RAID级别、条带大小等)以及同时在适当位置保留数据。存在数个可被修改以产生不同的虚拟巻特性的独立参数。数种情况在这里被详细描述。然而,在这里被详细描述的情况是本公开内容的各个实施例的例示而并不是限制性的。本公开内容在一些实施例中可包括所有或任一这些参数的同时修改。RAID参数修改为了说明目的,在图1A中示出包含五个磁盘102、104、106、108、IIO的磁盘阵列IOO。可以理解,可根据在此公开的各个实施例使用任意数量的磁盘,且为了描述一实施例,随机选择了示例性的五个磁盘系统。开始时,两个RAID设备,例如RAID设备A112和B114可在磁盘阵列上构建。如果有剩余空间,该剩余空间可不分配和使用。再一次,可理解可根据在此公开的各个实施例使用任意数量的RAID设备,且为了描述一实施例的目的,随机选择了示例性的两个RAID设备。多个虚拟巻可从包含于RAID设备中的分页构建。如果需要修改给定虚拟巻的特性,则附加的RAID设备可在剩余空间和适当的被迁移分页中构建,如前所述。图1B示出在创建新RAID设备,例如RAID设备C116之后的RAID配置的实施例,并示出数据从RAID设备A112的迁移。RAID设备C116可在RAID级别、条带大小、或其他RAID参数等上与RAID设备A112不同。在一些实施例中,可仅仅通过向RAID设备重新分配相同参数、但磁盘驱动器上的不同位置而可能具有改进性能。例如,磁盘驱动器的性能可从物理盘片的内部到外部地变化,并且如果所有数据被密集定位则可减少磁头寻道的时间。在完成迁移时,RAID设备A112可被删除,从而保留如图1C所示的示例RAID配置。从图1A到图1C的示例性RAID重新配置还显示移动虚拟巻的各部分的能力。即在一实施例中,不移动整个巻,而是可迁移一个或多个虚拟巻的各个部分。这是可以实现的,因为单个虚拟巻可跨多个RAID设备分配。类似地,示例配置显示移动虚拟巻组的能力,因为从一个RAID设备迁移到另一个RAID设备的分页可被分配到多个虚拟巻。添加磁盘驱动器在图2A中示出具有包含五个磁盘202、204、206、208、210的磁盘阵列200的另一实施例,其中两个附加磁盘驱动器212、214已被添加到现有配置。可以理解,根据在此公开的各个实施例可使用任意数量的磁盘,且为了描述一实施例的目的随机选择了示例性的五个磁盘系统。类似地,可以理解,可根据在此公开的各个实施例添加任意数量的磁盘,且为了描述一实施例的目的随机选择了示例性的两个附加磁盘。在一些实施例中,可期望重新配置系统并且跨所有七个磁盘展开的RAID设备。然而,可以理解经重新配置的RAID设备不需要跨所有可用磁盘展开。在其中RAID设备跨多个磁盘展开的实施例中,系统的总处理量可通过并行地利用多个硬件增加。另外,RAID设备布局限制可导致更有效地使用附加磁盘。特别地,RAID5通常可能需要最少数量的独立磁盘以便提供弹性。常遇到的RAID5实现可能需要最少五个磁盘。因而,可期望将各分页从例如RAID设备A216和B218迁移到跨所有七个磁盘的适当替换。用于重新配置的可能序列在图2B-D中示出。在此序列中,可创建更宽的RAID设备C220,且数据可从RAID设备A216迁移到RAID设备C220。然后可删除RAID设备A216并可创建RAID设备D222。RAID设备D222可用来重新定位先前包含于RAID设备B218中的数据。这样,原始磁盘驱动器上所需的唯一额外空间可以是创建RAID设备C220所需的空间。在一示例说明的实施例中,在其中没有其他RAID参数改变的情况下,RAID设备C220的各广度(extent)可以是用在构造RAID设备A216中的广度大小(即RAID设备C在5个初始驱动器+2个附加驱动器中展开)的5/7。注意,该过程完全可逆,且可用来在比如期望从图2D的示例配置中去除磁盘212和214时从系统中去除一个或多个磁盘驱动器。类似地,多个初始RAID设备可被迁移到单个RAID设备或少数RAID设备(参见例如图3C)。此外,单个初始RAID设备可被迁移到多个新RAID设备(参见例如图3B)。参考图2A到图2D所述的前面一个实施例的示例显示在未使用空间存在于原始磁盘组上时跨附加磁盘迁移数据的能力。然而在一些实施例中,可能没有足够的磁盘空间来迁移、去除RAID设备等。尽管如此,还是可能将数据迁移到附加的磁盘。在这种情况下,磁盘空间可被重新分配以提供执行移动所需的额外空间。如果RAID设备如下详细所述的替换评分高于初始评分,则可分配相同大小的永久RAID设备。可能不需要其它判定。如果RAID设备的如下详细所述的覆盖评分高于初始评分,则可使用临时空间。参考图3A到3E在具有包含四个磁盘302、304、306、308的磁盘阵列300的一实施例中详细描述此过程,其中使用多步迁移。三个磁盘310、312、314已被添加到磁盘阵列300。可以理解,可根据在此公开的各个实施例使用任意数量的磁盘,且为了描述一实施例的目的随机选择了示例性的四个磁盘系统。类似地,可以理解,可根据在此公开的各个实施例添加任意数量的磁盘,且为了描述一实施例的目的随机选择了示例性的三个附加磁盘。用于重新配置图3A所示的系统以使用阵列中所有可用的磁盘驱动器12的策略可包括创建一个或多个临时RAID设备以及使数据从例如RAID设备C320离开原始磁盘驱动器迁移到例如临时RAID设备D322和E324。临时RAID设备可用在其中原始磁盘组处于或接近容量的这些情况下。在各替换实施例中,临时空间可能不需要被分配成RAID设备,且可以任一本领域己知的方法使用以适当保持数据。类似地,虽然示出了两个临时RAID设备D322和E324,但是可以理解可利用更少或更多数量的临时RAID设备。在一实施例中,数据分级过程可管理数据在初始RAID设备与(一个或多个)临时RAID设备或者在其他情况下是(一个或多个)新的永久RAID设备之间的移动。在另外的实施例中,分段可尝试使用相同的RAID级别(如果可用的话)。在其他实施例中,分段可将数据移到不同的RAID级别。临时RAID设备的大小可取决于初始RAID设备大小以及分页池内的可用空间。临时RAID设备的大小可提供充足的空间,以使在初始RAID设备被删除时分页池可继续正常运行并且不分配更多的空间。分页池可基于分页池的大小在已配置的阈值下分配更多的空间。一旦数据已被移出RAID设备C320,它就可被删除,从而为例如RAID设备X326的跨所有磁盘驱动器的新RAID设备提供空间。删除RAID设备C320可将RAID设备C320消耗的磁盘空间归还给磁盘上的空闲空间。在这点上,磁盘管理器可将相邻空闲空间分配组合成单个更大分配以减少碎片。删除RAID设备可比先前跨更多数量磁盘创建空闲空间。具有更高评分的RAID设备可从此空闲空间片段创建。在初始RAID设备C320被删除之后,重新分段可创建替换RAID设备X326,如图3C所示。在一实施例中,替换RAID设备X326可使用尽可能多的磁盘以最大化虚拟化的益处D重新分段可尝试分配大于初始RAID设备的RAID设备。在另一实施例中,重新分段可使用替换或覆盖评分除以初始评分乘以初始RAID设备大小的计算值来进行。这可创建每个磁盘使用与之前相同的磁盘空间量,并且可减少磁盘碎片。通过明智地限制例如RAID设备A316、B318和C320的初始RAID设备的大小,有可能创建RAID设备X326以使它可保持所有来自例如RAIDB318和E324的数据,从而使该过程继续直到最终配置在图3E中实现。S卩,可创建RAID设备Y328,RAID设备A316和D322可被迁移到RAID设备Y328,并且可删除RAID设备A316和D322。如果临时RAID设备或例如RAID设备D322和E324的多个临时RAID设备被创建并标记为临时,则这些RAID设备可被标记以供去除,如图3C到3E所示。在一实施例中,作为每个循环的一部分,临时RAID设备可被去除。由于创建更大的替换RAID设备,因此所需临时空间的量可下降。再次注意,在一些实施例中,RAID设备迁移可能不需要分配临时空间以迁移或去除数据。在一重新分段实施例中,临时RAID设备的去除可使用用于迁移或去除初始RAID设备的步骤的子集,诸如数据的移动和临时RAID设备的删除。在一实施例中,如果临时RAID设备的评分超过初始RAID设备的评分,则临时RAID设备可被认为是永久RAID设备。艮P,它可不作为移动RAID设备的过程的一部分被而自动删除。在其它实施例中,临时RAID设备只有在它具有远高于初始RAID设备的评分时才可被保留。重新分段可涉及多个去除初始低评分RAID设备并用新的更高评分的RAID设备来代替它的进一步步骤。例如,重新分段可容许系统中的磁盘是满的且不具有用于另一RAID设备的空间的可能性。重新分段可在尝试重新分段RAID设备之前削减额外空间。削减额外空间可空出附加的磁盘空间并增大重新分段的成功率。在一些实施例中,重新分段可陷入死锁。例如临时空间的大小可消耗掉移动初始RAID设备所需的空间的一部分。如果因所有分页不能空出而变得不可能去除RAID设备,则RAID设备可被标记成失效,且重新分段可转换到下一可(或应当)被迁移的RAID设备。参考图4,描述了重新分段的过程400的一实施例的流程图。可以理解,图4示出一实施例,且可根据本公开内容使用各种可选实施例和过程。首先,如步骤402和404所示,重新分段可确定是否存在可(或应当)迁14移或去除等的RAID设备。在一实施例中,重新分段可检査系统内的所有RAID设备,并选择具有最低相对评分的最小RAID设备。在其他各实施例中,重新分段可选择其他RAID设备,且在此所述的重新分段不限于选择最小RAID设备和/或具有最低评分的RAID设备。然而,一般而言,如果最小RAID设备的移动迁移失效,则较大RAID设备可能也不会成功。在一实施例中,最低评分RAID设备可通过替换或覆盖评分除以初始评分确定。根据本公开内容,还存在确定最低评分RAID设备的其他各种方法,包括单独使用RAID设备的初始评分。除标识供迁移或去除的RAID设备之外,如图4所示RAID设备移动可包括多个步骤以最优化RAID配置,诸如但不限于分配临时空间(步骤406)、移动数据(步骤408)、删除原始RAID设备(步骤410)、分配新的RAID设备(步骤412)和/或删除临时RAID设备(步骤414和416)。以上的附加步骤列表是示例性的,且RAID设备移动并非必需所列步骤中的每一个,且在一些实施例中可包括进一步的或不同于那些所列出的步骤。例如在一些实施例中,可不使用临时空间,且因此可不分配临时空间。在一些实施例中,重新分段可限制RAID设备的移动。例如,为避免使系统超负荷,重新分段可能不需要完全最大化RAID设备的评分。重新分段还可标记失效的RAID设备以便于不再尝试它们。重新分段可识别新的磁盘,创建利用附加空间的新RAID设备,以及因此移动数据。在该过程结束后,用户数据和空闲空间可跨包括初始磁盘和附加磁盘的所有磁盘驱动器分布。注意,重新分段可替换RAID设备而非扩展它们。可以理解,任何给定磁盘上空闲空间的设置和用户分配可以是任意的,且图1到图3以及剩下的图5示出的安排用于说明目的。用于重新分段的RAID设备的选择在一实施例中,如前所讨论地,重新分段可处理-添加驱动器一在附加驱动器被添加到磁盘驱动器系统时,重新分段可标识使用次优数量驱动器的RAID设备。可创建新的RAID设备并可移动数据。原始RAID设备可被除去。去除驱动器一重新分段可检测磁盘驱动器何时已被标记以供去除。属于这些驱动器的RAID设备可成为去除的候选,去除可以以与添加驱动器基本类似的方式完成。RAID参数改变一诸如RAID级别、条带内的磁盘数量以及广度大小之类的RAID参数可由用户改变以改进性能。重新分段可将所需参数与初始参数进行对比,并选择非最优RAID设备以供迁移和/或去除。在一些包括具有更大、更多复杂系统的实施例中,为获得所需的最终配置应使用哪组迁移操作或者是否可能在现有资源内获得从初始配置到最终所需的配置可能不是显而易见的。在一实施例中,评分和优化技术可用来选择特定RAID设备以供去除和替换。在示例性实施例中的评分功能可采用以下特性中的一个或多个跨多个磁盘驱动器的RAID设备可以是优选的。在同类磁盘驱动器组上构建的RAID设备可以是优选的。磁盘驱动器可被分类以便支持此功能,且无需一致才属于同一分类。匹配所需最终配置的参数(RAID级别、条带大小、磁盘区域等)的RAID设备可以是优选的。在物理全异磁盘驱动器上放置冗余数据的RAID设备可以是优选的。示例可包括分开外壳内的、分开通信路径上的、或具有独立电源的磁盘驱动器。在另一实施例中,重新分段可被分成三个部分,诸如评分、检查和移动。RAID设备评分可用来基于所请求参数和可用磁盘空间确定给定RAID设备的质量。在一实施例中,评分可生成三个值。重新分段可提供初始RAID设备的评分和两个可能备选RAID设备的评分,其在此被称为替换和覆盖评分。以下描述用于一实施例的各个评分的详情评分一处于其当前状态的RAID设备的评分。在一可能实施例中,评分可以是由RAID设备使用的有较少碎片和参数问题的磁盘的数量。参见例如表l。在可选实施例中,评分可以以任何适当方式计算。替换评分一可从现有空闲空间构建的RAID设备的最大评分。替换评分可高于、低于或等于RAID设备的评分。16覆盖评分一当前RAID设备被去除时的RAID设备的最大评分。覆盖评分可高于、低于或等于RAID设备的评分。在一些实施例中,诸如在磁盘是满的情况下可能需要覆盖评分,以确定是否可使用已被当前RAID设备分配的空间来创建更佳RAID设备。关于替换和覆盖评分,在磁盘数量改变时,RAID设备的用户可访问存储块可保持相同。三种评分可提供输入参数以形成用于从较低评分RAID设备迁移到较高评分RAID设备的策略。在特定实施例中,如果替换评分高于初始评分,则类似图1和图2所述的直接迁移可以是可能的。如果覆盖评分优于初始评分,且如果充足的空闲空间可用于一个或多个临时RAID设备,则图3所示的迁移策略可以是可能的。在一实施例中,用来确定评分的因素可包括以下的一个或多个磁盘文件夹一如果RAID设备使用指定文件夹之外的磁盘,则该RAID设备的评分可被降低。此情况可由于执行动作或在节制使用期间,即其中可提供备用磁盘期间发生。磁盘类型一如果RAID设备驻留于错误类型的磁盘上,则RAID设备的评分可被降低。如果磁盘失效且适当类型的备用磁盘不可用,则此情况可能发生。在这种情况下,冗余可维持在"类型纯度",并可使用另一磁盘类型的备用磁盘。使用磁盘的数量一一般而言,较宽RAID设备(例如跨相对更多数量的磁盘驱动器的RAID设备)可以是优选的,且该RAID设备可被给予更高评分。在另一实施例中,可考虑最大宽度以便于建立更多独立的故障域。可用磁盘数量一这可用来确定RAID设备的替换和覆盖评分。在一实施例中,可对包括备用磁盘的磁盘检查充分空间以分配替换RAID设备。在其他各实施例中,备用磁盘可被包括在评分确定中。如果空间存在,则替换和覆盖评分可增加。磁盘碎片一如果有空闲磁盘空间存在于RAID设备周围,则RAID设备评分可被降低。这可以是通过迁移RAID设备可减少磁盘碎片的重新分段的指示。17RAID级别一所需RAID级别是否匹配初始RAID级别。这可包括条带内的磁盘数量。RAID广度大小一所需RAID设备的广度大小,即每个磁盘的存储块是否匹配初始RAID设备的广度大小。在一实施例中,基于RAID广度大小的确定仅可能降低RAID设备的评分。表1示出可使用的评分因素的示例实施例。如表1所示,变量可包括等级内磁盘、文件夹内磁盘、RAID级别、RAID重复因子、RAID广度大小、以及条带内RAID驱动器。如用在示例评分因子中的等级内磁盘可通过以下方程式确定-(等级内磁盘-3*等级外磁盘)*等级内磁盘常数其中等级内磁盘可以是由RAID设备使用的具有适当等级的磁盘数量,等级外磁盘可以是由RAID设备使用的不具有适当等级的磁盘数量,且等级内磁盘常数可以是乘性常数值。磁盘等级可包括但不限于15KFC、10KFC、SATA等。例如,如果假设RAID设备使用IOKFC磁盘,但包括两个SATA磁盘,则等级外磁盘的值为2。如用在示例评分因子中的文件夹内磁盘可通过以下方程式确定(文件夹内磁盘-3*文件夹外磁盘)*文件夹内磁盘常数其中文件夹内磁盘可以是由RAID设备使用的适当磁盘文件夹内的磁盘数量,文件夹外磁盘可以是由RAID设备使用的不位于适当磁盘文件夹的磁盘数量,且文件夹内磁盘常数可以是乘性常数值。磁盘文件夹可组织哪些磁盘可由RAID设备使用。磁盘可在任何时间迁移到文件夹对象之内或之外以改变它们的用途。如果磁盘是不合期望的RAID级别,则如在示例评分因子中使用的RAID级别可以是零。RAID重复因子、RAID广度大小以及条带内RAID设备可以是各自除以因子2算得的评分。可以理解,表l示出示例评分因子的一实施例和评分因子如何计算和使用的一实施例。表1中示出的示例仅用于说明目的,且不是限制性的。任何评分因子或评分因子组可与在此公开的各种实施例一起使用。此外,评分因子或评分因子组可以任何适当方式计算或使用。18表1:示例RAID评分因子<table>tableseeoriginaldocumentpage19</column></row><table>在另一实施例中,重新分段可检查RAID设备的评分以确定是否可移动任何RAID设备。重新分段可移动具有低于替换或覆盖评分的评分的RAID设备。S卩,在一实施例中,如果替换和/或覆盖评分大于初始RAID设备评分,则该RAID设备可以是移动候选。在其他实施例中,初始RAID设备可通过任何其他手段或通过用户手动选择等被选择以供迁移,其包括其中初始RAID设备评分高于替换和覆盖评分的情况。重新分段还可确定没有RAID设备应当移动。在另一实施例中,重新分段可从可用RAID设备中选出单个RAID设备来迁移。如果重新分段标识RAID设备移动,则可进行RAID设备的迁移。在一实施例中,迁移可包括确定必要的临时空间、数据从RAID设备的迁移、初始RAID设备的清除以及临时空间的消除。在另一实施例中,动态存储块体系结构分页池可使用RAID设备,并处理数据从较低得分RAID设备到较高得分RAID设备的移动。在另一实施例中,重新分段在每一次RAID设备迁移之后可进一步重新评估所有RAID设备的评分,因为磁盘空间的重新分配可改变其他RAID设备的评分。在又一实施例中,所有RAID设备的评分可被周期性地计算。在一些实施例中,重新分段可连续计算RAID设备的评分。在另一实施例中,评分中的最大值可被用来选择RAID设备以供去除和替换。磁滞机制可被用来防止过程变成循环。RAID设备评分还可处理不同大小的磁盘驱动器。图5示出具有不同大小的磁盘502、504、506、508的示例配置500。图2示出针对图5所示配置的示例RAID设备评分,其包括基于配置500的RAID设备510、512、514、516、518的评分信息。为了简化起见使用相对数量。虽然表2示出与迁移RAID设备候选有关的评分,但是表2不是限制性的且任何评分组合可导致标记供迁移或不作迁移的RAID设备。表2.RAID示例评分设备评分替换覆盖重新分段P510404否,在最大值Q512404否,在最大值R514224是,最大值的50%S516314是,最大值的75%T518222否,在最大值,较小磁盘上没有空间从上述描述和附图中,本领域普通技术人员可以理解所示出和描述的特定实施例仅用于说明目的而非旨在限制本发明的范围。本领域普通技术人员将会认识到可以有其它特定形式具体化本发明而不背离其精神或本质特征。参考特定实施例的细节不旨在限制本发明的范围。虽然己参考各优选实施例对本发明进行描述,但是本领域的技术人员将认识到可作形式或细节上的改变而不背离本发明的精神和范围。20权利要求1.一种在磁盘驱动器系统中进行RAID重新分段的方法,包括以下步骤基于针对多个RAID设备中的每一个算得的至少一个评分选择供迁移的RAID设备;创建至少一个替换RAID设备;将存储于所述所选RAID设备中的数据移到至少一个所述替换RAID设备;以及去除所述所选RAID设备。2.如权利要求1所述的方法,其特征在于,所述至少一个评分包括初始评分和替换评分,其中所述初始评分与所述RAID设备有关、而所述替换评分与位于可用磁盘空间中的至少一个第一假定RAID设备有关。3.如权利要求2所述的方法,其特征在于,所述至少一个评分进一步包括覆盖评分,其与位于可用磁盘空间和由所述RAID设备占据的磁盘空间的组合中的至少一个第二假定RAID设备有关。4.如权利要求3所述的方法,其特征在于,所述初始评分、替换评分和覆盖评分是基于包括RAID级别、RAID条带大小、RAID广度大小、磁盘分类、磁盘上的位置、磁盘盒、磁盘盒电源、以及到所述磁盘的通信路径的因子中的至少一个分别计算的。5.如权利要求4所述的方法,其特征在于,所述因子具有计算时使用的变化权重。6.如权利要求5所述的方法,其特征在于,所述初始评分、替换评分和覆盖评分分别使用所述相同因子计算。7.如权利要求4所述的方法,其特征在于,基于针对多个RAID设备的每一个计算的至少一个评分选择供迁移的RAID设备包括如果所述替换评分或覆盖评分优于所述初始评分则选择所述RAID。8.如权利要求7所述的方法,其特征在于,所述替换RAID设备基于所述第一和第二假定RAID设备中的一个。9.如权利要求1所述的方法,其特征在于,所述选择供迁移的RAID的步骤、创建至少一个替换RAID设备的步骤、移动数据的步骤以及去除所述所选RAID设备的步骤在没有手动干预的情况下自动完成10.如权利要求9所述的方法,其特征在于,所述步骤在没有损失所述磁盘驱动器系统的服务器数据访问和所述数据的折衷弹性的情况下执行。11.如权利要求9所述的方法,其特征在于,所述步骤周期性地、连续性地、在每次RAID设备迁移之后、添加磁盘驱动器后、以及去除磁盘驱动器之前的至少之一执行。12.如权利要求l所述的方法,其特征在于,选择供迁移的RAID设备的步骤、创建至少一个替换RAID设备的步骤、移动数据的步骤、以及去除所述所选RAID设备的步骤被手动完成。13.如权利要求l所述的方法,其特征在于,将存储于所述所选RAID设备中的数据移到所述至少一个替换RAID设备进一步包括创建至少一个临时RAID设备。14.如权利要求13所述的方法,其特征在于,进一步包括将存储于所述所选RAID设备中的数据移到所述至少一个临时RAID设备、然后从所述临时RAID设备移到所述至少一个替换RAID设备。15.—种磁盘驱动器系统,包括RAID子系统;以及具有至少一个磁盘存储系统控制器的磁盘管理器,所述磁盘存储系统控制器被配置成自动地计算针对所述RAID子系统的多个RAID设备的每一个RAID设备的至少一个评分;基于所述多个RAID设备的相关的至少一个评分从所述多个RAID设备中选择RAID设备;创建替换RAID设备;将存储于所述所选RAID设备中的所述数据的至少一部分迁移到所述替换RAID设备;以及去除所述所选RAID设备。16.如权利要求15所述的磁盘驱动器系统,其特征在于,所述至少一个评分包括所述RAID设备的初始评分、与第一假定RAID设备有关的替换评分、以及与第二假定RAID设备有关的覆盖评分。17.如权利要求16所述的磁盘驱动器系统,其特征在于,所述替换RAID设备基于所述第一和第二假定RAID设备中的一个。18.如权利要求5所述的磁盘驱动器系统,其特征在于,所述磁盘驱动器系统包括来自多个RAID级别中的至少一个的存储空间,所述多个RAID级别包括RAID-0、RAID-1、RAID-5禾卩RAID-10。19.如权利要求18所述的系统,其特征在于,进一步包括RAID级别,所述RAID级别包括RAID-3、RAID-4、RAID-6和RAID-7。20.—种能够进行RAID重新分段的磁盘驱动器系统,包括用于基于针对多个RAID设备中的每一个算得的至少一个评分选择供迁移的RAID设备的装置;用于创建至少一个替换RAID设备的装置;用于将存储于所述所选RAID设备中的数据移到所述至少一个替换RAID设备的装置;以及用于去除所述所选RAID设备的装置。21.—种用于重新分配数据的方法,包括确定针对数据当前位置的评分以及针对数据替换位置的评分;比较针对所述数据的所述当前位置的评分和针对所述数据的替换位置的评分;以及在针对所述数据的所述替换位置的评分优于针对所述数据的所述当前位置的评分时,将所述数据从所述当前位置移到所述替换位置。全文摘要本公开内容涉及用于RAID重新分段的系统和方法。一种方法包括基于至少一个评分选择供迁移的初始RAID设备、创建替换RAID设备、将数据从该初始RAID设备移到该替换RAID设备、以及去除该初始RAID设备。该方法可通过该系统自动执行或手动执行。该方法可周期性地、连续性地、在每次RAID设备迁移之后、添加磁盘驱动器之后和/或去除磁盘驱动器之前等执行。一种系统包括RAID子系统和磁盘管理器,该磁盘管理器被配置成自动计算每个RAID设备的评分、基于该RAID设备的相关评分选择RAID设备、创建替换RAID设备、将数据从该所选RAID设备移到该替换RAID设备、以及去除该所选RAID设备。文档编号G06F3/06GK101454745SQ200780018922公开日2009年6月10日申请日期2007年5月24日优先权日2006年5月24日发明者M·J·凯勒曼,M·J·尤托马克申请人:克姆佩棱特科技公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1