CN102368222A - 一种多副本存储***在线修复的方法 - Google Patents
一种多副本存储***在线修复的方法 Download PDFInfo
- Publication number
- CN102368222A CN102368222A CN2011103283174A CN201110328317A CN102368222A CN 102368222 A CN102368222 A CN 102368222A CN 2011103283174 A CN2011103283174 A CN 2011103283174A CN 201110328317 A CN201110328317 A CN 201110328317A CN 102368222 A CN102368222 A CN 102368222A
- Authority
- CN
- China
- Prior art keywords
- copy
- mds
- primary
- primary copy
- record
- 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.)
- Pending
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种多副本存储***在线修复的方法,采用多副本的方式保存对象,提高***的可靠性,同一对象的不同副本存储在不同的OSD上,同一对象的副本中有一个是主副本,修改操作发给该副本,主副本将操作发给从副本,主副本出现故障时,通过换主操作,由MDS选择新的主副本,MDS记录故障信息,从副本出现故障时,主副本告知MDS,MDS记录该故障对象信息,故障解除后,触发数据修复,在MDS的总控制下,完成数据的修复,OSD节点宕机时,客户端向MDS申请换主,换主完成后,继续操作该对象。本发明通过在线的方式对副本的一致性进行修复,提高了***的可靠性和可用性。
Description
技术领域
本发明涉及计算机存储领域,具体来说,涉及了一种基于对象存储***的在线修复方法。
背景技术
对象存储***中,采用多副本的方式能够提高***的可靠性。通过普通存储设备构建的分布式存储***中,磁盘故障、网络故障及节点宕机是经常发生的,因此***需要提供在线处理故障的能力,使***能够提供稳定可靠的服务。
当前,大多数的***是通过离线的方式进行修复故障,这样就大大降低了***的可用性。
伴随着***规模不断扩大、网络的复杂性大大增加,使得网络故障处理面临巨大的挑战,同时大量廉价磁盘设备及廉价服务器的使用,使得***的磁盘故障和节点宕机的概率大大增加。
发明内容
本发明的目的在于提供一种高可靠性,高可用性的基于对象存储的对象在线修复方法。
一种多副本存储***在线修复的方法,
将对象采用多副本方式保存,同一对象的不同副本存储在不同的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上记录了副本之间不一致的日志信息,当对象修复完成时,通过追加一条特定日志条目,表示此前的对象日志已经被应用过。在适当的时机,对全部应用过的日志进行删除,回收无效日志占用的磁盘空间。
外部数据交互过程:用户通过客户端与***进行数据读写,客户端提供通用文件***接口,用户使用时与本地文件***没有区别。
内部数据交互过程:客户端向MDS获取对象的存储信息及副本信息;将写的数据发给主副本,主副本进行内存操作,并记录内存日志,主副本将写操作转发给从副本,同时也将日志编号带给从副本;完成内存操作后,主副本应答客户端;主副本进行主从的磁盘操作,如果出现错误,则记录一致性日志,清除内存的日志。
下面结合附图举例对本发明做更细地描述:
图1为***的交互模型工作过程图。
客户端从MDS获取对象的存储位置信息,向主副本发起写操作;主副本将数据接受后,向从副本转发;从副本接受数据后,应答主副本;主副本得到全部从副本应答后,向客户端应答写完成。
图2为***的网络故障处理图。
1接受来自客户端的页面,通过网络层获取
2进行本地的内存操作
3将页面转发给从副本
4从副本应答失败或超时
5主副本保存从副本状态,向MDS报告副本状态
6后续的操作不再向失败的副本发送数据操作,直到修复完成图3为***的主副本故障处理。
1主副本处理过程中出现故障
2主副本向MDS发起换主请求
3MDS将主副本换走
4元主副本由主变成从
5客户端向新主副本发送写操作,在未修复之前,新主不再向失败的副本发送写操作(原主)
图4为主节点宕机的处理过程。
1客户端操作过程中发现主节点宕机
2客户端向MDS发起换主
3MDS处理换主
4客户端向新的主副本进行操作
5原主OSD重启加入***时,需要将主变成从,由OSD的重新加入流程进行处理。
图5为在线修复的总体流程
在MDS的总体控制下,由OSD的修复工作者线程负责修复单个对象。
Claims (6)
1.一种多副本存储***在线修复的方法,其特征在于:
将对象采用多副本方式保存,同一对象的不同副本存储在不同的OSD上;
在同一对象的副本中选定一个主副本,每次的修改操作在主副本上进行,主副本修改完成后,将修改操作同步到从副本;
主副本出现故障时,向MDS发起更换主副本请求,MDS选择一个从副本作为新的主副本,并记录故障信息日志;
从副本出现故障时,主副本将故障信息告知MDS,MDS记录该故障对象的信息;
故障解除后,触发故障在线修复,在MDS控制下,由主副本主导修复对象,对象之间是相互独立的,每修复一个对象,将该对象的最新信息在MDS上修正,如果修复过程中因新的故障终止,重新开始修复时,不再重复修复已经修复好的对象;
OSD主节点宕机时,客户端向MDS申请更换主副本,更换完成后,继续操作对象;OSD从节点宕机时,主节点记录一致性日志,并报告MDS副本状态。
2.如权利要求1所述的方法,其特征在于:用户通过所述客户端与***进行数据读写,所述客户端提供通用文件***接口,所述客户端向MDS获取对象的存储信息及副本信息;将写的数据发给主副本,主副本进行内存操作,并记录内存日志,主副本将写操作转发给从副本,同时也将日志编号带给从副本;完成内存操作后,主副本应答客户端;主副本进行主从的磁盘操作,如果出现错误,则记录一致性日志,清除内存的日志。
3.如权利要求1所述的方法,其特征在于:所述副本的修改操作当数据转发到从副本的内存后才应答客户端,只有当所有副本同时故障时,才不能保证副本的一致性。
4.如权利要求1所述的方法,其特征在于:所述OSD记录了副本之间不一致的日志信息,当对象修复完成时,追加一条标志日志条目记录此前的对象日志已经被应用,在确定所有应用过的日志无效后,可以对日志进行删除回收磁盘空间。
5.如权利要求1所述的方法,其特征在于:所述副本修复是通过触发启动的,包括手动触发和自动触发,自动触发须设定触发条件。
6.如权利要求5所述的方法,其特征在于:所述触发条件包括磁盘失效,网络重连和一致性日志过大。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011103283174A CN102368222A (zh) | 2011-10-25 | 2011-10-25 | 一种多副本存储***在线修复的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011103283174A CN102368222A (zh) | 2011-10-25 | 2011-10-25 | 一种多副本存储***在线修复的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102368222A true CN102368222A (zh) | 2012-03-07 |
Family
ID=45760787
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2011103283174A Pending CN102368222A (zh) | 2011-10-25 | 2011-10-25 | 一种多副本存储***在线修复的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102368222A (zh) |
Cited By (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102880522A (zh) * | 2012-09-21 | 2013-01-16 | 中国人民解放军国防科学技术大学 | 面向硬件故障的***关键文件故障纠正方法及装置 |
CN102981934A (zh) * | 2012-12-21 | 2013-03-20 | 曙光信息产业(北京)有限公司 | 日志转移方法和日志转移装置 |
CN103019886A (zh) * | 2012-12-11 | 2013-04-03 | 曙光信息产业(北京)有限公司 | 多元数据服务器下日志***的恢复方法和装置 |
CN103370692A (zh) * | 2012-11-21 | 2013-10-23 | 华为技术有限公司 | 一种修复数据的方法及装置 |
CN103530205A (zh) * | 2013-10-23 | 2014-01-22 | 曙光信息产业(北京)有限公司 | 多副本中故障副本的处理方法和装置 |
CN103544081A (zh) * | 2013-10-23 | 2014-01-29 | 曙光信息产业(北京)有限公司 | 双元数据服务器的管理方法和装置 |
CN103607448A (zh) * | 2013-11-18 | 2014-02-26 | 四川川大智胜软件股份有限公司 | 一种atc***动态数据存储的方法 |
CN104239182A (zh) * | 2014-09-03 | 2014-12-24 | 北京鲸鲨软件科技有限公司 | 一种集群文件***脑裂处理方法和装置 |
CN104281631A (zh) * | 2013-07-12 | 2015-01-14 | 中兴通讯股份有限公司 | 分布式数据库***及其数据同步方法和节点 |
CN106201788A (zh) * | 2016-07-26 | 2016-12-07 | 乐视控股(北京)有限公司 | 用于分布式存储集群的副本修复方法及*** |
CN107153671A (zh) * | 2016-03-02 | 2017-09-12 | 阿里巴巴集团控股有限公司 | 一种在分布式***中实现多文件副本读写的方法与设备 |
CN107291591A (zh) * | 2017-06-14 | 2017-10-24 | 郑州云海信息技术有限公司 | 一种存储故障修复方法及装置 |
CN107864209A (zh) * | 2017-11-17 | 2018-03-30 | 北京联想超融合科技有限公司 | 数据写入的方法、装置及服务器 |
CN108235751A (zh) * | 2017-12-18 | 2018-06-29 | 华为技术有限公司 | 识别对象存储设备亚健康的方法、装置和数据存储*** |
CN109189738A (zh) * | 2018-09-18 | 2019-01-11 | 郑州云海信息技术有限公司 | 一种分布式文件***中主osd的选取方法、装置及*** |
CN109992452A (zh) * | 2019-03-29 | 2019-07-09 | 新华三技术有限公司 | 一种故障处理方法及装置 |
CN111125024A (zh) * | 2019-11-29 | 2020-05-08 | 浪潮电子信息产业股份有限公司 | 一种分布式***文件的删除方法、装置、设备及存储介质 |
CN112506710A (zh) * | 2020-12-16 | 2021-03-16 | 深信服科技股份有限公司 | 分布式文件***数据修复方法、装置、设备及存储介质 |
CN112711376A (zh) * | 2019-10-25 | 2021-04-27 | 北京金山云网络技术有限公司 | 对象存储***中对象主副本文件的确定方法及装置 |
CN117093406A (zh) * | 2023-10-18 | 2023-11-21 | 浙江印象软件有限公司 | 日志中心的维护方法及*** |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050283655A1 (en) * | 2004-06-21 | 2005-12-22 | Dot Hill Systems Corporation | Apparatus and method for performing a preemptive reconstruct of a fault-tolerand raid array |
CN102023816A (zh) * | 2010-11-04 | 2011-04-20 | 天津曙光计算机产业有限公司 | 一种对象存储***的对象存放策略和访问方法 |
CN102033786A (zh) * | 2010-11-04 | 2011-04-27 | 天津曙光计算机产业有限公司 | 一种对象存储***中修复副本一致性的方法 |
-
2011
- 2011-10-25 CN CN2011103283174A patent/CN102368222A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050283655A1 (en) * | 2004-06-21 | 2005-12-22 | Dot Hill Systems Corporation | Apparatus and method for performing a preemptive reconstruct of a fault-tolerand raid array |
CN102023816A (zh) * | 2010-11-04 | 2011-04-20 | 天津曙光计算机产业有限公司 | 一种对象存储***的对象存放策略和访问方法 |
CN102033786A (zh) * | 2010-11-04 | 2011-04-27 | 天津曙光计算机产业有限公司 | 一种对象存储***中修复副本一致性的方法 |
Cited By (37)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102880522A (zh) * | 2012-09-21 | 2013-01-16 | 中国人民解放军国防科学技术大学 | 面向硬件故障的***关键文件故障纠正方法及装置 |
CN102880522B (zh) * | 2012-09-21 | 2014-12-31 | 中国人民解放军国防科学技术大学 | 面向硬件故障的***关键文件故障纠正方法及装置 |
CN103370692A (zh) * | 2012-11-21 | 2013-10-23 | 华为技术有限公司 | 一种修复数据的方法及装置 |
US9983941B2 (en) | 2012-11-21 | 2018-05-29 | Huawei Technologies Co., Ltd. | Method and apparatus for recovering data |
CN103370692B (zh) * | 2012-11-21 | 2016-06-29 | 华为技术有限公司 | 一种修复数据的方法及装置 |
WO2014078997A1 (zh) * | 2012-11-21 | 2014-05-30 | 华为技术有限公司 | 一种修复数据的方法及装置 |
CN103019886A (zh) * | 2012-12-11 | 2013-04-03 | 曙光信息产业(北京)有限公司 | 多元数据服务器下日志***的恢复方法和装置 |
CN103019886B (zh) * | 2012-12-11 | 2016-03-30 | 曙光信息产业(北京)有限公司 | 多元数据服务器下日志***的恢复方法和装置 |
CN102981934A (zh) * | 2012-12-21 | 2013-03-20 | 曙光信息产业(北京)有限公司 | 日志转移方法和日志转移装置 |
CN104281631A (zh) * | 2013-07-12 | 2015-01-14 | 中兴通讯股份有限公司 | 分布式数据库***及其数据同步方法和节点 |
CN103544081A (zh) * | 2013-10-23 | 2014-01-29 | 曙光信息产业(北京)有限公司 | 双元数据服务器的管理方法和装置 |
CN103544081B (zh) * | 2013-10-23 | 2015-08-12 | 曙光信息产业(北京)有限公司 | 双元数据服务器的管理方法和装置 |
CN103530205A (zh) * | 2013-10-23 | 2014-01-22 | 曙光信息产业(北京)有限公司 | 多副本中故障副本的处理方法和装置 |
CN103607448A (zh) * | 2013-11-18 | 2014-02-26 | 四川川大智胜软件股份有限公司 | 一种atc***动态数据存储的方法 |
CN103607448B (zh) * | 2013-11-18 | 2016-08-24 | 四川川大智胜软件股份有限公司 | 一种atc***动态数据存储的方法 |
CN104239182A (zh) * | 2014-09-03 | 2014-12-24 | 北京鲸鲨软件科技有限公司 | 一种集群文件***脑裂处理方法和装置 |
CN104239182B (zh) * | 2014-09-03 | 2017-05-03 | 北京鲸鲨软件科技有限公司 | 一种集群文件***脑裂处理方法和装置 |
CN107153671A (zh) * | 2016-03-02 | 2017-09-12 | 阿里巴巴集团控股有限公司 | 一种在分布式***中实现多文件副本读写的方法与设备 |
CN107153671B (zh) * | 2016-03-02 | 2020-11-24 | 阿里巴巴集团控股有限公司 | 一种在分布式***中实现多文件副本读写的方法与设备 |
CN106201788A (zh) * | 2016-07-26 | 2016-12-07 | 乐视控股(北京)有限公司 | 用于分布式存储集群的副本修复方法及*** |
CN107291591A (zh) * | 2017-06-14 | 2017-10-24 | 郑州云海信息技术有限公司 | 一种存储故障修复方法及装置 |
CN107864209A (zh) * | 2017-11-17 | 2018-03-30 | 北京联想超融合科技有限公司 | 数据写入的方法、装置及服务器 |
CN107864209B (zh) * | 2017-11-17 | 2021-05-18 | 北京联想超融合科技有限公司 | 数据写入的方法、装置及服务器 |
CN108235751B (zh) * | 2017-12-18 | 2020-04-14 | 华为技术有限公司 | 识别对象存储设备亚健康的方法、装置和数据存储*** |
CN108235751A (zh) * | 2017-12-18 | 2018-06-29 | 华为技术有限公司 | 识别对象存储设备亚健康的方法、装置和数据存储*** |
US11320991B2 (en) | 2017-12-18 | 2022-05-03 | Huawei Technologies Co., Ltd. | Identifying sub-health object storage devices in a data storage system |
CN109189738A (zh) * | 2018-09-18 | 2019-01-11 | 郑州云海信息技术有限公司 | 一种分布式文件***中主osd的选取方法、装置及*** |
CN109992452B (zh) * | 2019-03-29 | 2021-06-18 | 新华三技术有限公司 | 一种故障处理方法及装置 |
CN109992452A (zh) * | 2019-03-29 | 2019-07-09 | 新华三技术有限公司 | 一种故障处理方法及装置 |
CN112711376A (zh) * | 2019-10-25 | 2021-04-27 | 北京金山云网络技术有限公司 | 对象存储***中对象主副本文件的确定方法及装置 |
CN111125024A (zh) * | 2019-11-29 | 2020-05-08 | 浪潮电子信息产业股份有限公司 | 一种分布式***文件的删除方法、装置、设备及存储介质 |
CN111125024B (zh) * | 2019-11-29 | 2022-05-24 | 浪潮电子信息产业股份有限公司 | 一种分布式***文件的删除方法、装置、设备及存储介质 |
US12001397B2 (en) | 2019-11-29 | 2024-06-04 | Inspur Electronic Information Industry Co., Ltd. | Method, apparatus and device for deleting distributed system file, and storage medium |
CN112506710A (zh) * | 2020-12-16 | 2021-03-16 | 深信服科技股份有限公司 | 分布式文件***数据修复方法、装置、设备及存储介质 |
CN112506710B (zh) * | 2020-12-16 | 2024-02-23 | 深信服科技股份有限公司 | 分布式文件***数据修复方法、装置、设备及存储介质 |
CN117093406A (zh) * | 2023-10-18 | 2023-11-21 | 浙江印象软件有限公司 | 日志中心的维护方法及*** |
CN117093406B (zh) * | 2023-10-18 | 2024-02-09 | 浙江印象软件有限公司 | 日志中心的维护方法及*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102368222A (zh) | 一种多副本存储***在线修复的方法 | |
US8521691B1 (en) | Seamless migration between replication technologies | |
US9740572B1 (en) | Replication of xcopy command | |
US8706700B1 (en) | Creating consistent snapshots across several storage arrays or file systems | |
US7587627B2 (en) | System and method for disaster recovery of data | |
US8352785B1 (en) | Methods for generating a unified virtual snapshot and systems thereof | |
EP2429134A1 (en) | Method and apparatus for checking and synchronizing data block in distributed file system | |
CN108897641B (zh) | 一种数据库主备环境下的日志分析服务实时同步*** | |
CN105528368A (zh) | 一种数据库迁移方法及装置 | |
CN104219085A (zh) | 一种数据库的数据处理方法、代理服务器及*** | |
EP3862883A1 (en) | Data backup method and apparatus, and system | |
EP2879040A1 (en) | Data storage method, data storage apparatus, and storage device | |
CN102710763B (zh) | 一种分布式缓存池化、分片及故障转移的方法及*** | |
US10049024B2 (en) | Data processing method, device, and system for storage unit | |
CN107315659B (zh) | 一种元数据的冗余备份方法及装置 | |
JP2006277208A (ja) | バックアップシステム、プログラム及びバックアップ方法 | |
JP2010033398A (ja) | トランザクションを処理する本番システムと該本番システムのバックアップ・システムである代行システムとを含む本番−代行システム | |
CN102023816A (zh) | 一种对象存储***的对象存放策略和访问方法 | |
US9146921B1 (en) | Accessing a file system during a file system check | |
CN108255576A (zh) | 虚拟机热迁移异常处理方法、装置和存储介质 | |
CN103544081B (zh) | 双元数据服务器的管理方法和装置 | |
KR101424568B1 (ko) | 트랜잭션 재시작 가능한 클라이언트 장치와 데이터베이스 서버 및 방법 | |
CN107153671B (zh) | 一种在分布式***中实现多文件副本读写的方法与设备 | |
US8229995B2 (en) | Data transfer processing apparatus, data transfer processing method, and computer product | |
CN105760251A (zh) | 一种备份数据的方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20120307 |