重建驱动数据的制作方法

文档序号:9693335阅读:660来源:国知局
重建驱动数据的制作方法
【专利说明】
【背景技术】
[0001]独立磁盘的冗余阵列(RAID)是通过存储具有冗余的数据而控制多个磁盘驱动并且提供容错(fau 11 to 1 erance)的存储技术。访问存储在磁盘驱动中数据的故障将使得阵列控制器使磁盘驱动发生故障并且启动从RAID中的其他磁盘驱动再生丢失的数据的重建进程。在该重建进程期间,RAID处于退化状态并且可以不是容错性的,这取决于所使用的特定RAID配置。如果发生另一故障,则来自故障磁盘驱动的整批数据可以丢失。
【附图说明】
[0002]参照附图在以下详细描述中描述了某些示例性实施例,其中:
[0003]图1是独立磁盘冗余阵列(RAID)系统的框图;
[0004]图2是重建预测性故障磁盘驱动的方法的进程流程图;
[0005]图3是示出了根据图2的方法200所执行的具体重建进程的示例的时间线;以及
[0006]图4是示出了存储了被配置为重建预测性故障磁盘驱动的代码的有形、非暂时性、计算机可读介质的框图。
【具体实施方式】
[0007]本公开涉及用于被预测为将要故障的RAID的磁盘重建磁盘驱动数据的技术。预测性备用重建(PSR:Predictive Spare Rebuild)是这样的进程:阵列控制器通过该进程识别被预测为将要故障的数据磁盘并且该进程在真实故障之前为其激活备用磁盘。通过直接地从预测性故障磁盘复制数据或者从阵列中的其他磁盘再生数据而在备用磁盘上重建关于预测性故障磁盘的主机数据。一旦备用重建操作完成,预测性故障磁盘被识别为已故障,因此其可以由客户替换。通过积极主动地替换被预测为将要故障的磁盘,可以避免RAID阵列的退化和潜在的数据丢失。
[0008]实施预测性备用重建的一种方式是从预测性故障磁盘复制主机数据并且仅在遇到不可纠正的读取错误时再生数据。然而,在一些情形中,预测性故障磁盘可以处于退化工作状态,并且因此可以缓慢地处理数据操作请求。在这些情况下,从预测性故障磁盘复制主机数据可以比从已有的良好数据磁盘再生主机数据花费更长时间,这导致低效的预测性备用重建。此外,在重建期间,主机(输入/输出)1/0将均写入至备用和预测性故障磁盘两者。因此,重建中的任何时间损失导致对以次优条件执行的磁盘的不必要的写入工作量。差的I/O工作量性能全局地影响存储阵列并且对整体系统性能产生负面影响。
[0009]本公开描述了可以通过实施重建性能监控工具而加速的预测性故障磁盘的重建的技术。性能算法通过基于每个模式的相对性能而在复制模式与再生模式之间切换而优化重建时间。结果是,可以更快地完成预测性备用重建。
[0010]图1是独立磁盘冗余阵列(RAID)系统的框图。RAID系统100可以包括被配置为操作磁盘驱动器阵列104的阵列的控制器102 AAID系统还可以包括主机计算机106,其可以通过阵列控制器102访问磁盘驱动器阵列104。每个磁盘驱动器110被配置为在一个或多个部分116或盘片(platter)上存储从主机106接收到的数据。阵列控制器102可以包括被配置为如果检测到故障条件则重建磁盘驱动数据的数据重建引擎108。数据重建引擎108可以以硬件或者硬件与编程代码的组合而实施。例如,重建引擎108可以包括用于存储指令的非暂时性计算机可读介质、用于执行指令的一个或多个处理器、或者其组合。
[0011]在一些实施例中,检测到的故障条件是预测的故障,其中磁盘驱动仍然是可操作的,但是基于各种可靠性的指示器而被预测为将要在不久的未来故障。各种自动监控系统可以用于预测磁盘驱动的故障。这种监控系统可以称作自我监控、分析及报告技术^^.1?.1'.)。如在此所使用,例如,术语“预测性故障磁盘”是指由诸如3.1^.1?.1'.系统的监控系统预测为将要故障的磁盘驱动。监控系统可以在阵列控制器102中实施。如果监控系统检测到故障条件,则监控系统可以触发预测性备用重建,其是在备用磁盘驱动上重新创建关于预测故障磁盘的数据的进程。
[0012]磁盘阵列104的RAID级别可以是任何合适的RAID级别,其可以基于特定实施方式的设计考虑而确定,诸如期望的冗余级别和性能特性。例如,磁盘阵列104可以配置作为RAID级别0、1、2、3、4、5或6。磁盘阵列104可以包括许多磁盘驱动110。磁盘阵列104还可以包括如果检测到故障条件则可以被激活的备用驱动112。在一些实施例中,磁盘阵列104还包括奇偶校验(parity)驱动114。奇偶校验驱动114可以包含如果原始数据毁坏或不可访问则可以用于再生预测性故障磁盘的数据的数据或逻辑。奇偶校验驱动114中的数据可以基于保留在磁盘驱动110上的现有数据而重新创建丢失的数据。
[0013]在一些实施例中,奇偶校验驱动114包含多个部分118,其中每个部分118对应于其各自的磁盘驱动部分116。在一些实施例中,驱动阵列114可以不包括专用的奇偶校验驱动114,而是奇偶校验部分118分布在磁盘驱动116之中。在一些实施例中,驱动阵列104可以具有多于一个的奇偶校验驱动114。在一些实施例中,驱动阵列104不包括奇偶校验驱动114。
[0014]取决于RAID配置,数据分条(striping)可以用于将主机数据存储至磁盘驱动阵列104。在数据分条中,诸如文件的逻辑有序的数据被分段并且存储在不同的磁盘驱动110或者磁盘驱动110的不同部分116上。被称作“数据条(stripe)”的数据分段可以均是相同的固定大小,其可以由用户指定。在将数据从预测性故障磁盘重建至备用驱动上期间,数据以被称作重建数据条操作的增量而在备用驱动上被重现创建。每个重建数据条操作在备用驱动上重建单个数据条的数据。
[0015]数据重建引擎可以使用用于在备用驱动112上重建预测性故障磁盘的数据的任何合适的技术。在数据的重建期间,数据重建引擎108可以在再生模式和复制模式之间切换。在复制模式下,数据从预测性故障磁盘被直接复制并且被存储至备用驱动112。在一些实施例中,阵列控制器102使用小型计算机系统接口(SCSI)命令以从预测性故障磁盘请求数据并且将数据存储至备用磁盘112。在再生模式下,数据重建引擎108使用在其他磁盘驱动110上的冗余数据而重建数据,在一些实施例中包括奇偶校验驱动114。如在此使用的,术语“再生”或“再生模式”是指用于未使用预测性故障磁盘而重建预测性故障磁盘的数据的任何技术。
[0016]数据重建引擎108还可以包括重建监控工具120和模式选择器122。重建监控工具120监控在再生模式期间和在复制模式期间所实现的性能。例如,重建监控工具120可以监控并记录其利用数据再生而重建一部分预测性故障驱动所花费的时间量以及其利用直接复制而重建一部分预测性故障驱动所花费的时间量。在一些实施例中,可以通过测量重建数据条操作的执行时间而监控每个模式的相对性能。两种技术的相对性能用于确定哪个模式用于重新创建预测性故障磁盘的数据。模式选择器122指示数据重建引擎108在再生模式或复制模式下操作,这取决于如由重建监控工具120所报告的两种模式的相对性能。例如,如果数据的再生比直接复制更快地被完成,则模式选择器122可以指示数据重建引擎108SP便所再生的数据在预测性故障磁盘上仍然可以是可访问的也使用再生模式。
[0017]图2是重建预测性故障磁盘驱动的方法的进程流程图。方法200可以例如由图1中所示的阵列控制器102的数据重建引擎108而执行。
[0018]在方框202处,阵列控制器102检测磁盘驱动的预测性故障。如上所述,例如可以由分析磁盘驱动的各个度量来预测故障的S.M.A.R.T.系统检测预测性故障。预测性故障的检测触发了数据重建引擎108以在备用驱动112上重建预测性故障磁盘的磁盘驱动数据。进程流程可以随后前进至方框204。
[0019]在方框204处,数据重建引擎108在初始时间段在复制模式下重建磁盘驱动数据。在该初始时间段期间,数据重建引擎108不监控复制模式的性能。实施初始时间段以使得较小数据容量磁盘驱动可以在再生模式开始之前完成重建。如果预测性故障磁盘包含足够低的存储量,则数据重建可以在初始时间段内完成并且进程流程可以终止而不会前进至方框206。如果在初始时间段期间遇到不可恢复的错误,则可以再生与不可恢复错误对应的数据。在数据再生之后,复制模式可以恢复。初始时间段的持续时间可以是任何合适的持续时间。在一些实施例中,初始时间段可以大约为五分钟。在一些实施例中,该初始时间段可以消除,在该情形中将跳过方框204。
[0020]在方框206处,阵列控制器102进入再生模式并且针对指定数目的样本重建驱动数据。如在此所使用的,术语“样本”是指在每个重建数据条操作期间重建的许多数据条。例如,如果每个样本存在五个数据条,每个重建数据条操作将重建五个数据条。每个样本的数据条的数目由数据重建引擎在运行时刻基于RAID容量的特性而确定。样本的执行时间用于建立再生时间基线。再生时间基线可以是在再生模式期间特征化样本的执行时间的任何合适的值。例如,再生时间基线可以被计算作为每个样本的平均执行时间。在一些实施例中,再生时间基线可以被确定为针对指定数目样本的总执行时间。用于建立再生时间基线的样本的指定数目可以是任何合适的数目,这取决于特定实施方式的设计考虑。例如,样本的数目可以是1、5、10、15、25、100、或任何其他合适的数目。
[0021]在一些实施例中,再生时间基线将仅基于洁净样本而确定。术语洁净在此意味着在样本的执行期间并未存在错误,例如没有不可恢复的读取错误(URE)、重试、超时、或者指示了已恢复错误的额外感测代码
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1