用于并发raid阵列重定位的装置的制作方法

文档序号:6453882阅读:165来源:国知局
专利名称:用于并发raid阵列重定位的装置的制作方法
技术领域
本发明涉及阵列化存储设备,并且特别涉及在维持对系统的整个数据 集的并发I/O访问的同时将RAID阵列从一个物理位置和/或系统动态地重 定位到另 一物理位置和/或系统。
背景技术
现在,计算机系统继续经历比任何时候都更显著的在处理能力和总体 系统性能上的改进。然而,随着计算能力随着时间已增长了几个数量级, 一般来说I/0吞吐量已未能跟上。由IBM⑧发明的、已帮助缩小了系统性 能与I/O等待时间之间的所述差距的技术是独立磁盘冗余阵列(RAID)技 术,其也被称为廉价磁盘冗余阵列。
阵列是指派给一个组的相关硬盘驱动器模块的排列。存在多种版本的 RAID,但一般地,RAID是硬盘驱动器模块的冗余阵列。典型RAID系统 包括多个硬盘驱动器,其被配置为在所述多个驱动器之间共享和/或复制数 据。多个物理设备封套(enclosure)可以被安装,其中,每个物理设备封 套封装多个例如硬盘驱动器的联接的物理设备。
在所述石更盘驱动器的最初引入时,存储设备被认为是物理设备方面的。 小型系统可以包括可能具有多个碟片的单一驱动器。大型系统可以包括通 过一个或更多控制器^皮联接的多个驱动器,例如DASD (直接访问存储设 备)链。DASD是一种磁盘存储形式,其历史上被用于大型机和小型机(中 等的)环境中。RAID是一种DASD形式。直接访问是指所有数据可以以 与基于顺序搜遍数据的存储系统(例如磁带驱动器)相反的索引(也称为 随机访问)的形式^L直接访问。
随着对存储空间的需求超过存储成本的速度,基于RAID存储系统的 逻辑设备的概念被发明。逻辑设备或逻辑驱动器是被映射为看起来像单一 逻辑设备的独立物理设备的阵列。由此,所述逻辑设备对于宿主计算机而 言看起来像单一 的本地硬盘驱动器。
最初,RAID系统的关键优点是组合使用较老技术的多个低成4uf更盘 驱动器的能力,其提供当与使用最新技术的单 一设备相比时增长了的速度、 容量和/或可靠性。由于该原因,RAID中的'T最初被理解为意味着廉价, 并且该理解在许多情况下仍然成立,例如在其中IDE/ATA (集成驱动器电 子技术/高级技术联接)磁盘被使用的情况下。
然而,廉价的IDE/ATARAID系统一般使用单一 RAID控制器,其引 入对于所述RAID系统的单点故障。更通常地,SCSI (小型计算机系统接 口 )硬盘被用于使用多个多通道SCSI或光纤通道RAID控制器的任务关 键的RAID计算,其中,重点械J改在每个独立RAID控制器的独立性和容 错性上。这样,所述阵列中的每个物理设备可以与其它物理设备独立地祐: 访问。SCSI RAID系统具有这样的附加好处每个RAID控制器上的用于 处理数据访问的专用处理器,其緩解宿主计算机处理器以便当需要时实施 其它任务。
取决于所使用的RAID的版本,RAID的好处可以是I/O吞吐量、存 储容量、容错性、数据完整性或其任意组合。随着现在的业务成功越来越 依赖于数据的快速传输和处理,RAID提供用于满足现在的业务关键计算 的需求的行业标准平台,其是在实现面向需求、事务的应用时非常有效的 一种技术。
最初的RAID规范建议了许多原型RAID级别或存储设备的可变组合 和配置。每个级别都具有理论上的优点和缺点。多年来,RAID概念的不 同实现已出现。多数概念基本上不同于最初设想的RAID级别,但已编号 的名称仍祐:保持。
RAID级别0或RAID 0(也称为条带化集合)是RAID的最简单形式。 RAID 0跨两个或更多磁盘均匀地拆分数据来创建单一的、更大的设备,
其中不带任何用于冗余的奇偶信息。RAIDO不提供冗余。RAID0仅提供 增长了的容量,但可以被配置为还提供增长了的性能和吞吐量。RAID 0 是RAID存储的最成本高效的形式,然而,给定RAID 0集合的可靠性等 于(i-zy)",其中,Pf是一个磁盘的故障率,以及n是阵列中的磁盘的数量。 即,可靠性随磁盘数量的增长指数地下降。
在RAID 1配置中,也称为镜像,每个设备被镜像到第二设备上。RAID 1系统的焦点在于不牺牲性能情况下的可靠性和恢复。对一个i殳备的每次 写在另 一个上被复制。由于所安装的物理设备的数量必须是RAID 0配置 中的可用空间的量的双倍,所以RAID l是最昂贵的RAID级别。当独立 RAID控制器被实现时,RAID1系统提供完全的冗余。
RAID 2在位级(bit-level)使数据条带化,并且使用Hamming (汉明) 码进行错误纠正。磁盘由RAID控制器同步以便协力地运行。RAID 3使 用具有专用奇偶磁盘的字节级(byte-level)条带化。RAID 3的副作用之 一是多个请求一般不能被同时服务。
RAID 4使用具有专用奇偶磁盘的块级(block-level)条带化。除了条 带在块级而非字节级之外,RAID 4看起来类似于RAID 3。 RAID 5使用 具有跨所有成员磁盘分布的奇偶数据的块级条带化。RAID 5是最流行的 RAID级别之一 ,并且在硬件和软件实现中都被频繁使用。
RAID 6经由添加另外的奇偶块来扩展RAID 5,由此,RAID 6使用 具有跨所有成员磁盘分布的两个奇偶块的块级条带化。RAID 6不是最初 RAID级别中的一个。RAID6提供对于双倍磁盘故障和当单一磁盘在重建 时的故障的保护。
RAID控制器可以允许RAID级别纟皮嵌套。取代于物理设备的阵列, 嵌套RAID系统可以使用RAID设备的阵列。换句话说,嵌套RAID阵列 是物理设备的逻辑上链接的阵列,其中,所述物理设备农次逻辑上链接为 单一逻辑设备。嵌套RAID通常通过将指示RAID级别的号码连接成单一 号码来表示,其中,所迷号码之间有时有加号。
RAID 0+1是用于在磁盘之间复制和共享数据的条带的镜像。除了所
嵌套RAID级别的顺序被颠倒之外,RAID 1+0或RAID 10类似于RAID 0+1: RAID 10是镜像的条带。RAID 50将RAID 5的具有分布式奇偶的块 级条带化与RAID 0的直接块级条带化结合。此即跨RAID 5单元被条带 化的RAIDO阵列。
企业RAID系统可以包括主机适配器、多个多通道RAID控制器、每 个都包括多个存^^i殳备的多个存^^i殳备封套以及系统封套,其中,所述系 统封套可以包括风扇、电源和其它容错特征。RAID可以或者用专用硬件 或者用运行在标准硬件上的定制软件来实现。另外,存在这样的混合RAID 系统,其是部分上基于软件并且部分上基于硬件的解决方案。
RAID系统可以提供可热交换的驱动器以及某种级别的驱动器管理工 具。热交换允许系统用户在不关闭总线或更坏情况下不关闭驱动器所联接 到的系统的情况下移除和替换出故障的驱动器。通过使用使能了热交换的 系统,驱动器可以通过开关的翻转或把手的旋动被移除,其在不中断RAID 系统的情况下安全地将驱动器从总线拆离。
RAID阵列和逻辑配置在系统中被创建的方式以及设备故障和维护活 动的影响随着时间可以导致逻辑设备的物理位置迁移到不同的物理i殳备封 套。由于所述行为,不仅可能而还非常可能,包括RAID阵列的逻辑设备 的存储设备的物理位置随着时间可以从其初始位置移开。
在RAID存储系统中,RAID控制器控制逻辑上链接的物理设备之间 的逻辑关系。只要所述RAID控制器保持到所述逻辑上链接的物理设备的 访问,逻辑设备的物理位置就相对独立于所述RAID控制器的位置。
在DASD系统中,物理设备可以由被设计为允许所述物理设备的分布 式配置的通信协议所互连。由此,物理设备可以被联接到物理设备的统一 模块化分组中,从而所述配置可以通过添加另外的物理设备封套和DASD 而递增地增长。
除了为系统用户提供用于向该系统添加另外的物理设备封套和DASD 的直接方法外,另外的好处来自这一已添加的能力移除和重定位当前联 接到该系统的已联接物理设备封套和DASD。
系统用户可能希望向新系统添加存储容量,其中,现有系统包括与所
述新系统兼容的未用/可用存储。不同于购买物理设备封套和DASD的另外 增加的基础设施,开发和提供一种用于从现有系统移除物理设备封套和 DASD的现有基础设施以及将所述物理设备封套和DASD重定位到所迷新 系统的方法将是有利的。
当前,持续可用性是许多用户对其DASD存储系统的期望。考虑所述 连续可用性期望,显而易见,需要一种用于组织RAID阵列设备及其物理 位置的并发方法来提供移除离散封套实体和任何关联的DASD以用于向另 一系统的重定位的能力。
目前,当设备从RAID系统被移除时,该系统即刻被置入已降^Mt式 中。当RAID系统带有一个或更多已故障或缺失驱动器而运行时,该RAID 系统被说成是正在以已降^M莫式运行。如果剩余合作驱动器的一个出故障, 则数据可用性不被中断,但所述RAID系统将接受故障。由此, 一种用于 重定位物理设备封套和DASD的现有基础设施的方法将避免以已降级模式 运行所述RAID系统,维持对整个数据集合的并发I/0访问,以及为任务 关键的系统应用提供不被中断的可用性。

