首页> 中国专利> 用于RAID管理、重新分配以及重新分段的系统和方法

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

摘要

本公开内容涉及用于RAID重新分段的系统和方法。一种方法包括:基于至少一个评分选择供迁移的初始RAID设备、创建替换RAID设备、将数据从该初始RAID设备移到该替换RAID设备、以及去除该初始RAID设备。该方法可通过该系统自动执行或手动执行。该方法可周期性地、连续性地、在每次RAID设备迁移之后、添加磁盘驱动器之后和/或去除磁盘驱动器之前等执行。一种系统包括RAID子系统和磁盘管理器,该磁盘管理器被配置成自动计算每个RAID设备的评分、基于该RAID设备的相关评分选择RAID设备、创建替换RAID设备、将数据从该所选RAID设备移到该替换RAID设备、以及去除该所选RAID设备。

著录项

  • 公开/公告号CN102880424A

    专利类型发明专利

  • 公开/公告日2013-01-16

    原文格式PDF

  • 申请/专利权人 克姆佩棱特科技公司;

    申请/专利号CN201210251454.7

  • 发明设计人 M·J·凯勒曼;M·J·尤托马克;

    申请日2007-05-24

  • 分类号G06F3/06(20060101);

  • 代理机构31100 上海专利商标事务所有限公司;

  • 代理人高见

  • 地址 美国明尼苏达州

  • 入库时间 2024-02-19 17:08:41

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2016-05-25

    专利权的转移 IPC(主分类):G06F3/06 登记生效日:20160506 变更前: 变更后: 申请日:20070524

    专利申请权、专利权的转移

  • 2015-10-28

    授权

    授权

  • 2013-02-27

    实质审查的生效 IPC(主分类):G06F3/06 申请日:20070524

    实质审查的生效

  • 2013-01-16

    公开

    公开

说明书

本申请是PCT国际申请号为PCT/US2007/069669、国际申请日为2007 年5月24日、中国国家申请号为200780018922.3、题为“用于RAID管理、 重新分配以及重新分段的系统和方法”的申请的分案申请。

相关申请的交叉引用

本申请要求2006年5月24日提交的美国临时专利申请S/N 60/808,045 的优先权,其通过引用完全结合于此。

发明领域

本发明一般涉及磁盘驱动器系统和方法,尤其涉及具有动态存储块体 系架构的独立冗余磁盘阵列(RAID)设备管理、重新分配、以及重新分段 以供在RAID参数或磁盘配置发生改变时最优化RAID设备布局的磁盘驱 动器系统和方法。

发明背景

现有的磁盘驱动器系统是以这样的一种方式来设计的:虚拟卷在物理 磁盘上以在卷创建时确定的方式分布(或映射)并在虚拟卷的整个使用期 保持固定。即,磁盘驱动器系统基于数据存储空间的虚拟卷的具体位置和 大小固定地分配数据。如果虚拟卷证实无法满足所需数据存储用途,则现 有系统需要创建新虚拟卷以及随之将先前存储数据从旧虚拟卷复制到新虚 拟卷以改变卷特性。此过程是耗时并昂贵的,因为它需要双重物理磁盘驱 动器空间。

这些现有技术的磁盘驱动器系统需要了解、监控和控制数据存储空间 的虚拟卷的精确位置和大小以便存储数据。此外,这些系统经常需要更大 的数据存储空间,籍此添加更多的RAID设备。结果,不使用清空的数据 存储空间,而预先获取额外的数据存储设备,例如RAID设备以供存储、 读/写和/或恢复系统中的数据。附加的RAID设备是昂贵的,且在真正需要 额外的数据存储空间之前并不是必需的。

因此,需要改进的磁盘驱动器系统和方法,尤其需要有效的、动态的 RAID空间和时间管理系统。还需要用于使RAID管理、重新分配、以及重 新分段在没有损失服务器或主机数据访问或折衷弹性(compromised  resiliency)的情况下进行的经改进的磁盘驱动器系统。

发明概要

