CN100504748C - 备用设备管理的方法和系统 - Google Patents
备用设备管理的方法和系统 Download PDFInfo
- Publication number
- CN100504748C CN100504748C CNB2006101321700A CN200610132170A CN100504748C CN 100504748 C CN100504748 C CN 100504748C CN B2006101321700 A CNB2006101321700 A CN B2006101321700A CN 200610132170 A CN200610132170 A CN 200610132170A CN 100504748 C CN100504748 C CN 100504748C
- Authority
- CN
- China
- Prior art keywords
- equipment
- stand
- matches
- standby
- manual allocation
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2053—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
- G06F11/2094—Redundant storage or storage space
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Hardware Redundancy (AREA)
Abstract
提供了备用设备管理技术。依据类型把候选设备分成备用覆盖组。从备用覆盖组中识别具有所需类型的最接近相称特性的一个或多个候选设备。识别的一个或多个候选设备被分配为备用覆盖组的备用设备。确定是否已向备用覆盖组分配了所需数目的备用设备。响应确定还没有分配所需数目的备用设备,为每一预定数目的具有最接近相称特性的候选设备分配一个具有最接近相称特性的备用设备,直到分配了所需数目的具有最接近相称特性的备用设备为止。
Description
技术领域
本发明涉及备用设备管理。
背景技术
独立磁盘冗余阵列(RAID)阵列可被描述成一组硬盘设备,该组硬盘设备提供容错和性能。RAID存储系统可被描述成使用RAID阵列的存储系统。RAID存储系统通过提供逻辑磁盘设备实现数据存储,所述逻辑磁盘设备由多个硬盘设备构成。为了提高RAID阵列的可用性和可靠性,RAID技术形成提供额外的硬盘设备的能力,所述额外的硬盘设备起替换故障硬盘设备的“备用”设备(即,备用硬盘设备)的作用。就由多个RAID阵列构成的存储系统来说,单一硬盘设备充当多个RAID阵列的备用设备的能力被称为全局备份。
在创建RAID阵列时,一些RAID存储系统可定义备用设备。当使用这种实现时,利用一组已知的特性和属性定义具体的备用设备。在其它RAID存储系统中,创建默认的规则来定义所需的备用设备的数目,这些RAID存储系统根据某组标准自动选择备用设备。
在使用备用设备分配优化技术的RAID存储系统中,不可能定义具体的特性来保证硬盘设备发生故障和/或修复硬盘设备期间的适当性能属性。
虽然RAID存储系统有用,不过在本领域中需要改进的备用设备管理。
发明内容
提供一种用于备用设备管理的方法、计算机程序产品和系统。依据类型把候选设备分成备用覆盖组。从备用覆盖组中识别具有所需类型的最接近相称特性(closest fitting characteristics)的一个或多个候选设备。识别的一个或多个候选设备被分配为备用覆盖组的备用设备。确定是否已向备用覆盖组分配了所需数目的备用设备。响应确定还没有分配所需数目的备用设备,为每一预定数目的具有最接近相称特性的候选设备分配具有最接近相称特性的备用设备,直到分配了所需数目的具有最接近相称特性的备用设备为止。
附图说明
现在参考附图,其中相同的附图标记代表对应的部分:
图1根据一些实施例图解说明计算设备的细节。
图2根据一些实施例图解说明由备用设备分配模块执行的逻辑。
图3根据一些实施例图解说明由备用设备分配模块执行的确定待分配的备用设备的数目的逻辑。
图4根据一些实施例图解说明由备用设备分配模块执行的手动分配备用设备的逻辑。
图5A、5B和5C根据一些实施例,图解说明由备用设备分配模块执行的确定每个备用覆盖组中哪些候选设备将是备用设备的逻辑。
图6根据一些实施例图解说明由备用分配模块执行的处理释放的备用设备的逻辑。
图7根据一些实施例图解说明备用设备分配的一个例子。
图8根据一些实施例图解说明可使用的计算机系统的体系结构。
具体实施方式
在下面的说明中,参考了附图,附图构成所述说明的一部分,并且图解说明了本发明的几个实施例。显然可以利用其它的实施例,并且可以做出结构和操作变化,而不会脱离本发明的范围。
实施例提供备用设备分配技术(SAT),备用设备分配技术通过自动分配为存储设备群提供最佳的冗余保护特性的备用设备,优化备用设备的分配管理,从而提供需要最少数目的备用设备的适当的统计级冗余。当存储服务器的设备子系统的配置变化时(例如为了满足最低的所需水平的冗余,要求关于新的设备类型或者待分配的另一设备评估当前备用设备分配的事件),实施例通过自动分配所需的备用设备作出响应。实施例利用备用设备分配技术,使为了提供所需的统计覆盖在任何时候配置的设备的数目降至最小。当不再需要先前被分配为备用设备的设备来提供所需水平的冗余时,实施例还释放这些设备。
此外,实施例使用户能够手动分配备用设备。当备用设备被手动分配时,通过考虑到任何手动分配的备用设备,备用设备分配技术使为了提供所需的统计覆盖在任何时候配置的设备的数目降至最小。当不再需要先前被分配为备用设备的备用设备来提供所需水平的冗余时,实施例还释放这些备用设备,只要它们不是由用户手动分配的。
由备用设备分配技术分配的备用设备可被称为SAT分配的备用设备或者SAT备用设备,手动分配的备用设备可被称为手动分配的备用设备或者手动备用设备。
实施例依据类型(例如依据容量)对候选设备分类,把分类的设备划分成备用覆盖组,随后确定每个备用覆盖组中的哪些候选设备将是备用设备。最初,所有可用设备都被认为是候选设备。
图1根据一些实施例图解说明计算设备的细节。客户机计算机100通过网络190与存储服务器120连接。客户机计算机100包括一个或多个应用110。
存储服务器120包括备用设备分配模块130,并且可包括一个或多个服务器应用140和/或一个或多个其它组件。备用设备分配模块130实现分配备用设备的备用设备分配技术,还允许用户手动分配备用设备。存储服务器120向客户机计算机100提供对设备子系统160中的数据的访问。设备子系统160包括控制对一个或多个设备阵列的访问的设备控制器162(例如控制对一个或多个RAID阵列的访问的RAID控制器)和设备164(例如一个或多个RAID阵列)。
在备选实施例中,备用设备分配模块130可被实现成硬件、软件、固件或者它们的某一组合。
客户机计算机100和存储服务器120可包含本领域中已知的任何计算设备,例如服务器、大型机、工作站、个人计算机、手持式计算机、膝上型电话机、网络设备等。
网络190可包含任何类型的网络,比如对等网络,轴辐式网络,存储区域网络(SAN)、局域网(LAN)、广域网(WAN)、因特网、企业内部网等。
图2根据一些实施例图解说明由备用设备分配模块130执行的逻辑。控制始于方框200,备用设备分配模块130检测设备子系统160中的配置改变,所述配置改变指示将要评估备用设备分配。从一组候选设备中确定备用设备。候选设备可被描述成设备子系统160中还未被设备控制器162分配给某一用途或状态(例如阵列成员,备用设备,被拒绝,失败等)的任何存储设备,设备控制器162与将被指定为或者用作全局热备用设备的存储设备的能力相冲突。在方框202,备用设备分配模块130确定待分配的备用设备的数目,这将参考图3进一步说明。在方框204中,备用设备分配模块130评估手动分配的备用设备的数目,这将参考图4进一步说明。在方框206中,备用设备分配模块130利用备用设备分配技术确定哪些候选设备将是备用设备(即,这是SAT备用设备分配,而不是手动备用设备分配),这将参考图5A、5B和5C进一步说明。在方框208中,备用设备分配模块130确定如何处理释放的备用设备,这将参考图6进一步说明。
一些实施例依赖于对于在为存储设备故障提供冗余保护的多级设备阵列中配置的存储设备的指定群,可确定提供保护以防在指定修复窗内不能被恢复的阵列故障的全局热备用存储装置的最小数目(N)。一些实施例还把由全局热备用设备保护的存储设备群定义为备用覆盖组,并设法为每个备用覆盖组分配最少的所需数目的全局热备用设备。备用覆盖组包括位于每个设备控制器的备用覆盖域内的存储设备,从而在设备控制器全局备用域中分配的任何全局热备用设备可被用于为其中全局热备用设备满足适任标准的域中的所有设备阵列提供冗余保护。设备控制器162全局备用域可被描述成设备控制器162可访问的一组存储设备。
对于每个设备控制器162,可存在D个存储设备的最大数,所述D个存储设备被分成M个备用覆盖组,其中每个备用覆盖组中的存储设备的数目是C个存储设备。本领域的技术人员会认识到M乘以C小于或等于D。例如,最后一个备用覆盖组可能不能被填满(例如,D=112,C=64,M=2)。从而,在各个实施例中,M*C可能并不产生严格的倍数。对于每个设备控制器162全局备用域,每个备用覆盖组被分配N个备用设备。每个设备控制器162全局备用域的所分配备用设备的总数为0-K的可变值,其中K可由用户定义或者可被设置成默认值(例如,在制造存储服务器120时设置的1)。即,K可被描述成备用覆盖域所需的备用设备的数目。在一些实施例中,所需备用设备的总数(即,值K)被分成多个相等的部分,从而给出将为每个备用覆盖组提供的所需备用设备的数目,这里称为数目N。备用覆盖组可被描述成存储设备群,其特性被用作给备用设备选择和分配算法的输入。
图3根据一些实施例图解说明由备用设备分配模块130执行的确定待分配的备用设备的数目的逻辑。控制始于方框300,备用设备分配模块130确定用户是否输入了待分配的备用设备的数目值。如果是,那么处理进入方框302,否则,处理进入方框304。在方框302中,备用设备分配模块130把用户输入值用作所需备用设备的总数(K)。在方框304中,备用设备分配模块130把默认值用作所需备用设备的总数(K)。在方框306中,备用设备分配模块130计算每个备用覆盖组的所需备用设备。在一些实施例中,备用设备分配模块130利用公式N=K/M进行计算,其中N是每个备用覆盖组的所需备用设备的数目,K是所需备用设备的总数,M是备用覆盖组的数目,其中K/M被四舍五入为最近的整数。在方框308,备用设备分配模块130把N设为计算的每个备用覆盖组的所需备用设备的数目。
图4图解说明根据一些实施例由备用设备分配模块130执行的手动分配备用设备的逻辑。从而,如果用户很想使用确定性的备用设备分配技术,那么向用户提供手动地把特定类型(例如特定容量和/或速度(每分钟转数(RPM))的存储设备指定为备用设备的灵活性。
在图4中,控制始于方框400,备用设备分配模块130确定用户是否手动分配备用设备。如果是,那么处理进入方框402,否则,处理进入方框404。在方框402中,备用设备分配模块130根据用户输入分配备用设备。这些备用设备被标记,以指示它们已被手动分配(例如,标记为永久备用设备)。在方框404中,备用设备分配模块130利用备用设备分配技术分配备用设备。在方框406中,备用设备分配模块130把关于分配的备用设备的信息用作给备用设备分配技术的输入。
即,备用设备分配模块130允许用户手动分配备用设备,如果在相似特性的一组设备中发生故障,那么所述备用设备提供保持所需操作特性的属性。除了通过自动分配为整个设备系统160结构提供所需特性的备用设备,优化备用设备的分配管理,从而提供最低的统计级冗余的SAT分配的备用设备之外,还使用手动分配的备用设备。在一些实施例中,备用设备分配模块130利用手动分配的备用设备来满足由备用设备分配技术确定的备用设备的最小数,只要手动分配的备用设备满足所需的特性。
实施例提供对允许用户把待分配的特定的存储设备类型(例如容量和/或速度)指定为备用设备的备用分配处理的改进。在一些实施例中,向用户提供什么存储设备可供被分配为备用设备的选项。例如,如果用户选择将被配置成备用设备的146千兆字节(GB)15k(即,15千)RPM设备,那么手动分配的146GB 15k RPM存储设备备用设备也被用于满足对所需备用设备的最小数的要求。在一些实施例中,如果存在其它符合条件的设备(即,如果增加300GB设备并且变成为了满足每个设备控制器162全局备用域的所需备用设备的最小数的要求,由备用设备分配技术确定的备用存储设备),那么不允许手动分配的备用设备状态在物理存储设备之间动态转移,或者被释放。手动分配为备用设备的存储设备被永久分配,直到它们被设备控制器162用于修复动作或者用户取消分配这些存储设备为止。
如果用户选择过度分配备用设备(即,分配比每个设备控制器162全局备用域的最少所需备用设备更多的备用设备),那么这可由备用设备的手动选择和分配来实现。通过利用备用设备分配模块130提供的用户界面,用户能够实现备用设备的过度分配,所述用户界面还可用于备用设备的手动分配。在一些实施例中,如果备用设备未被分配给阻止把其状态从分配为备用设备改变为其它状态的用途,并且改变设备的分配不会导致把备用设备的数目减少到低于设备控制器162全局备用域的最少所需备用设备,则允许用户改变备用设备的手动分配。把手动分配的备用设备的状态改变为自由状态会把新释放的设备放入适合参与浮动备用技术的可用设备的池中。当具有更合意特性的设备可通过利用SAT被分配为备用设备时,浮动备用技术允许自动释放分配为备用设备的设备。
图5A、5B和5C根据一些实施例,图解说明由备用设备分配模块130执行的,确定每个备用覆盖组中哪些候选设备将是备用设备的逻辑。控制始于方框500,备用设备分配模块130根据类型(例如容量)把候选设备分为备用覆盖组。例如,如果根据容量对存储设备(即,一种候选设备)分类,那么可从最大容量到最小容量对存储设备分类。在方框502中,备用设备分配模块130从第一备用覆盖组开始选择下一备用覆盖组。在方框504中,备用设备分配模块130识别备用覆盖组中所需类型(例如最大容量X)的具有某些最接近相称特性的一个或多个候选设备,并把这些候选设备分配为备用设备,从而为全局备用域提供冗余保护。在方框506,备用设备分配模块130确定是否已分配了具有最接近的相称特性的N个(即,所需数目的)备用设备。如果是,那么处理进入方框508,否则处理进入方框510.在方框510中,备用设备分配模块130为预定的每Y个具有最接近相称特性的候选设备分配一个具有最接近相称特性的备用设备,直到N个具有最接近相称特性的备用设备被分配给备用覆盖组为止。在一些实施例中,SAT为每Y个设备有一个备用设备。如果增加Y个设备,那么将分配一个备用设备,如果设备数大于Y,但是小于2*Y,那么分配第二个备用设备。在一些实施例中,Y可被确定为存储服务器120的默认值。在方框512中,备用设备分配模块130确定是否已分配N个具有最接近相称特性的备用设备。如果是,那么处理进入方框508,否则处理进入方框514(图5B)。在方框514中,备用设备分配模块130为预定的每Y个具有次接近相称特性的候选设备分配一个具有次接近相称特性的备用设备,直到为备用覆盖组分配了N个备用设备为止。在方框516中,备用设备分配模块130确定分配给备用覆盖组的备用设备的总数是否大于N。分配的备用设备的数目可以大于N,如果已手动分配了一些备用设备的话。如果是,那么处理进入方框520(图5C),否则,处理前进方框518。
从而,就方框504-514的处理来说,具有最接近的所需相称特性的一个或多个候选设备被分配为备用设备,随后为每一预定数目的具有最接近所需相称特性的候选设备分配一个具有最接近所需相称特性的备用设备,直到至少所需数目的备用设备已被分配给备用覆盖组为止。
在方框518中,备用设备分配模块130把分配给备用覆盖组的备用设备的总数设为SAT分配的备用设备(N)加上手动分配的备用设备。处理从方框518进入方框508。
在方框520中,备用设备分配模块130确定对于备用覆盖组,是否存在任意手动分配的备用设备。如果是,那么处理进入方框522,否则处理进入方框524。在方框522中,备用设备分配模块130保留手动分配的备用设备。在方框524中,备用设备分配模块130释放一些非手动分配的备用设备,以致分配的备用设备的数目为N。处理从方框524进行到方框518(图5B)。
在方框508,备用设备分配模块130确定是否所有的备用覆盖组已被处理。如果是,那么处理结束,否则处理返回方框502,选择下一备用覆盖组。
只是用于举例说明,这里提供一个例子,其中容量特性被用于把备用设备分配给备用覆盖组。具体地说,最大容量的备用设备被分配给第一备用覆盖组,次大容量的备用设备被分配给第二备用覆盖组。
特别地,当设备控制器162全局备用域的结构增长超出第一预定数目的存储设备(即,备用覆盖组的大小,比如48个存储设备)时,实施例提供增量数目的备用设备。超出第一预定数目的存储设备,备用设备分配模块130递增地分配每个设备控制器162全局备用域的额外数目的备用设备。这里,每个设备控制器162全局备用域的最少所需备用设备的最大数目将被称为K。为了优化利用备用设备分配技术分配的备用设备的数目,备用设备分配模块130使用下述规则:
1.每个设备控制器162全局备用域的存储设备的总数(本例中96)被分成2个备用覆盖组,依据存储设备类型对备用覆盖组分类,在本例中依据存储设备容量对备用覆盖组分类。
a.备用覆盖组是每次结构改变时被分类的动态列表,并且必须分析备用设备以满足备用设备策略。
b.组1备用覆盖组
i.组1可具有从1-48的存储设备
ii.组1包含设备控制器162全局备用域上的48个最大容量的存储设备
c.组2备用覆盖组
i.组2可具有从0-48的存储设备
ii.组2包含在组1具有48个存储设备之后剩余的任何存储设备
2.如下评估对每个设备控制器全局备用域的所需备用设备的最小数目的要求的满足:
a.备用覆盖组1的所需备用设备的最小数目为N.在设备控制器162全局备用域上存在合格存储设备类型的N个所需备用设备,并且这N个所需备用设备被用于满足备用覆盖组1的要求。
i.为设备控制器162全局备用域上的合格存储设备类型分配备用设备,直到存在N个合格的备用设备为止。
1)从聚居于设备控制器162全局备用域上的合格存储设备类型的每8个存储设备中分配一个备用设备,直到分配了N个备用设备为止。例如,如果存在1-48存储设备,那么从第一组编号1-8的存储设备中分配一个备用设备,从下一组编号9-16的存储设备分配一个备用设备,等等。
2)如果少于合格备用类型的8个存储设备的N次递增,那么从下一最佳候选者中分配备用设备,直到分配了N个备用设备为止。
a)下一最佳可用候选者可被描述成适合于为备用覆盖组的多数存储设备提供备用设备的备用设备(例如,对于仅仅基于容量的规则来说,如果300千兆字节(GB)是会提供最佳覆盖的存储设备类型,但是300GB存储设备的组数少于N,那么下一最佳候选者理应是146GB存储设备对73GB备用设备)。
b.如果备用覆盖组2的成员数大于0,那么对于备用覆盖组2存在N个所需的备用设备。
i.分配合格的备用设备,以满足关于设备控制器162全局备用域上,备用覆盖组2中的最大容量存储设备的要求,直到存在N个合格的备用设备为止。
1)从聚居于设备控制器162全局备用域上的合格存储设备类型的每8个存储设备中分配一个备用设备,直到分配了N个备用设备为止。例如,如果在该备用覆盖组中存在存储设备49-96,那么从第一组编号49-56的存储设备中分配一个备用设备,从下一组编号57-64的存储设备中分配一个备用设备,等等。
2)如果少于合格备用类型的8个存储设备的N次递增,那么从下一最佳候选者中分配备用设备,直到分配了N个备用设备为止。
a)下一最佳可用候选者可被描述成适合于为备用覆盖组的多数成员提供备用设备的候选者(即,对于仅仅基于容量的规则来说,如果300GB是会提供最佳覆盖的存储设备类型,但是300GB存储设备的组数少于N,那么下一最佳候选者理应是146GB存储设备对73GB备用设备)。
图6根据一些实施例图解说明由备用设备分配模块130执行的处理释放的备用设备的逻辑。控制始于方框600,备用设备分配模块130确定是否已释放了任意备用设备。如果是,那么处理进入方框602,否则结束处理。在方框602中,备用设备分配模块130确定是否存在自动把释放的设备和兼容存储设备类型的现有设备阵列164结合起来的用户策略。如果是,那么处理进入方框604,否则,处理进入方框606。在方框604,备用设备分配模块130动态地把释放的设备并入现有的设备阵列中,从而增加可用存储容量。在方框606中,备用设备分配模块130使释放的设备可用于用户规定的用途。
通过自动把释放的设备并入现有的设备阵列,增大用户数据的可用存储容量,用户定义的自动并入释放的在前备用设备的策略允许备用设备分配模块130自动增大可用的用户存储容量。
图7根据一些实施例图解说明备用设备分配的一个例子。在图7中,三种不同容量1、2和3(容量1>容量2>容量3)的96个存储设备被分成2个备用覆盖组700、730。第一个备用覆盖组700包括48个备用设备(例如,编号1-48),而第二个备用覆盖组730包括48个存储设备(例如,编号49-96)。通过利用备用设备分配技术,备用设备分配模块130根据备用覆盖组1700的存储设备特性,确定需要分配容量1的N个备用设备。备用设备分配模块130还根据备用覆盖组2730的存储设备特性,确定要分配容量2的N个备用设备。在图7中,容量1的存储设备710具有相同的速度,而容量2和容量3的存储设备也具有两种不同的速度,速度1和速度2。例如,存在:容量2,速度1的存储设备720;容量2,速度2的存储设备740;容量3,速度1的存储设备750;和容量3,速度2的存储设备760。以不同速度运转的相同容量的存储设备可具有不同的性能特性。在一些实施例中,备用设备分配模块130实现使用容量以及其它特性(比如速度)把备用设备分配给备用覆盖组的优化技术。
在用户混杂存储设备类型的情况下,用户可选择确保存在可用于分配给存在故障的备用覆盖组的备用设备,从而确保性能影响被降至最小。在这些情况下,用户可超越基于容量的备用设备分配,手动分配满足所需性能特性的备用设备。在图7的例子中,基于容量的备用设备分配技术选择容量2的设备为备用覆盖组2提供备用存储设备。这种情况下,为了确保保持所需的性能特性,用户可选择分配存储设备类型为容量2速度2的J个备用设备,从而为这种类型的16个存储设备提供冗余和备用覆盖。用户还可决定分配存储设备类型为容量3速度2的H个备用设备,从而为这种类型的16个存储设备提供冗余和备用覆盖。在本例中,J和H是以提供用户希望提供的冗余所需的数字分配备用设备的整数。
另外的实施例细节
通过利用标准的编程和/或工程技术来产生软件、固件、硬件或者它们的任意组合,所述操作可被实现成方法、计算机程序产品或设备。
每个实施例可以采取纯硬件实施例,纯软件实施例或者既包含硬件元件又包含软件元件的实施例的形式。实施例可用软件来实现,所述软件包括(但不限于)固件、驻留软件、微代码等。
此外,实施例可以采取可从计算机可用或计算机可读介质访问的计算机程序产品的形式,所述计算机可用或计算机可读介质提供供计算机或者任何指令执行系统使用,或者与计算机或任何指令执行系统结合使用的程序代码。对于本说明来说,计算机可用或计算机可读介质可以是能够包含、保存、传递、传播或传送供指令执行系统、设备或装置使用,或者结合指令执行系统、设备或装置使用的程序。
所描述的操作可被实现成保持在计算机可用或计算机可读介质中的代码,处理器可从计算机可读介质读出并执行所述代码。所述介质可以是电、磁、光、电磁、红外或半导体系统(或者设备或装置)或者传播介质。计算机可读介质的例子包括半导体或固体存储器,磁带,可拆卸的计算机磁盘,硬磁盘,光盘,磁存储介质(例如硬盘驱动器,软盘,磁带等),易失性和非易失性存储装置(例如随机存取存储器(RAM),DRAM,SRAM,只读存储器(ROM),PROM,EEPROM,快速存储器,固件,可编程逻辑等)。光盘的当前例子包括只读光盘存储器(CD-ROM),读/写光盘(CD-R/W)和DVD。
实现所述操作的代码还可用硬件逻辑(例如集成电路芯片,可编程门阵列(PGA),专用集成电路(ASIC)等)实现。另外,实现所述操作的代码可用“传输信号”实现,所述传输信号可通过空间或者通过传输介质,例如光纤、铜线等传播。其中代码或逻辑被编码的传输信号还可包括无线信号,卫星传输,无线电波,红外信号,蓝牙等。其中代码或逻辑被编码的传输信号能够由发射站发射,并由接收站接收,在传输信号中编码的代码或逻辑可在接收和发射站或设备被解码和保存到硬件或计算机可读介质中。
计算机程序产品可包括计算机可用或计算机可读介质,硬件逻辑,和/或其中可实现代码的传输信号。当然,本领域的技术人员会认识到对该结构可做出许多修改,而不会脱离实施例的范围,并且计算机程序产品可包含本领域已知的任何适当的信息承载介质。
术语逻辑可包括例如软件、硬件、固件和/或软件和硬件的组合。
某些实现以由个人或结合计算器-可读代码的自动化处理把计算基础结构部署到计算系统中的方法为目标,其中可使与计算系统结合的代码执行所述实现的操作。
图2、3、4、5A、5B、5C和6的逻辑描述按照特定顺序发生的具体操作。在备选实施例中,某些逻辑操作可按照不同的顺序执行,被修改或除去。此外,可向上述逻辑增加操作,并且所述操作仍然符合所描述的实施例。此外,这里描述的操作可顺序进行,或者某些操作可并行处理,或者描述成由单一进程执行的操作可由分布式进程执行。
图2、3、4、5A、5B、5C和6的图解逻辑可用软件、硬件、可编程和不可编程的门阵列逻辑实现,或者用硬件、软件或门阵列逻辑的某一组合实现。
图8图解说明可根据一些实施例使用的系统体系结构800。客户机计算机100和/或服务器计算机120可实现系统体系结构800。系统体系结构800适合于保存和/或执行程序代码,并且包括通过系统总线820直接或间接地与存储元件804耦接的至少一个处理器802。存储元件804可包括在程序代码的实际执行期间采用的本地存储器,大容量存储器,和提供至少一些程序代码的临时存储,以便减少在执行期间,必须从大容量存储器中取出代码的次数的高速缓冲存储器。存储元件804包括操作系统805和一个或多个计算机程序806。
输入/输出(I/O)装置812.814(包括,但不限于键盘、显示器、指示装置等)可直接地或者通过居间的I/O控制器810与系统耦接。
网络适配器808也可与系统耦接,从而使数据处理系统变成通过居间的专用或公共网络与其它数据处理系统或者远程打印机或存储装置耦接。调制解调器、线缆调制解调器和以太网卡就是目前可用的各种网络适配器808中的几种。
系统体系结构800可与存储器816(例如,非易失性存储区,比如磁盘驱动器,光盘驱动器,磁带驱动器等)耦接。存储器816可包含内部存储装置或者附加的或可网络访问的存储器。存储器816中的计算机程序806可按照本领域已知的方式被装入存储元件804中并由处理器802执行。
系统体系结构800可包括比图解说明的组件更少的组件、这里未图解说明的另外组件或者图解说明的组件与其它组件的一些组合。系统体系结构800可包含本领域中已知的任何计算设备,例如大型机,服务器,个人计算机,工作站,膝上型计算机,手持式计算机,电话机,网络设备,虚拟化设备,存储控制器等。
上面出于举例说明的目的,给出了本发明的实施例的说明。所述说明不是详尽的,也不意图把实施例局限于公开的确切形式。鉴于上述教导,许多修改和变化都是可能的。实施例的范围并不由该详细说明限定,而是由附加的权利要求限定。上面的说明,例子和数据完整地描述了实施例的组成的制造和使用。由于在不脱离实施例的精神和范围的情况下可做出许多实施例,因此实施例存在于下面附加的权利要求或者任何后来提出的权利要求,以及它们的等同物中。
Claims (18)
1、一种计算机实现的备用设备管理方法,包括:
依据类型把候选设备分成备用覆盖组;
从备用覆盖组中识别具有所需类型的最接近相称特性的一个或多个候选设备;
把识别的一个或多个候选设备分配为备用覆盖组的备用设备;
确定是否已向备用覆盖组分配了所需数目的备用设备;
响应确定还没有分配所需数目的备用设备,为每一预定数目的具有最接近相称特性的候选设备分配具有最接近相称特性的备用设备,直到分配了所需数目的具有最接近相称特性的备用设备为止。
2、按照权利要求1所述的方法,其中所述为每一预定数目的具有最接近相称特性的候选设备分配具有最接近相称特性的备用设备、直到分配了所需数目的具有最接近相称特性的备用设备为止的步骤还包括:
为每一预定数目的具有最接近相称特性的候选设备分配具有次最接近相称特性的备用设备,直到分配了所需数目的具有次最接近相称特性的备用设备为止。
3、按照权利要求2所述的方法,其中所述为每一预定数目的具有最接近相称特性的候选设备分配具有次最接近相称特性的备用设备、直到分配了所需数目的具有次最接近相称特性的备用设备为止的步骤还包括:
确定分配给备用覆盖组的备用设备的总数大于备用覆盖组的备用设备的所需数目;
确定对于备用覆盖组来说,是否存在任何手动分配的备用设备;
响应确定存在任何手动分配的备用设备,保留手动分配的备用设备;和
释放不是手动分配的一些备用设备。
4、按照权利要求1所述的方法,还包括通过如下步骤确定所需数目的备用设备:
确定用户是否输入了待分配的备用设备的数目的值;
响应确定用户输入了所述数目,把所述数目用作待分配的备用设备的总数;
响应确定用户未输入所述数目,把默认数目用作待分配的备用设备的总数;和
根据待分配的备用设备的总数和备用覆盖组的总数,确定每个备用覆盖组的待分配的备用设备的所需数目。
5、按照权利要求1所述的方法,其中在所述依据类型把候选设备分成备用覆盖组的步骤之前,还包括:
确定用户是否手动分配了备用设备;和
响应确定用户手动分配了备用设备,根据手动分配来分配备用设备。
6、按照权利要求1所述的方法,其中在所述分配了所需数目的具有最接近相称特性的备用设备之后,还包括:
确定是否释放了任何备用设备;
响应确定释放了至少一个备用设备,
确定是否存在自动合并的用户策略;
响应确定存在自动合并的用户策略,动态地把释放的设备合并到现有设备中,从而增大可用存储容量;和
使释放的设备可用于用户规定的用途。
7、按照权利要求6所述的方法,还包括:
响应确定不存在自动合并的用户策略,使释放的设备可用于用户规定的用途。
8、一种备用设备管理系统,包括:
用于依据类型把候选设备分成备用覆盖组的装置;
用于从备用覆盖组中识别具有所需类型的最接近相称特性的一个或多个候选设备的装置;
用于把识别的一个或多个候选设备分配为备用覆盖组的备用设备的装置;
用于确定是否已向备用覆盖组分配了所需数目的备用设备的装置;
用于响应确定还没有分配所需数目的备用设备,为每一预定数目的具有最接近相称特性的候选设备分配具有最接近相称特性的备用设备,直到分配了所需数目的具有最接近相称特性的备用设备为止的装置。
9、按照权利要求8所述的系统,还包括:
用于确定所需数目的备用设备是否已被分配给备用覆盖组的装置;和
用于为每一预定数目的具有最接近相称特性的候选设备分配具有次最接近相称特性的备用设备,直到分配了所需数目的具有次最接近相称特性的备用设备为止的装置。
10、按照权利要求8所述的系统,还包括:
用于确定分配给备用覆盖组的备用设备的总数大于备用覆盖组的备用设备的所需数目的装置;
用于确定对于备用覆盖组来说,是否存在任何手动分配的备用设备的装置;
用于响应确定存在任何手动分配的备用设备,保留手动分配的备用设备的装置;和
用于释放不是手动分配的一些备用设备的装置。
11、按照权利要求8所述的系统,还包括:
用于确定用户是否输入了待分配的备用设备的数目的值的装置;
用于响应确定用户输入了所述数目,把所述数目用作待分配的备用设备的总数的装置;
用于响应确定用户未输入所述数目,把默认数目用作待分配的备用设备的总数的装置;和
用于根据待分配的备用设备的总数和备用覆盖组的总数,确定每个备用覆盖组的待分配的备用设备的所需数目的装置。
12、按照权利要求8所述的系统,还包括:
用于确定用户是否手动分配了备用设备;和
用于响应确定用户手动分配了备用设备,根据手动分配来分配备用设备的装置。
13、按照权利要求8所述的系统,还包括:
用于确定是否释放了任何备用设备的装置;
用于响应确定释放了至少一个备用设备:
确定是否存在自动合并的用户策略;
响应确定存在自动合并的用户策略,动态地把释放的设备合并到现有设备中,从而增大可用存储容量;和
使释放的设备可用于用户规定的用途的装置。
14、按照权利要求13所述的系统,还包括:
用于响应确定不存在自动合并的用户策略,使释放的设备可用于用户规定的用途的装置。
15、一种计算机实现的备用设备管理方法,包括:
把具有最接近相称所需特性的一个或多个候选设备分配为备用设备,并为每一预定数目的具有最接近相称所需特性的候选设备分配具有最接近相称所需特性的备用设备,直到向备用覆盖组分配了至少所需数目的备用设备为止;
确定分配给备用覆盖组的备用设备的总数大于备用覆盖组的备用设备的所需数目;
确定是否存在任何手动分配的备用设备;
响应确定存在手动分配的备用设备,保留手动分配的备用设备;和
释放不是手动分配的一些备用设备。
16、按照权利要求15所述的方法,其中所述分配步骤是响应检测到指示备用设备分配将被评估的配置变化而执行的。
17、一种备用设备管理系统,包括:
用于把具有最接近相称所需特性的一个或多个候选设备分配为备用设备,并为每一预定数目的具有最接近相称所需特性的候选设备分配一个具有最接近相称所需特性的备用设备,直到向备用覆盖组分配了至少所需数目的备用设备为止的装置;
用于确定分配给备用覆盖组的备用设备的总数大于备用覆盖组的备用设备的所需数目的装置;
用于确定是否存在任何手动分配的备用设备的装置;
用于响应确定存在手动分配的备用设备,保留手动分配的备用设备的装置;和
用于释放不是手动分配的一些备用设备的装置。
18、按照权利要求17所述的系统,还包括用于响应检测到指示备用设备分配将被评估的配置变化,发生分配的装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/292,747 | 2005-12-01 | ||
US11/292,747 US7661012B2 (en) | 2005-12-01 | 2005-12-01 | Spare device management |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1975656A CN1975656A (zh) | 2007-06-06 |
CN100504748C true CN100504748C (zh) | 2009-06-24 |
Family
ID=38125754
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2006101321700A Expired - Fee Related CN100504748C (zh) | 2005-12-01 | 2006-10-12 | 备用设备管理的方法和系统 |
Country Status (2)
Country | Link |
---|---|
US (1) | US7661012B2 (zh) |
CN (1) | CN100504748C (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7506200B2 (en) * | 2006-01-25 | 2009-03-17 | International Business Machines Corporation | Apparatus and method to reconfigure a storage array disposed in a data storage system |
US20070233868A1 (en) * | 2006-03-31 | 2007-10-04 | Tyrrell John C | System and method for intelligent provisioning of storage across a plurality of storage systems |
US7506201B2 (en) * | 2006-08-28 | 2009-03-17 | International Business Machines Corporation | System and method of repair management for RAID arrays |
US7805633B2 (en) * | 2006-09-18 | 2010-09-28 | Lsi Corporation | Optimized reconstruction and copyback methodology for a disconnected drive in the presence of a global hot spare disk |
US20080126839A1 (en) * | 2006-09-19 | 2008-05-29 | Satish Sangapu | Optimized reconstruction and copyback methodology for a failed drive in the presence of a global hot spare disc |
US9619353B2 (en) | 2010-10-06 | 2017-04-11 | International Business Machines Corporation | Redundant array of independent disk (RAID) storage recovery |
GB2502316A (en) | 2012-05-24 | 2013-11-27 | Ibm | Blade enclosure with interfaces for computer blades and conventional computers |
US10417093B2 (en) * | 2016-05-13 | 2019-09-17 | Netapp, Inc. | Methods for providing global spare data storage device management and devices thereof |
US10552272B2 (en) * | 2016-12-14 | 2020-02-04 | Nutanix, Inc. | Maintaining high availability during N-node failover |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0792775B2 (ja) * | 1989-12-11 | 1995-10-09 | 株式会社日立製作所 | 外部記憶装置群のスペース管理方法 |
US6658526B2 (en) * | 1997-03-12 | 2003-12-02 | Storage Technology Corporation | Network attached virtual data storage subsystem |
JPH10254631A (ja) * | 1997-03-14 | 1998-09-25 | Hitachi Ltd | コンピューターシステム |
US5831914A (en) * | 1997-03-31 | 1998-11-03 | International Business Machines Corporation | Variable size redundancy replacement architecture to make a memory fault-tolerant |
US6330621B1 (en) | 1999-01-15 | 2001-12-11 | Storage Technology Corporation | Intelligent data storage manager |
US6718434B2 (en) | 2001-05-31 | 2004-04-06 | Hewlett-Packard Development Company, L.P. | Method and apparatus for assigning raid levels |
US7236915B2 (en) * | 2001-08-09 | 2007-06-26 | Hewlett-Packard Development Company, L.P. | Technique and interface for computer system resource assignment |
US6684313B2 (en) * | 2001-08-15 | 2004-01-27 | Hewlett-Packard Development Company, L.P. | Managing storage contention in automated storage systems |
US20040039891A1 (en) | 2001-08-31 | 2004-02-26 | Arkivio, Inc. | Optimizing storage capacity utilization based upon data storage costs |
US7146522B1 (en) * | 2001-12-21 | 2006-12-05 | Network Appliance, Inc. | System and method for allocating spare disks in networked storage |
US6836832B1 (en) * | 2001-12-21 | 2004-12-28 | Network Appliance, Inc. | System and method for pre-selecting candidate disks based on validity for volume |
US7246268B2 (en) * | 2002-01-16 | 2007-07-17 | Sandisk Corporation | Method and apparatus for dynamic degradation detection |
US6996752B2 (en) * | 2002-05-13 | 2006-02-07 | Lsi Logic Corporation | System, method, and computer program product within a data processing system for converting a spare storage device to a defined storage device in a logical volume |
US20030217305A1 (en) | 2002-05-14 | 2003-11-20 | Krehbiel Stanley E. | System, method, and computer program product within a data processing system for assigning an unused, unassigned storage device as a replacement device |
US6934804B2 (en) | 2002-05-28 | 2005-08-23 | Sun Microsystems, Inc. | Method and system for striping spares in a data storage system including an array of disk drives |
US20040177218A1 (en) | 2002-11-06 | 2004-09-09 | Meehan Thomas F. | Multiple level raid architecture |
JP2004227098A (ja) * | 2003-01-20 | 2004-08-12 | Hitachi Ltd | 記憶デバイス制御装置の制御方法、及び記憶デバイス制御装置 |
JP4283004B2 (ja) * | 2003-02-04 | 2009-06-24 | 株式会社日立製作所 | ディスク制御装置およびディスク制御装置の制御方法 |
US20040181707A1 (en) | 2003-03-11 | 2004-09-16 | Hitachi, Ltd. | Method and apparatus for seamless management for disaster recovery |
US7664913B2 (en) * | 2003-03-21 | 2010-02-16 | Netapp, Inc. | Query-based spares management technique |
US7478154B2 (en) * | 2003-06-26 | 2009-01-13 | Hewlett-Packard Development Company, L.P. | Storage system with link selection control |
US7010657B2 (en) | 2003-07-21 | 2006-03-07 | Motorola, Inc. | Avoiding deadlock between storage assignments by devices in a network |
US7216244B2 (en) * | 2004-02-25 | 2007-05-08 | Hitachi, Ltd. | Data storage system with redundant storage media and method therefor |
US7769975B2 (en) * | 2004-11-15 | 2010-08-03 | International Business Machines Corporation | Method for configuring volumes in a storage system |
-
2005
- 2005-12-01 US US11/292,747 patent/US7661012B2/en not_active Expired - Fee Related
-
2006
- 2006-10-12 CN CNB2006101321700A patent/CN100504748C/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN1975656A (zh) | 2007-06-06 |
US7661012B2 (en) | 2010-02-09 |
US20070220318A1 (en) | 2007-09-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100504748C (zh) | 备用设备管理的方法和系统 | |
US7558915B2 (en) | System and method for updating the firmware of a device in a storage network | |
CN100590607C (zh) | 存储系统以及存储区域释放方法以及存储装置 | |
CN102209952B (zh) | 存储系统和用于操作存储系统的方法 | |
CN109471592B (zh) | 存储设备以及包括在存储设备中的控制器 | |
US7721146B2 (en) | Method and system for bad block management in RAID arrays | |
CN101971168B (zh) | 动态量化和提高分布式数据存储系统的可靠性 | |
CN104376875B (zh) | 存储设备寿命预测、确定方法及装置 | |
CN101369247B (zh) | 创建存储器缺陷映射表并使用该映射表优化性能的方法 | |
EP3916559A1 (en) | Prioritizing data reconstruction in distributed storage systems | |
US7328326B2 (en) | Storage device | |
US9519556B2 (en) | Member replacement in an array of information storage devices | |
CN103946846A (zh) | 使用虚拟驱动作为用于raid组的热备用 | |
CN101425022A (zh) | 虚拟机设备的动态分配 | |
CN103080894A (zh) | 存储系统、存储系统的管理方法和程序 | |
US20060101203A1 (en) | Storage virtualization apparatus | |
CN103793182A (zh) | 可扩展存储保护 | |
CN101482838A (zh) | 基于写时拷贝的数据写入方法及设备 | |
CN102999587A (zh) | 用于故障转移的跨不同服务器的镜像数据库的布置 | |
US20160132258A1 (en) | Enhanced Reconstruction in an Array of Information Storage Devices by Physical Disk Reduction without Losing Data | |
CN104272242A (zh) | 创建加密存储体 | |
CN101256529B (zh) | 管理数据阵列中的冗余的方法和系统 | |
CN105872031A (zh) | 存储系统 | |
CN101566930B (zh) | 虚拟磁盘驱动系统和方法 | |
US9921783B2 (en) | Dynamically allocating temporary replacement storage for a drive in a raid array |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20090624 Termination date: 20151012 |
|
EXPY | Termination of patent right or utility model |