发明内容
相应地,本发明在第一方面中提供一种用于并发地重定位RAID阵列 的装置,所述装置包括识别模块,其被配置为识别阵列化存储设备中的 物理设备对于卸载重定位封套的源驱动器的可用性;耦合到所述识别才莫块 的指定模块,所述指定模块被配置为将可用物理设备指定为目标驱动器; 以及耦合到所述指定模块的实现模块,所述实现模块被配置为实现所述目 标驱动器与所述源驱动器之间的镜像关系。
所述装置可以进一步包括耦合到所述识别模块的搜索模块,所述搜索 模块被配置为在供者阵列化存储设备中的多个物理设备中搜索对于卸载所 述重定位封套的源驱动器的可用性,以及在多个可用物理设备中搜索与所 述源驱动器的最佳匹配。
所述装置可以进一步包括耦合到所述识别模块的选择模块,所述选择 模块被配置为在供者阵列化存储设备中的多个物理设备中选择多个可用物 理设备,以及在所述多个可用物理设备中选择与所述源驱动器的最佳匹配。
所述装置可以进一步包括耦合到所述实现模块的复制模块,所述复制 ^t块被配置为将所述源驱动器的全部数据内容复制到所述目标驱动器。
所述装置可以进一步包括耦合到所述实现模块的更新模块,所述更新
才莫块被配置为与所述复制模块的复制过程并发地将对所述源驱动器的更 新与所述目标驱动器同步。
所述装置可以进一步包括集成模块,所述集成模块被配置为响应于 所述复制模块用信号通知所述源驱动器的全部数据内容^L镜像到所述目标 驱动器上,将所述目标驱动器集成为所述供者阵列化存储设备的完全阵列 成员。
所述装置可以进一步包括转换模块,所述转换模块被配置为响应于 所述复制模块用信号通知所述源驱动器的全部数据内容被镜像到所述目标 驱动器上,将所述源驱动器转换到自由态。
所述装置可以进一步包括通知模块,所述通知模块被配置为,通知系 统用户所述重定位封套可用于移除。
所述装置可以进一步包括确定模块,所述确定模块被配置为,确定阵 列化存储设备是否包含指定大小和类型的封套。
本发明在第二方面中提供一种用于并发地重定位RAID阵列的系统, 所述系统包括宿主计算机,其被配置为接合多个阵列化存储设备;从耦 合到所述宿主计算机的所述多个阵列化存储设备中选出的供者阵列化存储 设备,其中,所述供者阵列化存储设备被配置为提供重定位封套;从耦合 到所述宿主计算机的所述多个阵列化存储设备中选出的受者阵列化存储设 备,其中,所述受者阵列化存储设备被配置为接收重定位封套;以及耦合 到所述供者阵列化存储设备的重定位装置,所述重定位装置被配置为处理 关联于重定位过程的操作。
优选地,所述重定位装置包括识别模块,其被配置为识别阵列化存
储设备中的物理设备对于卸栽重定位封套的源驱动器的可用性;耦合到所
述识别模块的指定模块,所述指定模块被配置为将可用物理设备指定为目
标;以及耦合到所述指定模块的实现模块,所述实现模块被配置为实现所
述目标驱动器与所述源驱动器之间的镜像关系。
优选地,所述磁性数据存储设备包括阵列化存储控制器,其中,所述
阵列化存储控制器被配置为控制阵列化存储设备的运转。
在第三方面中,提供了一种计算机程序,所述计算机程序包括当被加
载到计算机系统中并且在其上被执行时用于导致所述计算机系统实施用于
并发地重定位RAID阵列的操作的计算机程序代码,其中,所述操作包括 识别供者阵列化存储设备中的物理设备对于卸载重定位封套的源驱动
器的可用性;
将可用物理设备指定为目标驱动器;以及
实现所述目标驱动器与所述源驱动器之间的镜像关系。
由此可以提供一种信号承载媒体,所述信号承载媒体有形地包含可被
数字处理装置执行以实施用于并发地重定位RAID阵列的操作的机器可读
指令程序,其中,所述操作包括
识别供者阵列化存储设备中的物理设备对于卸载重定位封套的源驱动
器的可用性;
将可用物理i殳备指定为目标驱动器;以及
实现所述目标驱动器与所述源驱动器之间的镜像关系。
优选地,所述操作进一步包括在所述供者阵列化存储设备中的多个
物理设备中搜索对于卸载重定位封套的源驱动器的可用性,以及在多个可
用物理设备中搜索与所述源驱动器的最佳匹配。
优选地,所述操作进一步包括在所述供者阵列化存储设备中的多个
物理设备中选择一个或更多可用物理设备,以及在所述可用物理设备中选
择与所述源驱动器的最佳匹配。
优选地,所述操作进一步包括,将所述源驱动器的全部数据内容复制
到所述目标驱动器。
优选地,所述操作进一步包括,与所述复制模块的复制过程并发地将 对所述源驱动器的更新与所述目标驱动器同步。
优选地,所述操作进一步包括,响应于所述复制模块用信号通知所述 源驱动器的全部数据内容^皮镜像到所述目标驱动器上,将所述目标驱动器 集成为所述供者阵列化存储设备的完全阵列成员。
优选地,所述操作进一步包括,响应于所述复制^^莫块用信号通知所述 源驱动器的全部数据内容4皮镜像到所述目标驱动器上,将所述源驱动器转 换到自由态。
优选地,所述操作进一步包括,通知系统用户所述重定位封套可用于 移除。
域中还未被当前可用的RAID阵列重定位方法完全解决的问题和需求被开 发。相应地,本发明还被开发为提供一种克服了上面讨论的许多或全部的 本领域的缺点的、用于并发RAID阵列重定位的装置、系统和方法。
所述用于重定位RAID阵列的装置配备了包含多个模块的逻辑单元, 其中,所述多个模块被配置为功能上执行对于与其它任务和操作并发的 RAID阵列的非中断性重定位必要的操作。在所描述的实施例中,这些模 块包括识别模块、指定模块和实现模块。进一步的实施例包括搜索模块、 选择模块、复制纟莫块、更新模块、集成模块、转换模块和通知模块。
所述识别模块将联接到阵列化存储设备的物理设备识别为可用于卸载 联接到供者阵列化存储设备的源驱动器的数据内容。所述识别模块包括搜 索模块和选择模块。
在一个实施例中,所述识别模块可以识别连接到支持封套的移除的存 储系统的阵列化存储设备。所述识别模块因而可以将阵列化存储设备识别 为所述供者阵列化存储设备的候选。另外,所述识别模块可以将联接到所 述供者阵列化存储设备的封套识别为所述重定位封套的候选。
所述搜索模块搜索与联接到所述重定位封套的物理设备的最佳匹配, 以便从联接到所述重定位封套的所述物理设备向联接到另 一封套的物理设
备卸栽所有已存储数据的镜像副本。在一个实施例中,所述搜索模块可以 根据优选重定位封套的特征对阵列化存储设备搜索指定大小和类型的封 套。
所述选择模块选择用于从联接到所述重定位封套的物理设备向联接到 另 一封套的物理设备卸载所有已存储数据的镜像副本的最佳匹配。在一个 实施例中,所述选择模块可以选择阵列化存储设备,从而搜索支持所联接 的封套的移除的阵列化存储设备。
所述指定模块将与联接到重定位封套的物理设备的最佳匹配指定为目 标驱动器。所述指定模块还可以将联接到所述重定位封套的物理设备指定 为源驱动器。由此,所述指定模块指定链接到目标驱动器的源驱动器的配 对。
所述实现才莫块实现源驱动器与目标驱动器之间的镜〗象关系。所述实现 模块包括从所述源驱动器向所述目标驱动器复制数据的复制模块,以及与 所述复制模块并发地在所述源驱动器与所述目标驱动器之间同步更新的更 新模块。
所述复制模块从源驱动器向目标驱动器复制所有已存储数据的镜像图 像。在一个实施例中,所述复制模块与运行在所述供者阵列化存储设备上 的其它任务并发地从所述源驱动器向所述目标驱动器复制所述数据,由此 维持对所有已存储数据的访问和对任务关键的应用的可用性。
贯穿所述复制过程,所述更新模块将向所述源驱动器发出的任何更新 与所述目标驱动器同步。由此,贯穿所述复制过程,对所述源驱动器的更 新被并发地同步到所述目标驱动器。在一个实施例中,所述更新模块同时 向所述源驱动器和所述目标驱动器传递更新。
所述集成模块将目标器驱动器集成为完全RAID阵列成员。由此,所 述目标驱动器当来自所述源驱动器的新数据被复制和存储时被集成。所述 集成模块可以从所述复制模块接收指示所述复制过程被完成的信号。所述 复制模块可以另外向所述转换模块用信号发送所述复制过程的完成。相应 地,所述实现模块然后可以移除所述源驱动器与所述目标驱动器之间的镜
像关系。
所迷转换模块将所述源驱动器转换到自由态。 一旦所述转换模块转换 了联接到所述重定位封套的每个源驱动器,所述转换模块然后可以用信号
通知所述通知模块所有源驱动器被释放为自由态,以及所有目标驱动器 被转换为完全RAID阵列成员。
所述通知;f莫块通知系统用户所述重定位封套的自由态状态。在某些实 施例中,所述通知才莫块通知系统用户所述复制过程已成功完成,并且所 述重定位封套目前对于从所述供者阵列化存储设备移除是安全的。所述系 统用户然后自由地从所述供者阵列化存储设备移除和重定位所述重定位封 套,以及在所述受者阵列化存储设备中安装所述重定位封套。
所述确定才莫块确定阵列化存储设备是否包含指定大小和类型的封套。 在一个实施例中,所述确定模块确定由系统用户指定的针对重定位的指定 封套的特征。在其它实施例中,所述确定模块确定由宿主计算机或某个其 它自治进程指定的针对重定位的指定封套的特征。
本发明的系统还呈现为用于与其它任务和操作并行地、不中断地重定 位RAID阵列。所述系统可以在阵列存储控制器中实现,其中,所述阵列 存储控制器被配置为执行RAID阵列重定位进程。
特别地,在一个实施例中,所述系统可以包括被配置为接合多个阵 列化存储设备的宿主计算机;从耦合到所述宿主计算机的所述多个阵列化 存储设备中选出的供者阵列化存储设备,其中,所述供者阵列化存储设备 被配置为提供重定位封套;以及从耦合到所述宿主计算机的所述多个阵列 化存储设备中选出的受者阵列化存储设备,其中,所述受者阵列化存储设 备被配置为接收重定位封套。
所述系统还包括耦合到所述供者阵列化存储设备的重定位装置,其中, 所述重定位装置净皮配置为与其它任务和操作并行地处理关联于用于重定位 RAID阵列的重定位过程的操作。所述系统还可以包括阵列化存储控制器, 其中,所述阵列化存储控制器被配置为控制阵列化存储设备的运转。
在进一步的实施例中,所述系统可以包括重定位封套,其中,所述重
定位封套^皮配置为用于从所述供者阵列化存储设备的移除和向所述受者阵 列化存储设备的重定位。
信号承栽媒体也被呈现,其用于存储程序,其中,所述程序当被执行
时实施用于并行地重定位RAID阵列的操作。在一个实施例中,所述操作 包括识别供者阵列化存储设备中的物理设备对于卸载重定位封套的源驱 动器的可用性;将可用物理设备指定为目标驱动器,以及由此将所述目标 驱动器和所述源驱动器指定为链接的对;以及,实现所述目标驱动器与所 述源驱动器之间的镜像关系。
在另一实施例中,所述操作可以包括在所述供者阵列化存储设备中 的多个物理设备中搜索对于卸载重定位封套的源驱动器的可用性,以及在 多个可用物理设备中搜索与所述源驱动器的最佳匹配;从所述供者阵列化 存储设备中的多个物理设备中选出一个或更多可用物理设备,以及从所述 可用物理设备中选出与所述源驱动器的最佳匹配;将所述源驱动器的所有 数据内容复制到所述目标驱动器;以及,与所述复制模块的复制过程并行 地将对所述源驱动器的更新与所述目标驱动器同步。
在进一步的实施例中,所述操作可以包括响应于所述复制;漠块用信 号通知所述源驱动器的全部数据内容被镜〗象到所述目标驱动器上,将所述 目标驱动器集成为所述供者阵列化存储i殳备的完全阵列成员;响应于所述 复制模块用信号通知所述源驱动器的全部数据内容被镜像到所述目标驱动 器上,将所述源驱动器转换到自由态;以及,通知系统用户所述重定位封 套可用于移除。
贯穿本说明书,对特征、优点或类似术语的引用并不暗示可以通过 本发明实现的所有特征和优点应当在或者就是在本发明的任意单一实施例 中。相反,涉及所述特征和优点的术语被理解为是指结合实施例描述的 特定特征、优点或特性被包括在本发明的至少一个实施例中。由此,贯穿 本说明书,对所迷特征和优点以及类似术语的讨论可以但不必要涉及同一 实施例。
另外,所描述的本发明的特征、优点和特性可以以任意合适的方式并
入一个或更多实施例中。相关领域的技术人员将认识到,本发明可以在不
具有特定实施例的一个或更多特定特征或优点的情况下^L实现。在其它实 例中,在本发明的所有实施例中可以未出现的某些实施例中,另外的特征 和优点可以被认出。
本发明的这些特征和优点从以下描述和所附权利要求中将变得更显而 易见,或者可以从以下阐明的本发明的实现中习得。


