一种多副本存储系统的磁盘故障处理方法技术方案

技术编号:7217664 阅读:207 留言:0更新日期:2012-04-11 18:40
本发明专利技术提供了一种多副本存储系统的磁盘故障处理方法,采用多副本的方式保存对象,同一对象的不同副本存储在不同的OSD上;同一对象的副本中有一个是主副本,修改操作发给该副本,主副本将操作发给从副本;操作过程中出现IO错误时,通过磁盘故障模块确定磁盘故障类型,然后确定处理方法,如果是磁盘瞬时的故障,则等待该盘重新加入系统;如果是磁盘坏道,则认为对象坏道,重现对象;如果是磁盘永久失效,则重建该盘上的所有数据。本发明专利技术丰富了磁盘故障的处理,减少了修复数据的总量,大大提高了修复的效率。

【技术实现步骤摘要】

本专利技术涉及计算机存储领域,具体地说是一种基于对象存储系统的磁盘故障处理方法。
技术介绍
对象存储系统中,采用多副本的方式能够提高系统的可靠性。通过普通存储设备构建的分布式存储系统中,磁盘故障是经常发生的,因此系统需要提供在线处理磁盘故障的能力,使系统能够提供稳定可靠的服务。简单地将磁盘故障认定为磁盘失效,会造成大量数据的重建,浪费系统的带宽。在实践中,通过smart工具,将读写过程中遇到的磁盘错误进一步分为坏道、瞬时故障和永久故障,针对每种故障进行不同的处理。
技术实现思路
本专利技术的目的在于提供一种高可靠性,高可用性的基于对象存储的对象在线修复方法。,采用多副本的方式保存对象,同一对象的不同副本存储在不同的OSD上;同一对象的副本中有一个是主副本,修改操作发给该副本,主副本将操作发给从副本;操作过程中出现IO错误时,通过磁盘故障模块确定磁盘故障类型,然后确定处理方法,如果是磁盘瞬时的故障,则等待该盘重新加入系统;如果是磁盘坏道,则认为对象坏道,重现对象;如果是磁盘永久失效,则重建该盘上的所有数据。优选的,所述瞬时故障的磁盘,为其添加一个定时器,在定时器未触发之前,磁盘加入系统为可用,则取消定时器;否则将该磁盘视为永久失效,重建该磁盘上的数据。优选的,所述磁盘加入系统为可用后,只拷贝故障期间发生的数据操作。优选的,所述磁盘坏道时,记录该磁盘的坏道数,当磁盘坏道数超过阈值时,将磁盘按永久失效处理。优选的,所述磁盘永久失效后,OSD将该磁盘信息告知MDS,在MDS的主导下修复磁ο优选的,所述从副本在操作时,遇到磁盘故障,调用磁盘判定程序,确定磁盘的错误类型,报告给管理线程,从副本将错误类型应答主副本,主副本标识从副本的错误类型, 向MDS报告从副本故障状态,以后修复该从副本。优选的,所述主副本在操作时,遇到磁盘故障,调用磁盘判定程序,确定磁盘的错误类型,报告给管理线程,主副本触发换主操作,在MDS的控制下,选择新的主副本,并将旧主标识为错误,以后进行修复。优选的,所述重建磁盘数据的方法为,在MDS的总体控制下,由主副本修复对象,所述MDS存储着每个磁盘上的对象信息,当主副本在该盘上时,通过换主操作,重新选择可用的主副本,MDS为丢失的对象选择新的磁盘,将需要修复的对象发给主副本,由主副本主导对象的修复操作;所述主副本修复对象时,先设置修复标识,后续的客户端的修改操作由修复线程在修复的过程中处理,并应答客户端,修复线程继续修复对象,直到修复完成。优选的,所述修复过程中,如果出现新的故障,影响数据修复时,修复过程停止,待故障解除后,重新出发修复过程。本专利技术丰富了磁盘故障的处理,减少了修复数据的总量,大大提高了修复的效率。 附图说明图1为系统的存储方式图。图2磁盘故障处理图 图3修复磁盘的MDS处理过程图40SD上的主副本修复过程图5为系统的OSD修复对象的流程具体实施例方式下面结合附图举例对本专利技术做更细地描述外部数据交互过程用户通过客户端与系统进行数据读写,客户端提供通用文件系统接口,用户使用时与本地文件系统没有区别。内部数据交互过程客户端向MDS获取对象的存储信息及副本信息;客户端向主副本发数据读取操作,主副本出现EIO错误时,通过磁盘故障模块,验证磁盘的故障类型, 当前操作的对象进行换主操作,向本OSD的管理线程报告磁盘故障类型;如果从副本出现,当前操作向主副本应答,向本OSD的管理线程报告磁盘故障类型;管理线程对磁盘的故障做出处理坏道,则将坏道数增一,达到阈值后,按照永久失效处理;临时掉线,设置定时器,在指定时间内回到系统中,则恢复使用,否则按照永久失效处理;永久失效,报告给 MDS,触发对磁盘的修复。写操作中磁盘故障处理1磁盘故障处理总过程针对不同的故障类型,由OSD做出初步的处理,如果确定磁盘永久失效,则OSD将该磁盘信息告知MDS,在MDS的主导下修复该磁盘;如果是磁盘的坏道,则标识该处的对象无效,仅创建这部分对象;如果是磁盘瞬时的故障,假定磁盘一段时间内能够重新使用,为该盘添加定时器,当定时器未被触发之前,磁盘可用,则取消定时器,否则将该盘视为永久失效,重建该磁盘上的数据。2单个对象的操作处理2.1从副本处理操作从副本时,遇到磁盘故障,调用磁盘判定程序,确定磁盘的错误类型,报告给管理线程,从副本将错误类型应答主副本,主副本标识从副本的错误类型,向MDS报告从副本故障状态,以后修复该从副本。2. 2主副本处理 主副本操作时,遇到磁盘故障,调用磁盘判定程序,确定磁盘的错误类型,报告给管理线程,主副本触发换主操作,在MDS的控制下,选择新的主副本,并将旧主标识为错误, 以后进行修复。重建坏盘上的对象在MDS的总体控制下,由主副本修复对象。MDS存储着每个磁盘上的对象信息,当主副本在该盘上时,通过换主操作,重新选择可用的主副本,MDS为丢失的对象选择新的磁盘,将需要修复的对象发给主副本,由主副本主导对象的修复操作。主副本修复对象时,先设置修复标识,后续的客户端的修改操作由修复线程在修复的过程中处理,并应答客户端,修复线程继续修复对象,直到修复完成。创建新副本是由主副本根据MDS选择的新副本位置,创建新的从副本。修复过程中,出现新的故障,影响数据修复时,修复过程停止,待故障解除后,重新出发修复过程。图1为系统的存储方式图。通过MDS上的存储布局算法,将同以对象的不同副本存放在不同的OSD上。MDS记录每个磁盘上存储的对象信息。图2为系统的磁盘永久失效的处理方式图。当一个磁盘永久失效时,利用已有副本,在其它磁盘上创建新的副本,同时修改 MDS上的对象位置信息。图3为系统的磁盘坏道的处理方式。当磁盘出现坏道时,仅将坏道处的对象重建,磁盘的其它位置仍然可用。图4为系统的MDS上坏盘处理流程。1通过记录的信息,找出坏盘上的对象2如果该对象的主副本在坏盘上,通过换主操作,选择新的主副本3为对象选择新的磁盘,作为新副本的存放位置4将需要修复的对象发给主副本所在的OSD 图5为系统的OSD修复对象的流程1主副本接到MDS发来的需要修复的对象及新副本位置信息2设置对象修复标识,阻止新的客户端修改操作3修复该对象4向MDS报告修复完成,MDS更新副本的位置5解除修复标识。权利要求1.,其特征在于采用多副本的方式保存对象,同一对象的不同副本存储在不同的OSD上;同一对象的副本中有一个是主副本,修改操作发给该副本,主副本将操作发给从副本;操作过程中出现IO错误时,通过磁盘故障模块确定磁盘故障类型,然后确定处理方法,如果是磁盘瞬时的故障,则等待该盘重新加入系统;如果是磁盘坏道,则认为对象坏道, 重现对象;如果是磁盘永久失效,则重建该盘上的所有数据。2.如权利要求1所述的方法,其特征在于所述瞬时故障的磁盘,为其添加一个定时器,在定时器未触发之前,磁盘加入系统为可用,则取消定时器;否则将该磁盘视为永久失效,重建该磁盘上的数据。3.如权利要求2所述的方法,其特征在于所述磁盘加入系统为可用后,只拷贝故障期间发生的数据操作。4.如权利要求1所述的方法,其特征在于所述磁盘坏道时,记录该磁盘的坏道数,当磁盘坏道数超过阈值时,将磁盘按永久失效处理。5.如权利要求1所述的方法,其特征在于所述磁盘永久失效后,OSD将该磁盘信息告知M本文档来自技高网...

【技术保护点】

【技术特征摘要】

【专利技术属性】
技术研发人员:付根希姜国梁彭成苗艳超
申请(专利权)人:曙光信息产业北京有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术