本发明在一实施例中是一种在磁盘驱动器系统中进行RAID重新分段 的方法。该方法包括:基于至少一个评分选择用于迁移的初始RAID设备、 创建替换RAID设备、将存储在初始RAID设备上的数据迁移到替换RAID 设备;以及去除初始RAID设备。评分可包括初始评分、替换评分以及覆 盖评分。此外,该方法可通过系统自动执行或诸如通过系统管理员手动执 行。该方法可周期性地、连续性地、在每一次RAID设备迁移之后,添加 磁盘驱动器之后和/或去除磁盘驱动器之前执行。

本发明在另一实施例中是一种具有RAID子系统和磁盘管理器的磁盘 驱动器系统。该磁盘管理器被配置成:自动计算针对RAID子系统的各个 RAID设备的评分、基于RAID设备的相对评分从子系统中选择RAID设备、 创建替换RAID设备、将存储于所选RAID设备上的数据的一部分迁移到 替换RAID设备、以及去除所选RAID设备。

本发明在又一实施例中是一种磁盘驱动器系统,包括:用于基于至少 一个针对各个RAID设备计算的评分选择用于迁移的RAID设备的装置、 用于创建至少一个替换RAID设备的装置、用于将存储于所选RAID设备 上的数据移到至少一个替换RAID设备的装置、以及用于去除所选RAID 设备的装置。

虽然公开了多个实施例,但对本领域普通技术人员而言从示出和描述 本发明各说明性实施例的以下详细描述中,本发明的其它各实施例也将变 得显而易见。如可以理解地,可在各显然方面对本发明进行修改而不背离 本发明的精神和范围。因此,附图和详细描述本质上被认为是说明性的而 非限制性的。

附图简述

虽然本说明书具有被认为构成本发明的具体指出并清楚要求保护其主 题的权利要求书,但是可相信从结合附图作出的以下说明中将对本发明有 更好的理解,在附图中:

图1A是根据本发明一实施例的具有RAID配置的磁盘阵列。

图1B是具有附加RAID设备的图1A的磁盘阵列。

图1C是在去除RAID设备之后的图1B的磁盘阵列。

图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算法是公知的,并包括 诸如RAID 0、RAID 1、RAID 0+1、RAID 5、RAID 10等的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、 110的磁盘阵列100。可以理解,可根据在此公开的各个实施例使用任意数 量的磁盘,且为了描述一实施例,随机选择了示例性的五个磁盘系统。开 始时,两个RAID设备,例如RAID设备A 112和B 114可在磁盘阵列上构 建。如果有剩余空间,该剩余空间可不分配和使用。再一次,可理解可根 据在此公开的各个实施例使用任意数量的RAID设备,且为了描述一实施 例的目的,随机选择了示例性的两个RAID设备。多个虚拟卷可从包含于 RAID设备中的分页构建。如果需要修改给定虚拟卷的特性,则附加的RAID 设备可在剩余空间和适当的被迁移分页中构建,如前所述。

图1B示出在创建新RAID设备,例如RAID设备C 116之后的RAID 配置的实施例,并示出数据从RAID设备A 112的迁移。RAID设备C 116 可在RAID级别、条带大小、或其他RAID参数等上与RAID设备A 112 不同。在一些实施例中,可仅仅通过向RAID设备重新分配相同参数、但 磁盘驱动器上的不同位置而可能具有改进性能。例如,磁盘驱动器的性能 可从物理盘片的内部到外部地变化,并且如果所有数据被密集定位则可减 少磁头寻道的时间。

在完成迁移时,RAID设备A 112可被删除,从而保留如图1C所示的 示例RAID配置。

从图1A到图1C的示例性RAID重新配置还显示移动虚拟卷的各部分 的能力。即在一实施例中,不移动整个卷,而是可迁移一个或多个虚拟卷 的各个部分。这是可以实现的,因为单个虚拟卷可跨多个RAID设备分配。 类似地,示例配置显示移动虚拟卷组的能力,因为从一个RAID设备迁移 到另一个RAID设备的分页可被分配到多个虚拟卷。

添加磁盘驱动器

