[发明专利]一种多副本存储系统在线修复的方法无效
申请号: | 201110328317.4 | 申请日: | 2011-10-25 |
公开(公告)号: | CN102368222A | 公开(公告)日: | 2012-03-07 |
发明(设计)人: | 付根希;姜国梁;彭成;杨浩;王勇;苗艳超 | 申请(专利权)人: | 曙光信息产业(北京)有限公司 |
主分类号: | G06F11/14 | 分类号: | G06F11/14 |
代理公司: | 北京安博达知识产权代理有限公司 11271 | 代理人: | 徐国文 |
地址: | 100084 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 副本 存储系统 在线 修复 方法 | ||
技术领域
本发明涉及计算机存储领域,具体来说,涉及了一种基于对象存储系统的在线修复方法。
背景技术
对象存储系统中,采用多副本的方式能够提高系统的可靠性。通过普通存储设备构建的分布式存储系统中,磁盘故障、网络故障及节点宕机是经常发生的,因此系统需要提供在线处理故障的能力,使系统能够提供稳定可靠的服务。
当前,大多数的系统是通过离线的方式进行修复故障,这样就大大降低了系统的可用性。
伴随着系统规模不断扩大、网络的复杂性大大增加,使得网络故障处理面临巨大的挑战,同时大量廉价磁盘设备及廉价服务器的使用,使得系统的磁盘故障和节点宕机的概率大大增加。
发明内容
本发明的目的在于提供一种高可靠性,高可用性的基于对象存储的对象在线修复方法。
一种多副本存储系统在线修复的方法,
将对象采用多副本方式保存,同一对象的不同副本存储在不同的OSD上;
在同一对象的副本中选定一个主副本,每次的修改操作在主副本上进行,主副本修改完成后,将修改操作同步到从副本;
主副本出现故障时,向MDS发起更换主副本请求,MDS选择一个从副本作为新的主副本,并记录故障信息日志;
从副本出现故障时,主副本将故障信息告知MDS,MDS记录该故障对象的信息;
故障解除后,触发故障在线修复,在MDS控制下,由主副本主导修复对象,对象之间是相互独立的,每修复一个对象,将该对象的最新信息在MDS上修正,如果修复过程中因新的故障终止,重新开始修复时,不再重复修复已经修复好的对象;
OSD主节点宕机时,客户端向MDS申请更换主副本,更换完成后,继续操作对象;OSD从节点宕机时,主节点记录一致性日志,并报告MDS副本状态。
优选的,用户通过所述客户端与系统进行数据读写,所述客户端提供通用文件系统接口,所述客户端向MDS获取对象的存储信息及副本信息;将写的数据发给主副本,主副本进行内存操作,并记录内存日志,主副本将写操作转发给从副本,同时也将日志编号带给从副本;完成内存操作后,主副本应答客户端;主副本进行主从的磁盘操作,如果出现错误,则记录一致性日志,清除内存的日志。
优选的,所述副本的修改操作当数据转发到从副本的内存后才应答客户端,只有当所有副本同时故障时,才不能保证副本的一致性。
优选的,所述OSD记录了副本之间不一致的日志信息,当对象修复完成时,追加一条标志日志条目记录此前的对象日志已经被应用,在确定所有应用过的日志无效后,可以对日志进行删除回收磁盘空间。
优选的,所述副本修复是通过触发启动的,包括手动触发和自动触发,自动触发须设定触发条件。
优选的,所述触发条件包括磁盘失效,网络重连和一致性日志过大。
本发明通过在线的方式对副本的一致性进行修复,提高了系统的可靠性和可用性。
附图说明
图1为系统的交互模型工作过程图。
图2从副本网络故障处理图
图3主副本故障处理图
图4主OSD故障处理图
图5数据修复控制图
具体实施方式
1采用多副本的方式保存对象,提高系统的可靠性,同一对象的不同副本存储在不同的OSD上;
2同一对象的副本中有一个是主副本,修改操作发给该副本,主副本将操作发给从副本,修改操作时,当数据转发到从副本的内存后才应答客户端,因此只要存在可用的副本,就能保证各个副本的一致性,当所有副本同时故障时,无法保证副本的一致性;
3主副本出现故障时,通过换主操作,由MDS选择新的主副本,MDS记录故障信息;
4从副本出现故障时,主副本告知MDS,MDS记录该故障对象信息;
5故障解除后,触发数据修复,在MDS的总控制下,由主副本主导修复对象,对象之间是相互独立的,每修复一个对象,该对象的最新信息在MDS上进行修正,修复过程中因新的故障终止,重新开始修复时,不再重复修复已经修复好的对象,数据修复的过程是通过触发启动的,支持通过手动触发和自动触发两种方式,根据实际需求,设定自动触发的条件,如磁盘失效、网络重连及一致性日志过大等;
6OSD节点宕机时,客户端向MDS申请换主,换主完成后,继续操作该对象,OSD上记录了副本之间不一致的日志信息,当对象修复完成时,通过追加一条特定日志条目,表示此前的对象日志已经被应用过。在适当的时机,对全部应用过的日志进行删除,回收无效日志占用的磁盘空间。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于曙光信息产业(北京)有限公司,未经曙光信息产业(北京)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110328317.4/2.html,转载请声明来源钻瓜专利网。