本发明的优选实施例现在将仅作为示例结合附图被描述,其中
图l是示出存储系统的一个实施例的示意性框图2是示出阵列化存^i更备的一个实施例的示意性框图3是示出重定位装置的一个实施例的示意性框图4是示出供者阵列化存储设备的一个实施例的示意性框图;以及
图5A、 5B和5C是示出重定位方法的一个实施例的示意性流程图。
具体实施例方式
本说明书中描述的许多功能单元已被标记为模块,以便更特别地强调 其实现独立性。例如,模块可以被实现为硬件电路,其中,所述硬件电路 包括定制VLSI电路或门阵列、例如逻辑芯片、晶体管或其它离散部件的 现用半导体。模块还可以用可编程硬件设备实现,其中,所述可编程硬件
设备例如是现场可编程门阵列、可编程阵列逻辑、可编程逻辑设备等。
模块还可以用软件实现,其中,所述软件用于被各种类型的处理器执 行。可执行代码的已标识模块例如可以包括计算机指令的一个或更多物理 或逻辑块,其中,所述块例如可以被组织为对象、过程或函数。然而,已 标识模块的可执行指令不需要被物理上放在一起,而可以包括存储在不同 位置的全异的指令,其中,所述指令当被逻辑上连接在一起时包括所述才莫 块并且达到针对该;漠块所声明的目的。
实际上,可执行代码的模块可以是单个指令或许多指令,并且甚至可
以跨几个不同的代码段分布、分布在不同程序中以及跨几个存储器设备分 布。类似地,操作数据这里可以在才莫块中被标识和示出,并且可以以任何 合适的形式被包含,以及被组织在任何合适类型的数据结构中。所述操作 数据可以被收集为单个数据集,或者可以跨不同位置(包括跨不同存储i殳 备)分布,并且可以至少部分上仅作为系统或网络上的电子信号存在。
图1示出了存储系统100的一个实施例的示意框图。存储系统100存 储数据和任务关键应用,并且提供系统用户接口。所示的存储系统100包 括宿主计算机102、多个阵列化存储设备104、供者(donor)阵列化存储 设备106、受者(recipient)阵列化存储设备108和网络112。存储系统100 可以根据宿主计算机102的接口操作来揍合系统用户和存储资源。存储系 统100可以自治地检测何时系统部件被添加或移除。在一个实施例中,存 储系统100可以包括两个或更多宿主计算机102。
宿主计算机102管理系统用户与存储系统100的#:作系统之间的接口 。 每个宿主计算机102可以是大型计算机。可替换地,宿主计算机102可以 是使用多种操作系统中的一个的服务器、个人计算机和/或笔记本电脑。宿 主计算机102经由存储区域网络(SAN)或类似网络112连接到多个阵列 化存储设备104。
阵列化存储设备104封装了多个物理设备110,其中,所述多个物理 设备110可配置为逻辑上链接的设备。系统用户可以经由宿主计算机102 将阵列化存储设备104配置为包括一个或更多RAID级别配置。在多个阵 列化存储设备104中可以有供者阵列化存储设备106和受者阵列化存储i殳 备108。对阵列化存储设备104的更深入描述参考图2被包括。
在一个实施例中,供者阵列化存储设备106可以选择物理设备110的 已封装集合,其中,物理设备110的所述已封装集合然后根据用于重定位 物理设备110的已封装集合的预定义操作而被重定位到受者阵列化存储设 备108。对供者阵列化存储设备106的更深入描述参考图4被包括。
网络112可以例如基于存储区域网络(SAN)传送传统的块I/O。网 络112还可以例如基于传输控制协议/因特网协议(TCP/IP)网络或类似
通信协议传送文件1/0。可替换地,宿主计算机102可以经由底板或系统
总线直接连接到多个阵列化存^^:备i04。在一个实施例中,存储系统ioo
包括两个或更多网络112。
在一个实施例中,网络112可以使用小型计算机系统接口 (SCSI)、 串行联接的SCSI (SAS)、因特网小型计算机系统接口 (iSCSI)、串行 高级技术附件(SATA )、集成驱动器电子技术/高级技术联接(IDE/ATA )、 通用因特网文件系统(CIFS)、网络文件系统(NFS/NetWFS)、传输控 制协议/因特网协议(TCP/IP)、光纤连接(FICON)、企业系统连接 (ESCON)或任意类似接口来实现。
图2示出了可以基本上类似于图1的阵列化存储i殳备104的阵列化存 储设备200的一个实施例。阵列化存储设备200包括阵列存储控制器202 和多个封套204。阵列化存储设备200可以提供多个连接来联接类似于 IBM TotalStorage DS8000和DS6000系列的大容量存储系统的封套204。 阵列化存储设备200与封套204之间的连接可以是例如总线或底板的物理 连接,或者可以是网^f匕的连接。
阵列存储控制器202控制对联接到阵列化存储设备200的物理设备 110的I/O访问。阵列存储控制器202通过网络112与宿主计算机102通 信。阵列存储控制器202可以被配置为用作宿主计算机102与阵列化存储 设备200的部件之间的通信接口。阵列存储控制器202包括存储器设备 208。在一个实施例中,阵列化存储i殳备200包括多个阵列存储控制器202。
当宿主计算才几102发送命令以写或访问阵列化存储设备200中的逻辑 设备上的数据时,阵列存储控制器202可以接收该命令,并且确定所述数 据将怎样在所述逻辑设备上被写和访问。在一个实施例中,阵列存储控制 器202是组装了集成电路和一个或更多存储器设备208的小型电路板。阵 列存储控制器202可以被集成到阵列化存储设备200中。在另 一实施例中, 阵列存储控制器202可以独立于阵列化存储设备200。
存储器设备208可以充当用于增加阵列化存储设备200的I/O性能的 緩冲器(未示出),以及存储被设计用于阵列化存储设备200的运转的微
码。所述緩冲器或高速緩存用于保存从阵列化存储设备200的最近读取的 结果,以及用于预取在不久的将来有较大机会被请求的数据。存储器设备 208可以包括一个或更多非易失性半导体设备,例如闪速存储器、静态随 机存取存储器(SRAM)、非易失性随机存取存储器(NVRAM)、电可 擦除可编程只读存储器(EEPROM)、可擦除可编程只读存储器 (EPROM) 、 NAND/AND、 NOR、分裂位线NOR (DINOR)或任何其 它类似的存储器设备。存储器设备208包括被设计用于阵列化存储设备200 操作的固件210。
固件210可以被存储在非易失性半导体或其它类型的存储器设备上。 阵列化存储控制器202的许多操作经由固件210的执行被确定。固件210 包括重定位装置212。 一般地,重定位装置212可以在阵列化存储设备200 上实现RAID阵列重定位过程。重定位装置212的一个示例参考图3被示 出和更详细描述。
封套204封装多个物理设备110。在一个实施例中,封套204可以包 括连接在DASD链中的多个硬盘驱动器。在另一实施例中,封套204可以 包括多个磁带存储子系统。由此,封套204封装可以被链接以构成一个或 更多逻辑设备的物理设备110的已分组集合。
图3示出了可以基本上类似于图1的供者阵列化存储设备106的供者 阵列化存储设备300的一个实施例。与参考图2对阵列化存^i殳备加0的 描述一样,对供者阵列化存储i殳备300的描述是用于示出重定位过程的功 能的目的,并且同样不可以示出包括在供者阵列化存储设备300中的部件 的完整集合。
供者阵列化存储i殳备300提供RAID阵列以用于移除和向存储系统 100中的另一阵列化存储设备200或向另一系统的重定位。供者阵列化存 储设备300包括多个封套302和从所述多个封套302中选出的重定位封套 304。封套302可以基本上类似于图2的封套204。
如之前描述的,封套302是多个物理设备110可以联接到的已封装空 间。封套302包括存储阵列306。在一个实施例中,封套302是自包含的
可移除存储室。封套302可以是可热交换或可热插入的。由此,封套302 可以在不对存储系统100断电的情况下被添加或移除。另外,存储系统100 可以自治地检测封套302何时被添加或移除。
存储阵列306可以包括多个联接的物理设备310,例如多个dasd(直 接访问存储设备)硬盘驱动器。在一个实施例中,存储阵列306包括多个 光纤信道磁盘驱动器,其中,所迷光纤信道磁盘驱动器^l配置为基于高速 光纤信道进行通信。存储阵列306包括多个物理设备310和/或目标驱动器 314。目标驱动器314是物理设备310,并且是联接到封套302的所述多个 物理设备310的子集。目标驱动器314被选择用于从联接到重定位封套304 的物理设备310卸载数据。
在进一步的实施例中,存储阵列306可以是可热交换的,其允许系统 用户在不关闭封套302所联接到的总线或存储系统100的情况下移除封套 302和/或存储阵列306以及替换出故障的物理设备310。
在其它实施例中,存储阵列306可以包括多个固态存储器设备、多个 磁带存储或任意其它类似的存,体。存储阵列306可以提供到与每个物 理设备310的连接槽的单独访问,其允许单独物理设备310的可热交换的 移除或添加。
存储阵列306用列a至p的单行十六个联接的物理设备310示出(为 了说明目的,其^l^示为[列行)。所述列指定联接到存储阵列306的 物理设备310的跨度。物理设备310被示为单一行,因此,该行指定联接 到一个阵列化存储设备200的封套302的跨度。例如,[a:1物理设备310 位于列"a,,和第一封套302上的行't,中,以及[a:Rel物理设备310位 于列"a,,和相对于重定位封套304所驻留于其中的行的行中。列和行的 指定用于说明目的,并且可以在大小和配置上改变。
重定位封套304被根据重定位过程的操作从联接到供者阵列化存储设 备300的多个封套302中选出。重定位封套304包括重定位存储阵列308。 当封套302被发现匹配针对重定位封套304指定的特征时,该选定封套302 净皮指定为重定位封套304,并且所联接的存储阵列306因而^^皮指定为重定
位存储阵列306。重定位封套304所联接到的阵列化存储设备200因而可 以被指定为供者阵列化存储设备300。
重定位封套304被选择用于卸载存储在联接到重定位封套304的存储 阵列306上的所有存储的数据。联接到重定位存储阵列308的物理设备310 可以被指定为源驱动器312。重定位存储阵列308包括多个源驱动器312, 其中,所述多个源驱动器312存储被分布到联接到其它封套302的其它物 理设备310的数据。
重定位存储阵列308包括多个源驱动器312。源驱动器312是联接到 重定位封套304的物理设备310。源驱动器312包括^C卸载到目标驱动器 314的数据。存储在联接到重定位封套304的源驱动器312上的数据可以 被分布到联接到另 一封套302的目标驱动器314。在一个实施例中,所述 数据被重分布到当前联接到供者阵列化存储设备300的多个其它封套302 中。
匹配联接到重定位存储阵列308的源驱动器312的特征的、联接到其 它封套302的物理设备310因而可以被链接,并且所存储的数据被分布, 以及物理设备310因而可以被指定为目标驱动器314。由此,联接到重定 位封套304的多个源驱动器312卸载所有存储的数据,以及, 一个或更多 源驱动器312根据关联RAID级别中的最佳匹配和源驱动器312的其它特 征^C匹配到一个或更多目标驱动器314。
在某些实施例中,存储在联接到重定位存储阵列308的源驱动器312 上的数据被分布到联接到一个或更多其它封套302的一个或更多目标驱动 器314。在其它实施例中,存储在联接到重定位存储阵列308的多个源驱 动器312上的数据被分布到包含在一个或更多其它封套302中的一个或更 多其它目标驱动器314。在进一步的实施例中,存储在源驱动器312上的 数据的分布可以经由网络112被分布到另一阵列化存储设备200上的封套 302的目标驱动器314。
例如,如图3中所示,存储在[A:Rel]源驱动器312上的数据可以净皮分 布到[A:1目标驱动器314。在某些实施例中,存储在[B:Rel源驱动器312
上的数据可以除[P:N目标驱动器314之外还被分布到[A:1目标驱动器 314。图3中所示然后跳到重定位存储阵列308的列"O",在此处,存储 在[O:Rel]源驱动器312上的数据可以被分布到P:1目标驱动器314,以及 存储在[P:Rel源驱动器312上的数据可以,皮分布到[O:Nl目标驱动器314。 图4示出了可以基本上类似于图2的重定位装置212的重定位装置400 的一个实施例的示意框图。重定位装置400实现了用于在为任务关键的系 统应用提供不中断可用性的同时将RAID阵列从一个位置重定位到另 一个 的重定位过程。重定位装置400可以结合图2的阵列化存條没备200来实 现。
由重定位装置400重定位RAID阵列的过程提供了 一种用于在所述重
定位过程期间维持对所有系统数据的并发i/o访问的方法。由此,重定位
装置400的操作允许系统用户在避免以已降级模式运行阵列化存储设备 200的脆弱性的同时移除联接的封套302。
重定位装置400包括识别模块402、指定模块404、实现模块406、集 成模块408、转换才莫块410、通知模块412和确定模块414。在一个实施例 中,重定位装置400用阵列存储控制器202中的樹:码实现。在另一实施例 中,重定位装置400可以用直接存储在包含在存储阵列306中的一个磁盘 上的程序实现。
重定位装置400可以根据重定位协议被激活。在一个实施例中,重定 位模块400可以遵循这样的重定位协议,所述重定位协议用于建立将被选 择进行重定位的RAID阵列的特征。重定位模块400然后可以对阵列化存 储设备200搜索指定的重定位封套304,其继续所述搜索直到匹配所指定 特征的封套302被:找到。
在一个实施例中,系统用户可以确定重定位封套304的特征。重定位 封套304的所述特征可以包括该重定位封套304的总存储容量、当前祐L 使用的总存储容量的量、该重定位封套304中的存储的类型、联接到该重 定位封套304的每个存储设备的单独存储容量、该重定位封套304的年限 以及其它类似特征。在另一实施例中,宿主计算机102可以确定针对重定
位封套304的准则。
识别模块402将联接到阵列化存储设备200的物理设备310识别为可 用于卸载联接到供者阵列化存储设备300的源驱动器312的数据内容。识 别模块402包括搜索模块416,其搜索与联接到重定位封套304的每个 物理设备310的最佳匹配;以及选择模块418,其选择与联接到重定位封 套304的每个物理i殳备310的最佳匹配。
在一个实施例中,识别才莫块402可以将物理设备310识别为候选目标 驱动器314。在进一步的实施例中,系统用户可以释放或重分配一个或更 多候选目标驱动器314上的空间以使识别模块402能够识别一个或更多可 用目标驱动器314。在另一实施例中,识别模块402可以识别连接到支持 封套302的移除的存储系统100的阵列化存储设备200。识别模块402因 而可以将阵列化存储设备200识别为供者阵列化存储设备300的候选。另 外,识别模块402可以将联接到供者阵列化存储设备300的封套302识别 为重定位封套304的候选。
搜索模块416搜索与联接到重定位封套304的物理设备310的最佳匹 配,以便将所有存储的数据的镜像副本从联接到重定位封套304的物理设 备310卸载到联接到另一封套302的物理设备310。在一个实施例中,搜 索模块416可以根据优选重定位封套304的特征对阵列化存储设备200搜 索指定大小和类型的封套302。在某些实施例中,搜索模块416可以找到 单一物理设备310的多个最佳匹配,和/或可以找到多个物理设备310的单 一最佳匹配。
选捧模块418选择用于将所有存储的数据的镜像副本从联接到重定位 封套304的物理设备310卸栽到联接到另一封套302的物理设备310的最 佳匹配。在一个实施例中,选择模块418可以选择阵列化存储设备200以 便搜索支持联接的封套302的移除的阵列化存储设备200。
在另 一实施例中,选择模块418可以选择用于卸载联接到重定位封套 304的单一物理i殳备310的多个最佳匹配。可替换地,选择模块418可以 选捧用于卸载联接到重定位封套304的多个物理设备310的单一最佳匹配。
指定模块404将与联接到重定位封套304的物理设备310的最佳匹配 指定为目标驱动器314。指定模块404还可以将联接到重定位封套304的 物理设备310指定为源驱动器312。由此,指定模块404指定链接到目标 驱动器314的源驱动器312的配对。如之前阐明的,在某些实施例中,源 驱动器312和目标驱动器314可以各自代表一个或更多物理设备310。
实现模块406实现源驱动器312与目标驱动器314之间的镜像关系。 实现模块406包括从源驱动器312向目标驱动器314复制数据的复制模 块420,以及与所述复制过程并发地在源驱动器312与目标驱动器314之 间同步更新的更新模块422 。
在一个实施例中,实现模块406实现源驱动器312与目标驱动器314 之间的RAID级别l镜像关系。因此,实现模块406可以实现位于当前可 被应用于由源驱动器312和/或目标驱动器314表示的物理设备310的现有 RAID级别之内、之上或之下的内嵌RAID。
复制模块420将所有存储的数据的镜像图傳A源驱动器312复制到目 标驱动器314。在一个实施例中,复制模块420与运行在供者阵列化存储 设备300上的其它任务并发地从源驱动器312向目标驱动器314复制数据, 由此维持对所有存储的数据的访问以及对任务关键的应用的可用性。
贯穿所述复制过程,更新模块422将对源驱动器312发出的任何更新 与目标驱动器314同步。由此,对源驱动器312的更新贯穿所述复制过禾呈 被并发地同步到目标驱动器314。在一个实施例中,更新模块422同时将 更新传递到源驱动器312和目标驱动器314。在另一实施例中,更新模块 422可以仅当更新被写入到源驱动器312上所处的区域还未被复制模块420 复制到目标驱动器314时,向源驱动器312发送更新。
集成模块408将目标驱动器314集成为完全RAID阵列成员。目标驱 动器314由此在来自源驱动器312的新数据被复制和存储的情况下被集成。 集成模块408可以从复制模块420接收指示所述复制过程被完成的信号。 复制模块420另外可以向转换模块410用信号发送所述复制过程的完成。 相应地,实现模块406然后可以移除源驱动器312与目标驱动器314之间
的镜像关系。
转换模块410将源驱动器312转换到自由态(free-state)。 一旦转换 模块410转换了联接到重定位封套304的每个源驱动器312,则转换模块 410然后可以用信号通知所述通知模块412:所有源驱动器312被释放为自 由态,以及所有目标驱动器314被转换为完全RAID阵列成员。
通知;f莫块412通知系统用户重定位封套304的所述自由态状态。在某 些实施例中,通知模块412通知系统用户所述复制过程已#1成功完成, 以及重定位封套304当前可以安全地从供者阵列化存储设备300移除。系 统用户然后可以自由地从供者阵列化存储i殳备300移除和重定位所述重定 位封套304,以及在受者阵列化存储i殳备108中安装重定位封套304。
确定模块414确定阵列化存储设备200是否包含指定大小和类型的封 套302。在一个实施例中,确定模块414确定由系统用户指定的针对重定 位的指定封套302的特征。在其它实施例中,确定模块414确定由宿主计 算机102或某个其它自治进程指定的针对重定位的指定封套302的特征。
图5A、 5B和5C示出了说明可以由图4的重定位装置400实现的重 定位方法500的一个实施例的示意性流程图。为方使起见,初始化方法500 在第一部分500A、第二部分500B和第三部分500C中被示出,但被共同 称为初始化方法500。初始化方法500在这里参考图1的存储系统100祐: 描述。
重定位方法500A包括这样的操作,所述操作用于确定502被选择 进行重定位的封套302的大小和类型,选择504进行搜索的阵列化存储设 备200,对阵列化存储设备200搜索506指定重定位封套304,确定508 阵列化存储设备200是否支持封套302的移除,确定510是否所有联接的 阵列化存储设备200已被搜索,以及选择512下一个进行搜索的阵列化存 储设备200。
重定位方法500B包括这样的操作,所述操作用于搜索514联接到 重定位封套304的每个物理设备310的最佳匹配,选择516与联接到重定 位封套304的每个物理设备310的最佳匹配,将最佳匹配指定518为链接
到源驱动器312的目标驱动器314,实现520在链接的源驱动器312与目 标驱动器314之间的镜像关系,从源驱动器312向目标驱动器314复制522 全部数据内容。
重定位方法500C包括这样的操作,所述操作用于与所述复制过程 并发地将对源驱动器312的更新与目标驱动器314同步524,将目标驱动 器314集成526为完全RAID阵列成员,将源驱动器312转换528为自由 态,通知530系统用户源驱动器312的自由态状态,以及,将重定位封套 304从供者阵列化存储设备300重定位532到受者阵列化存储设备108。
重定位方法500启动关联于阵列存储控制器202的重定位装置400的 重定位能力。尽管重定位方法500为了清晰目的而以特定的顺序化次序4皮 示出,M储系统100可以以并行顺序和/或不必要以所示次序实施所述操 作。在一个实施例中,重定位方法500关联于阵列存储控制器202被执行。
重定位方法500开始,并且确定模块414确定502指定进行重定位的 封套302的大小和类型。在一个实施例中,确定模块414确定502由系统 用户指定的针对重定位的指定封套302的特征。在其它实施例中,确定模 块414确定502由宿主计算机102或某个自治进程指定的针对重定位的指 定封套302的特征。
接下来,选择模块418选择阵列化存储设备200进行对指定封套302 的匹配封套302的搜索。 一旦被找到,则进行重定位的指定封套302可以 被指定为重定位封套304。在一个实施例中,指定模块404可以将所选进 行重定位的封套302指定为重定位封套304。
在选择之后,搜索模块416对所选阵列化存储设备200搜索506指定 大小和类型的封套302。确定模块414然后确定508所选阵列化存储^殳备 200是否支持联接的封套302的移除。所选阵列化存储设备200然后可以 被指定为候选供者阵列化存储设备300。
在一个实施例中,搜索模块416在指定重定位封套304之前搜索506 联接到存储系统100的每个阵列化存储设备200。在针对供者阵列化存储 i殳备300的所有4美选^皮找到之后,所有候选中与指定封套302的最佳匹配
可以被比较和缩小范围,直到重定位封套304被选择和指定。
如果确定模块414确定508所选阵列化存储设备200支持联接的封套 302的移除,则搜索模块416搜索514与联接到重定位封套304的每个物 理设备310的最佳匹配。相反,如果确定模块414确定508所选阵列化存 储设备200不支持联接的封套302的移除,则确定模块414确定510搜索
如果确定模块414确定510搜索模块416已搜索506联接到存储系统 100的每个阵列化存储设备200,则对包含在存储系统100中的重定位封套 304的搜索过程终止。系统用户然后可以选择不同的存储系统100以搜索 506指定封套302。可替换地,该系统用户可以放宽指定封套302的特征, 并且再次搜索506同一存储系统100。
相反,如果确定模块414确定510搜索模块416还未搜索506联接到 存储系统100的每个阵列化存储设备200,则选择模块418选择512下一 个阵列化存储设备200用于搜索模块416进行搜索506。
在搜索模块416搜索514与联接到重定位封套304的每个物理设备310 的最佳匹配之后,选择模块418选择516与重定位封套304上的物理;殳备 310的最佳匹配。在一个实施例中,指定^f莫块404将联接到重定位封套304 的每个物理设备310指定为源驱动器312。
当与源驱动器312的最佳匹配被找到时,指定模块404可以将该最佳 匹配指定为链接到源驱动器312的目标驱动器314。在进一步的实施例中, 指定模块404可以将包含重定位封套304的阵列化存储设备200指定为供 者阵列化存储设备300。
在一个实施例中,与源驱动器312的所述最佳匹配是单个目标驱动器 314。换句话说,源驱动器312和目标驱动器314每个是单独的物理设备 310。在其它实施例中,源驱动器312和/或目标驱动器314可以是一个或 更多物理设备310。由此,包含联接到重定位封套304的多个物理设备310 的源驱动器312可以链接到包含单独物理设备310的目标驱动器314。在 另 一实施例中,包含联接到重定位封套304的单独物理设备310的源驱动
器312可以链接到包含联接到一个或更多其它封套302的多个物理i殳备 310的目标驱动器314。
接下来,实现模块406实现520链接的源驱动器312与目标驱动器314 之间的镜像关系。在一个实施例中,实现模块406实现源驱动器312与目 标驱动器314之间的RAID级别1镜像关系。由此,实现模块406可以实 现520位于当前应用于源驱动器312和/或目标驱动器314的其它现有 RAID级别之内、之上或之下的子RAID。
复制模块420然后将存储在源驱动器312上的整个数据集复制522到 目标驱动器314。复制模块420与运行在供者阵列化存储设备300上的其 它任务并发地从源驱动器312向目标驱动器314复制522数据,其允许联 接到存储系统100的所有阵列化存储设备200不中断地运行并且维持对任 务关键的应用的可用性。
当复制模块420从源驱动器312向目标驱动器314复制522数据时, 更新模块422将对源驱动器312发出的任意更新与目标驱动器314同步 524。由此,对源驱动器312的更新贯穿所述复制过程被并发地同步524 到目标驱动器314。
一旦复制模块420完成从源驱动器312向目标驱动器314复制522数 据,则集成模块408将目标驱动器314集成526为完全RAID阵列成员, 其中来自源驱动器312的新数据被复制522和存储。相应地,由实现模块 406实现520的RAID级别1子RAID被移除。
响应于复制才莫块420用信号通知成功复制过程的结束,转换模块410 然后将源驱动器312转换528为自由态。 一旦转换模块410转换528联接 到重定位封套304的每个源驱动器312,则转换模块410然后可以用信号 通知所述通知模块412去通知530系统用户重定位封套304的所述自由态 状态。通知模块412通知530系统用户所述复制过程已成功完成,以及 重定位封套304当前可以安全地从供者阵列化存储设备300移除。
该系统用户然后可以自由地从供者阵列化存^i殳备300移除和重定位 532所述重定位封套304,以及在受者阵列化存储设备108中安装重定位封
套304。在一个实施例中,所述系统用户从供者阵列化存储设备300移除 重定位封套304,并且将该重定位封套304重定位532到连接到同 一存储 系统100的阵列化存储设备200。在另一实施例中,所述系统用户将重定 位封套304重定位532到连接到另 一存储系统100的阵列化存储设备200。 在进一步的实施例中,重定位封套304被自治地重定位,与自动化磁带库 系统的磁带检索操作相类似。
由本发明的优选实施例给出的RAID阵列的重定位可以对总体系统的 效率有实际和积极的影响。在某些实施例中,本发明改进正常运行时间、
应用可用性和实时业务性能,所有这些导致推动拥有的总成本更低。除改 进系统资源的利用率之外,本发明的实施例给予系统用户在不中断整个系 统或受影响系统的任务的情况下将RAID阵列从一个设备移动到另一个或 从一个系统移动到另 一个的能力。
此处所包含的示意性流程图被作为逻辑流程图 一般性地阐述。同样地, 所示次序和所标记操作可指示所呈现方法的一个实施例。功能、逻辑或效 果上与所示方法的一个或更多操作或其中一部分等效的其它操作和方法可 以被设想。另外,所利用的格式和符号被提供用于解释所述方法的逻辑操 作,并且4皮理解为将不限制所述方法的范围。尽管各种箭头类型和线条类 型可以被用于所述流程图中,但其被理解为不限制对应方法的范围。实际 上, 一些箭头或其它连接符可以被用于指示仅所述方法的逻辑流程。例如, 箭头可以指示所示方法的所列举操作之间的未指定持续时间的等待或监视 时间段。另外,特定方法发生的次序可以或可以不严格坚持所示对应操作 的次序。
贯穿本说明书对"一个实施例"、"实施例"或类似术语的引用是指 结合该实施例描述的特定特征、结构或特性被包含在本发明的至少一个实 施例中。由此,贯穿本i兌明书,短语"在一个实施例中"、"在实施例中" 和类似术语的出现可以但不必要全部涉及同 一 实施例。
对信号承栽媒体的引用可以采用能够生成信号、导致信号被生成或导 致机器可读指令的程序在数字处理装置上的执行的任何形式。信号承载媒
体可以用传输线路、光盘、数字视频光盘、磁带、伯努利(Bernoulli)驱 动器、磁盘、穿孔卡片、闪速存储器、集成电路或其它数字处理装置存储 器设备来实现。
进一步地,所描述的本发明的优选实施例的特征、结构或特性可以以 任何适当的方式合并到一个或更多实施例中。在以下描述中,例如编程、 软件模块、用户选择、网络事务、数据库查询、数据库结构、硬件模块、 硬件电路、硬件芯片等的示例的大量特定细节被提供,以便提供对本发明 的实施例的透彻理解。然而,相关领域的技术人员将认识到,本发明可以 在不使用一个或更多所述特定细节、或使用其它方法、部件、材料等的情 况下被实现。在其它情况下,熟知的结构、材料或操作不被示出或详细描 述以避免混淆本发明的各方面。
权利要求
1. 一种用于并发地重定位RAID阵列的装置,所述装置包括:识别模块,其被配置为识别阵列化存储设备中的物理设备对卸载重定位封套的源驱动器的可用性;耦合到所述识别模块的指定模块,所述指定模块被配置为将可用物理设备指定为目标驱动器;以及耦合到所述指定模块的实现模块,所述实现模块被配置为实现所述目标驱动器与所述源驱动器之间的镜像关系。
2. 根据权利要求l所述的装置,进一步包括耦合到所述识别模块的搜 索模块,其中,所述搜索模块被配置为在所述供者阵列化存储设备中的 多个物理设备中搜索对于卸载所述重定位封套的源驱动器的可用性,以及 在多个可用物理i殳备中搜索与所述源驱动器的最佳匹配。
3. 根据权利要求1或权利要求2所述的装置,进一步包括耦合到所述 识别模块的选择模块,其中,所述选择模块被配置为在所述供者阵列化 存储"i殳备中的多个物理设备中选择多个可用物理设备,以及在所述多个可 用物理设备中选择与所述源驱动器的最佳匹配。
4. 根据权利要求1到3中任一个所述的装置,进一步包括耦合到所述 实现模块的复制4莫块,其中,所述复制模块被配置为将所述源驱动器的全 部数据内容复制到所述目标驱动器。
5. 根据任一前述权利要求所述的装置,进一步包括耦合到所述实现模 块的更新模块,其中,所述更新模块被配置为与所述复制模块的复制过程 并发地将对所述源驱动器的更新与所述目标驱动器同步。
6. 根据任一前述权利要求所述的装置,进一步包括集成模块,所述集 成;f莫块净皮配置为响应于所述复制^=莫块用信号通知所述源驱动器的全部数 据内容净皮镜《象到所述目标驱动器上,将所述目标驱动器集成为所述供者阵 列化存储设备的完全阵列成员。
7. 根据任一前述权利要求所述的装置,进一步包括转换模块,所述转 换模块4皮配置为响应于所述复制模块用信号通知所述源驱动器的全部数 据内容被镜像到所述目标驱动器上,将所述源驱动器转换为自由态。
8. 根据任一前述权利要求所述的装置,进一步包括通知模块,所迷通 知模块4皮配置为通知系统用户所述重定位封套可用于移除。
9. 根据任一前述权利要求所述的装置,进一步包括确定模块,所述确 定模块被配置为确定阵列化存储设备是否包含指定大小和类型的封套。
10. —种信号承载媒体,其有形地包含可被数字处理装置执行以实施 用于并发地重定位RAID阵列的操作的机器可读指令程序,其中,所述操 作包括识别供者阵列化存储设备中的物理设备对于卸载重定位封套的源驱动 器的可用性;将可用物理i殳备指定为目标驱动器;以及 实现所述目标驱动器与所述源驱动器之间的镜像关系。
全文摘要
一种装置、系统和方法被公开,用于并发地重定位RAID阵列。所述装置包括识别模块、指定模块和实现模块。所述识别模块识别供者阵列化存储设备中的物理设备对卸载重定位封套的源驱动器的可用性。所述指定模块将可用物理设备指定为目标驱动器,以及由此将所述目标驱动器和所述源驱动器指定为链接的对。所述实现模块实现所述目标驱动器与所述源驱动器之间的镜像关系。所述装置、系统和方法提供对RAID阵列的动态重定位,其最小化系统停机时间和最大化系统资源的高效利用。
文档编号G06F11/20GK101390059SQ200780006116
公开日2009年3月18日 申请日期2007年1月30日 优先权日2006年2月21日
发明者M·J·卡洛斯, R·A·利普博格, R·A·库博, 宋正中 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1