在图2A中示出具有包含五个磁盘202、204、206、208、210的磁盘阵 列200的另一实施例,其中两个附加磁盘驱动器212、214已被添加到现有 配置。可以理解,根据在此公开的各个实施例可使用任意数量的磁盘,且 为了描述一实施例的目的随机选择了示例性的五个磁盘系统。类似地,可 以理解,可根据在此公开的各个实施例添加任意数量的磁盘,且为了描述 一实施例的目的随机选择了示例性的两个附加磁盘。在一些实施例中,可 期望重新配置系统并且跨所有七个磁盘展开的RAID设备。然而,可以理 解经重新配置的RAID设备不需要跨所有可用磁盘展开。在其中RAID设 备跨多个磁盘展开的实施例中,系统的总处理量可通过并行地利用多个硬 件增加。另外,RAID设备布局限制可导致更有效地使用附加磁盘。特别地, RAID 5通常可能需要最少数量的独立磁盘以便提供弹性。常遇到的RAID 5 实现可能需要最少五个磁盘。因而,可期望将各分页从例如RAID设备A 216 和B 218迁移到跨所有七个磁盘的适当替换。用于重新配置的可能序列在 图2B-D中示出。

在此序列中,可创建更宽的RAID设备C 220,且数据可从RAID设备 A 216迁移到RAID设备C 220。然后可删除RAID设备A 216并可创建RAID 设备D 222。RAID设备D 222可用来重新定位先前包含于RAID设备B 218 中的数据。

这样,原始磁盘驱动器上所需的唯一额外空间可以是创建RAID设备C 220所需的空间。在一示例说明的实施例中,在其中没有其他RAID参数改 变的情况下,RAID设备C 220的各广度(extent)可以是用在构造RAID 设备A 216中的广度大小(即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所示的系统以使用阵列中所有可用的磁盘驱动器 的策略可包括创建一个或多个临时RAID设备以及使数据从例如RAID设 备C 320离开原始磁盘驱动器迁移到例如临时RAID设备D 322和E 324。 临时RAID设备可用在其中原始磁盘组处于或接近容量的这些情况下。在 各替换实施例中,临时空间可能不需要被分配成RAID设备,且可以任一 本领域已知的方法使用以适当保持数据。类似地,虽然示出了两个临时 RAID设备D 322和E 324,但是可以理解可利用更少或更多数量的临时 RAID设备。

在一实施例中,数据分级过程可管理数据在初始RAID设备与(一个 或多个)临时RAID设备或者在其他情况下是(一个或多个)新的永久RAID 设备之间的移动。在另外的实施例中,分段可尝试使用相同的RAID级别 (如果可用的话)。在其他实施例中,分段可将数据移到不同的RAID级 别。

临时RAID设备的大小可取决于初始RAID设备大小以及分页池内的 可用空间。临时RAID设备的大小可提供充足的空间,以使在初始RAID 设备被删除时分页池可继续正常运行并且不分配更多的空间。分页池可基 于分页池的大小在已配置的阈值下分配更多的空间。

一旦数据已被移出RAID设备C 320,它就可被删除,从而为例如RAID 设备X 326的跨所有磁盘驱动器的新RAID设备提供空间。删除RAID设 备C 320可将RAID设备C 320消耗的磁盘空间归还给磁盘上的空闲空间。 在这点上,磁盘管理器可将相邻空闲空间分配组合成单个更大分配以减少 碎片。删除RAID设备可比先前跨更多数量磁盘创建空闲空间。具有更高 评分的RAID设备可从此空闲空间片段创建。

在初始RAID设备C 320被删除之后,重新分段可创建替换RAID设 备X 326,如图3C所示。在一实施例中,替换RAID设备X 326可使用尽 可能多的磁盘以最大化虚拟化的益处。重新分段可尝试分配大于初始RAID 设备的RAID设备。在另一实施例中,重新分段可使用替换或覆盖评分除 以初始评分乘以初始RAID设备大小的计算值来进行。这可创建每个磁盘 使用与之前相同的磁盘空间量,并且可减少磁盘碎片。

通过明智地限制例如RAID设备A 316、B 318和C 320的初始RAID 设备的大小,有可能创建RAID设备X 326以使它可保持所有来自例如 RAID B 318和E 324的数据,从而使该过程继续直到最终配置在图3E中 实现。即,可创建RAID设备Y 328,RAID设备A 316和D 322可被迁移 到RAID设备Y 328,并且可删除RAID设备A 316和D 322。

如果临时RAID设备或例如RAID设备D 322和E 324的多个临时 RAID设备被创建并标记为临时,则这些RAID设备可被标记以供去除,如 图3C到3E所示。在一实施例中,作为每个循环的一部分,临时RAID设 备可被去除。由于创建更大的替换RAID设备,因此所需临时空间的量可 下降。再次注意,在一些实施例中,RAID设备迁移可能不需要分配临时空 间以迁移或去除数据。

在一重新分段实施例中,临时RAID设备的去除可使用用于迁移或去除初 始RAID设备的步骤的子集,诸如数据的移动和临时RAID设备的删除。

在一实施例中,如果临时RAID设备的评分超过初始RAID设备的评 分,则临时RAID设备可被认为是永久RAID设备。

即,它可不作为移动RAID设备的过程的一部分被而自动删除。在其 它实施例中,临时RAID设备只有在它具有远高于初始RAID设备的评分 时才可被保留。

重新分段可涉及多个去除初始低评分RAID设备并用新的更高评分的 RAID设备来代替它的进一步步骤。例如,重新分段可容许系统中的磁盘是 满的且不具有用于另一RAID设备的空间的可能性。重新分段可在尝试重 新分段RAID设备之前削减额外空间。削减额外空间可空出附加的磁盘空 间并增大重新分段的成功率。

在一些实施例中,重新分段可陷入死锁。例如临时空间的大小可消耗 掉移动初始RAID设备所需的空间的一部分。如果因所有分页不能空出而 变得不可能去除RAID设备,则RAID设备可被标记成失效,且重新分段 可转换到下一可(或应当)被迁移的RAID设备。

参考图4,描述了重新分段的过程400的一实施例的流程图。可以理 解,图4示出一实施例,且可根据本公开内容使用各种可选实施例和过程。 首先,如步骤402和404所示,重新分段可确定是否存在可(或应当)迁 移或去除等的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设备使用的有较少碎片和参数问题的磁盘的数量。参 见例如表1。在可选实施例中,评分可以以任何适当方式计算。

·替换评分-可从现有空闲空间构建的RAID设备的最大评分。替 换评分可高于、低于或等于RAID设备的评分。

·覆盖评分-当前RAID设备被去除时的RAID设备的最大评分。 覆盖评分可高于、低于或等于RAID设备的评分。在一些实施例中,诸如 在磁盘是满的情况下可能需要覆盖评分,以确定是否可使用已被当前RAID 设备分配的空间来创建更佳RAID设备。

关于替换和覆盖评分,在磁盘数量改变时,RAID设备的用户可访问存 储块可保持相同。三种评分可提供输入参数以形成用于从较低评分RAID 设备迁移到较高评分RAID设备的策略。在特定实施例中,如果替换评分 高于初始评分,则类似图1和图2所述的直接迁移可以是可能的。如果覆 盖评分优于初始评分,且如果充足的空闲空间可用于一个或多个临时RAID 设备,则图3所示的迁移策略可以是可能的。

在一实施例中,用来确定评分的因素可包括以下的一个或多个:

·磁盘文件夹-如果RAID设备使用指定文件夹之外的磁盘,则 该RAID设备的评分可被降低。此情况可由于执行动作或在节制使用期间, 即其中可提供备用磁盘期间发生。

·磁盘类型-如果RAID设备驻留于错误类型的磁盘上,则RAID 设备的评分可被降低。如果磁盘失效且适当类型的备用磁盘不可用,则此 情况可能发生。在这种情况下,冗余可维持在“类型纯度”,并可使用另 一磁盘类型的备用磁盘。

·使用磁盘的数量-一般而言,较宽RAID设备(例如跨相对更 多数量的磁盘驱动器的RAID设备)可以是优选的,且该RAID设备可被 给予更高评分。在另一实施例中,可考虑最大宽度以便于建立更多独立的 故障域。

·可用磁盘数量-这可用来确定RAID设备的替换和覆盖评分。 在一实施例中,可对包括备用磁盘的磁盘检查充分空间以分配替换RAID 设备。在其他各实施例中,备用磁盘可被包括在评分确定中。如果空间存 在,则替换和覆盖评分可增加。

·磁盘碎片-如果有空闲磁盘空间存在于RAID设备周围,则 RAID设备评分可被降低。这可以是通过迁移RAID设备可减少磁盘碎片的 重新分段的指示。

·RAID级别-所需RAID级别是否匹配初始RAID级别。这可 包括条带内的磁盘数量。

·RAID广度大小-所需RAID设备的广度大小,即每个磁盘的 存储块是否匹配初始RAID设备的广度大小。在一实施例中,基于RAID 广度大小的确定仅可能降低RAID设备的评分。

表1示出可使用的评分因素的示例实施例。如表1所示,变量可包括 等级内磁盘、文件夹内磁盘、RAID级别、RAID重复因子、RAID广度大 小、以及条带内RAID驱动器。如用在示例评分因子中的等级内磁盘可通 过以下方程式确定:

(等级内磁盘-3*等级外磁盘)*等级内磁盘常数

其中等级内磁盘可以是由RAID设备使用的具有适当等级的磁盘数量, 等级外磁盘可以是由RAID设备使用的不具有适当等级的磁盘数量,且等 级内磁盘常数可以是乘性常数值。磁盘等级可包括但不限于15K FC、10K FC、SATA等。例如,如果假设RAID设备使用10K FC磁盘,但包括两个 SATA磁盘,则等级外磁盘的值为2。如用在示例评分因子中的文件夹内磁 盘可通过以下方程式确定:

(文件夹内磁盘-3*文件夹外磁盘)*文件夹内磁盘常数

其中文件夹内磁盘可以是由RAID设备使用的适当磁盘文件夹内的磁 盘数量,文件夹外磁盘可以是由RAID设备使用的不位于适当磁盘文件夹 的磁盘数量,且文件夹内磁盘常数可以是乘性常数值。磁盘文件夹可组织 哪些磁盘可由RAID设备使用。磁盘可在任何时间迁移到文件夹对象之内 或之外以改变它们的用途。如果磁盘是不合期望的RAID级别,则如在示 例评分因子中使用的RAID级别可以是零。RAID重复因子、RAID广度大 小以及条带内RAID设备可以是各自除以因子2算得的评分。可以理解, 表1示出示例评分因子的一实施例和评分因子如何计算和使用的一实施例。

表1中示出的示例仅用于说明目的,且不是限制性的。任何评分因子或评 分因子组可与在此公开的各种实施例一起使用。此外,评分因子或评分因 子组可以任何适当方式计算或使用。

表1:示例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设备评分还可处理不同大小的磁盘驱动器。图5示出具有不同大 小的磁盘502、504、506、508的示例配置500。图2示出针对图5所示配 置的示例RAID设备评分,其包括基于配置500的RAID设备510、512、 514、516、518的评分信息。为了简化起见使用相对数量。虽然表2示出 与迁移RAID设备候选有关的评分,但是表2不是限制性的且任何评分组 合可导致标记供迁移或不作迁移的RAID设备。

表2.RAID示例评分

从上述描述和附图中,本领域普通技术人员可以理解所示出和描述的 特定实施例仅用于说明目的而非旨在限制本发明的范围。本领域普通技术 人员将会认识到可以有其它特定形式具体化本发明而不背离其精神或本质 特征。参考特定实施例的细节不旨在限制本发明的范围。

虽然已参考各优选实施例对本发明进行描述,但是本领域的技术人员 将认识到可作形式或细节上的改变而不背离本发明的精神和范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号