CN102033786A - 一种对象存储系统中修复副本一致性的方法 - Google Patents
一种对象存储系统中修复副本一致性的方法 Download PDFInfo
- Publication number
- CN102033786A CN102033786A CN 201010536455 CN201010536455A CN102033786A CN 102033786 A CN102033786 A CN 102033786A CN 201010536455 CN201010536455 CN 201010536455 CN 201010536455 A CN201010536455 A CN 201010536455A CN 102033786 A CN102033786 A CN 102033786A
- Authority
- CN
- China
- Prior art keywords
- copy
- daily record
- inconsistent
- mds
- disk
- 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.)
- Granted
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明提供了一种对象存储系统中修复副本一致性的方法。通过失效记录的方式记载副本间的不一致,由可用副本和失效日志将不一致的副本进行修复在正常的对象数据修改过程中,出现数据不一致时,将不一致的信息记载到对象所有可用副本所在的磁盘设备上,并将故障的对象信息在MDS上进行记录。修复时,MDS将失效的信息发给OSD,OSD根据失效日志,将对象进行一致性修复,且修复时仅影响正在修复对象的修改操作。
Description
技术领域
本发明涉及计算机存储领域,具体涉及一种对象存储系统中修复副本一致性的方法。
背景技术
在对象存储系统中,多个客户端经常并发地进行对象访问,而对象分散在不同的OSD上,为了提高对象的可靠性、可用性和高效性,往往将对象存储成多个副本,存储在不同的OSD上,这样访问所需的对象时,只需访问其中一个副本,这种机制称为复制机制。多复制主要是为了提高系统的可靠性和可用性,但是复制技术带来的问题是当一个副本发生变化时如何来保持各个副本的一致性,让使用者得到最新的对象更新。
目前对象存储系统中处理网络的偶尔断开及磁盘的临时掉线等异常情况时,将未同步的副本视为丢失,通过重建新副本的方式来维持副本的数目,如GFS。在对象较大的情况下,往往拷贝了大量的数据,浪费了系统的带宽。
发明内容
本发明目的是提供一种记录操作日志的方式来处理磁盘掉线及网络临时断开等偶发事件引起的副本不一致问题。
一种对象存储系统中修复副本一致性的方法,包括如下步骤:
A、多副本中指定一个副本作为主副本,该副本接受对象的修改操作;
B、主副本将修改操作同步给从副本;
C、主副本无法同步给其他从副本时,将该修改操作记录到本地日志中,同时报告MDS该对象的副本不一致,MDS中进行记录,日志中记录修改位置,同时主副本将日志追加到其他可用从副本中,主副本记录对象副本不一致的信息,后续的修改操作直接记录日志中,并且在同步副本时,告知其他副本是否记录日志;
D、当主副本本身故障时,通过换主操作,由MDS从其他可用的从副本中选择新的主副本,如果该对象之前有日志记录,那么新主上一定存在该对象的全部日志记录;
E、当OSD单点故障时,客户端向MDS发出换主请求,如果在OSD故障之前客户端的修改操作没有得到回应,则客户端认为本次修改操作已经造成了副本不一致,则客户端将本次修改信息发给MDS,MDS向将修改信息追加给可用副本的日志中,然后再选择新的主副本;
F、当从副本不一致时,启动副本一致性修复过程。
本发明的一种优选技术方案在于:所述F步骤副本一致性修复过程如下:
F1、MDS将所有不一致的对象发给主副本所在的OSD;
F2、主副本所在的OSD按照磁盘进行修复,修复一个磁盘时,向将磁盘上的日志拷贝到内存中,然后设置日志的模式为修复模式,后续的日志同时追加到磁盘和内存中;
F3、逐个修复该磁盘上的对象;
F4、修复其他磁盘。
本发明的一种较优选技术方案在于:所述F3步骤修复过程如下:
F31、冻结该对象,阻止新的修改操作;
F32、根据日志记录,逐条应用,如果是写操作,读取本地内容,发给不一致的从副本,如果是截断操作,读取本地的长度,向从副本发送截断操作,如果是删除操作,向从副本发送截断操作;
F33、日志应用完成,向本地和从副本日志中追加无效化日志信息;
F34、向MDS报告对象一致性修复完成;
F35、解冻对象。
本发明的又一优选技术方案在于:所述日志用于记录副本之间内容的不一致,日志记录逻辑操作,存放在有效副本所在的磁盘上,DS日志中记录的内容是不一致副本出现后该对象上的增量修改操作,不一致的副本是对象在出现不一致时刻的快照,日志中的增量修改操作和有效副本相结合能够快速地使快照与有效副本一致,DS日志存储在对象有效副本所在的磁盘上。
本发明带来的有益效果如下:
1、具备在线处理故障。
2、能够快速修复副本间的不一致。
3、修复时仅影响正在修复的对象。
4、能够处理磁盘故障和单点故障,网络故障及磁盘掉线。
5、提供较高的读取性能。
附图说明
图1为日志示意图
图2为使用日志修复图
图3为日志磁盘结构图
图4为正常修改流程图
图5为修改时故障处理图
图6为写操作的流程图
图7为修复框架图
具体实施方式
下面结合附图举例对本发明做更细地描述:
图1为系统的日志示例图。
在某一个时刻,OSD2与OSD3之间的连接完全断开,当客户端向主副本提交写操作后,主副本无法更新从副本S2,如图中所示,MDS和OSD中需要记载失效记录,其中DS中日志记录如下:
disk_mst中日志:flag,objidn,diskid_slv2,write range
disk_slv1中日志:flag,objidn,diskid_slv2,write range
图2为系统的利用日志修复示例图。
OSD根据日志中记录的不一致的位置信息,读取本地副本中的内容,发给不一致的从副本,完成数据修复。
图3为系统的日志在磁盘上的结构图。
日志在副本所在的磁盘上,记录的内容如图所示,
flag:表示在条日志是否被应用了,用于清理日志;
objid:表示一个对象;
diskid:的副本所在的磁盘,同一对象的副本存储在不同的磁盘上,因此objid和diskid唯一确定一个副本;
modify_ops:表示修改位置,即日志中记录的副本与最新的副本在该位置上有差异。
图4为系统的正常写流程图。
1客户端初次访问对象时,向MDS获取对象存储位置及副本信息,然后向主副本所在的OSD发送写操作,同时对象的副本信息;
2主副本所在的OSD2接到客户端的写请求后,异步发给从副本S1和S2
3主副本得到所有副本成功应答后,向客户端回应写成功。
图5为系统的写操作故障处理流程图。
1客户端根据自身缓存的信息向主副本发送写操作,同时携带副本信息;
2主副本所在OSD接受数据写操作,并向从副本发送写操作,从副本出现故障时,向MDS报告对象副本状态,同时在可用从副本所在的磁盘上记录操作日志;
3应答客户端。
图6为系统的写操作处理流程图。
OSD在写的过程中发现磁盘失效或坏道,向MDS报告,同时本地保存副本的状态,后续的写操作不再发给这些从副本。
图7为数据修复的流程图
数据修复时,MDS将所有不一致的对象发给主副本所在的OSD;
OSD按照磁盘进行修复;
先将一块磁盘上的日志读入到内存中,然后设置日志的模式为修复模式,后续追加的日志将同时添加到磁盘和内存中;
OSD逐个修复磁盘上的对象,修复过程如下:
冻结该对象,阻止新的修改操作;
逐条应用该对象的日志;
日志应用完成后,向所有副本发送无效化对象日志信息;
向MDS报告对象修复完成;
解冻该对象;
修复其他对象,直到修复完成所有的对象;
修复其他磁盘,直到所有的磁盘修复完成。
Claims (4)
1.一种对象存储系统中修复副本一致性的方法,其特征在于:包括如下步骤:
A、多副本中指定一个副本作为主副本,该副本接受对象的修改操作;
B、主副本将修改操作同步给从副本;
C、主副本无法同步给其他从副本时,将该修改操作记录到本地日志中,同时报告MDS该对象的副本不一致,MDS中进行记录,日志中记录修改位置,同时主副本将日志追加到其他可用从副本中,主副本记录对象副本不一致的信息,后续的修改操作直接记录日志中,并且在同步副本时,告知其他副本是否记录日志;
D、当主副本本身故障时,通过换主操作,由MDS从其他可用的从副本中选择新的主副本,如果该对象之前有日志记录,那么新主上一定存在该对象的全部日志记录;
E、当OSD单点故障时,客户端向MDS发出换主请求,如果在OSD故障之前客户端的修改操作没有得到回应,则客户端认为本次修改操作已经造成了副本不一致,则客户端将本次修改信息发给MDS,MDS向将修改信息追加给可用副本的日志中,然后再选择新的主副本;
F、当从副本不一致时,启动副本一致性修复过程。
2.如权利要求1所述一种对象存储系统中修复副本一致性的方法,其特征在于:所述F步骤副本一致性修复过程如下:
F1、MDS将所有不一致的对象发给主副本所在的OSD;
F2、主副本所在的OSD按照磁盘进行修复,修复一个磁盘时,向将磁盘上的日志拷贝到内存中,然后设置日志的模式为修复模式,后续的日志同时追加到磁盘和内存中;
F3、逐个修复该磁盘上的对象;
F4、修复其他磁盘。
3.如权利要求2所述一种对象存储系统中修复副本一致性的方法,其特征在于:所述F3步骤修复过程如下:
F31、冻结该对象,阻止新的修改操作;
F32、根据日志记录,逐条应用,如果是写操作,读取本地内容,发给不一致的从副本,如果是截断操作,读取本地的长度,向从副本发送截断操作,如果足删除操作,向从副本发送截断操作;
F33、日志应用完成,向本地和从副本日志中追加无效化日志信息;
F34、向MDS报告对象一致性修复完成;
F35、解冻对象。
4.如权利要求1所述一种对象存储系统中修复副本一致性的方法,其特征在于:所述日志用于记录副本之间内容的不一致,日志记录逻辑操作,存放在有效副本所在的磁盘上,DS日志中记录的内容是不一致副本出现后该对象上的增量修改操作,不一致的副本是对象在出现不一致时刻的快照,日志中的增量修改操作和有效副本相结合能够快速地使快照与有效副本一致,DS日志存储在对象有效副本所在的磁盘上。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010536455 CN102033786B (zh) | 2010-11-04 | 2010-11-04 | 一种对象存储系统中修复副本一致性的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010536455 CN102033786B (zh) | 2010-11-04 | 2010-11-04 | 一种对象存储系统中修复副本一致性的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102033786A true CN102033786A (zh) | 2011-04-27 |
CN102033786B CN102033786B (zh) | 2013-02-06 |
Family
ID=43886718
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201010536455 Active CN102033786B (zh) | 2010-11-04 | 2010-11-04 | 一种对象存储系统中修复副本一致性的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102033786B (zh) |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102368267A (zh) * | 2011-10-25 | 2012-03-07 | 曙光信息产业(北京)有限公司 | 一种维护分布式系统中副本一致性的方法 |
CN102368222A (zh) * | 2011-10-25 | 2012-03-07 | 曙光信息产业(北京)有限公司 | 一种多副本存储系统在线修复的方法 |
CN102385537A (zh) * | 2011-10-25 | 2012-03-21 | 曙光信息产业(北京)有限公司 | 一种多副本存储系统的磁盘故障处理方法 |
CN102508890A (zh) * | 2011-10-25 | 2012-06-20 | 无锡城市云计算中心有限公司 | 一种对象存储系统中对象一致性操作的方法 |
CN102508891A (zh) * | 2011-10-25 | 2012-06-20 | 曙光信息产业(北京)有限公司 | 一种基于丢弃的多元数据服务器元数据日志一致性的方法 |
CN102609454A (zh) * | 2012-01-12 | 2012-07-25 | 浪潮(北京)电子信息产业有限公司 | 一种分布式文件系统中的副本管理方法 |
CN102970350A (zh) * | 2012-11-05 | 2013-03-13 | 曙光信息产业(北京)有限公司 | 在存储系统中维护副本一致性的方法 |
CN103490936A (zh) * | 2013-10-10 | 2014-01-01 | 曙光信息产业(北京)有限公司 | 多副本系统中的副本同步方法和装置 |
CN103530205A (zh) * | 2013-10-23 | 2014-01-22 | 曙光信息产业(北京)有限公司 | 多副本中故障副本的处理方法和装置 |
CN104376088A (zh) * | 2014-11-19 | 2015-02-25 | 天津南大通用数据技术股份有限公司 | 一种云数据库的分布式同步方法及数据库系统 |
CN107220006A (zh) * | 2017-06-01 | 2017-09-29 | 深圳市云舒网络技术有限公司 | 一种基于tcmu虚拟磁盘的多数据副本一致性保证方法 |
CN107239544A (zh) * | 2017-06-05 | 2017-10-10 | 山东浪潮云服务信息科技有限公司 | 一种分布式存储的实现方法及装置 |
CN108647118A (zh) * | 2018-05-15 | 2018-10-12 | 新华三技术有限公司成都分公司 | 基于存储集群的副本异常恢复方法、装置及计算机设备 |
CN109992452A (zh) * | 2019-03-29 | 2019-07-09 | 新华三技术有限公司 | 一种故障处理方法及装置 |
CN110351386A (zh) * | 2019-07-23 | 2019-10-18 | 无锡华云数据技术服务有限公司 | 一种不同副本间的增量同步方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1758604A (zh) * | 2004-10-10 | 2006-04-12 | 中兴通讯股份有限公司 | 分布式系统中保持多个数据副本一致性的方法 |
US20070016632A1 (en) * | 2005-07-14 | 2007-01-18 | Yahoo! Inc. | System and method for synchronizing between a user device and a server in a communication network |
CN101187931A (zh) * | 2007-12-12 | 2008-05-28 | 浙江大学 | 分布式文件系统多文件副本的管理方法 |
US20090254526A1 (en) * | 2008-04-07 | 2009-10-08 | Telefonaktiebolaget Lm Ericsson | Network management information (nmi) distribution |
WO2009158460A2 (en) * | 2008-06-27 | 2009-12-30 | Motorola, Inc. | Ensuring consistency among shared copies of a data element |
-
2010
- 2010-11-04 CN CN 201010536455 patent/CN102033786B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1758604A (zh) * | 2004-10-10 | 2006-04-12 | 中兴通讯股份有限公司 | 分布式系统中保持多个数据副本一致性的方法 |
US20070016632A1 (en) * | 2005-07-14 | 2007-01-18 | Yahoo! Inc. | System and method for synchronizing between a user device and a server in a communication network |
CN101187931A (zh) * | 2007-12-12 | 2008-05-28 | 浙江大学 | 分布式文件系统多文件副本的管理方法 |
US20090254526A1 (en) * | 2008-04-07 | 2009-10-08 | Telefonaktiebolaget Lm Ericsson | Network management information (nmi) distribution |
WO2009158460A2 (en) * | 2008-06-27 | 2009-12-30 | Motorola, Inc. | Ensuring consistency among shared copies of a data element |
Cited By (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102508891B (zh) * | 2011-10-25 | 2013-08-28 | 曙光信息产业(北京)有限公司 | 一种基于丢弃的多元数据服务器元数据日志一致性的方法 |
CN102368222A (zh) * | 2011-10-25 | 2012-03-07 | 曙光信息产业(北京)有限公司 | 一种多副本存储系统在线修复的方法 |
CN102385537A (zh) * | 2011-10-25 | 2012-03-21 | 曙光信息产业(北京)有限公司 | 一种多副本存储系统的磁盘故障处理方法 |
CN102508890A (zh) * | 2011-10-25 | 2012-06-20 | 无锡城市云计算中心有限公司 | 一种对象存储系统中对象一致性操作的方法 |
CN102508891A (zh) * | 2011-10-25 | 2012-06-20 | 曙光信息产业(北京)有限公司 | 一种基于丢弃的多元数据服务器元数据日志一致性的方法 |
CN102368267A (zh) * | 2011-10-25 | 2012-03-07 | 曙光信息产业(北京)有限公司 | 一种维护分布式系统中副本一致性的方法 |
CN102385537B (zh) * | 2011-10-25 | 2014-12-03 | 曙光信息产业(北京)有限公司 | 一种多副本存储系统的磁盘故障处理方法 |
CN102609454A (zh) * | 2012-01-12 | 2012-07-25 | 浪潮(北京)电子信息产业有限公司 | 一种分布式文件系统中的副本管理方法 |
CN102970350A (zh) * | 2012-11-05 | 2013-03-13 | 曙光信息产业(北京)有限公司 | 在存储系统中维护副本一致性的方法 |
CN103490936A (zh) * | 2013-10-10 | 2014-01-01 | 曙光信息产业(北京)有限公司 | 多副本系统中的副本同步方法和装置 |
CN103490936B (zh) * | 2013-10-10 | 2017-04-26 | 曙光信息产业(北京)有限公司 | 多副本系统中的副本同步方法和装置 |
CN103530205A (zh) * | 2013-10-23 | 2014-01-22 | 曙光信息产业(北京)有限公司 | 多副本中故障副本的处理方法和装置 |
CN104376088A (zh) * | 2014-11-19 | 2015-02-25 | 天津南大通用数据技术股份有限公司 | 一种云数据库的分布式同步方法及数据库系统 |
CN107220006B (zh) * | 2017-06-01 | 2019-10-01 | 深圳市云舒网络技术有限公司 | 一种基于tcmu虚拟磁盘的多数据副本一致性保证方法 |
CN107220006A (zh) * | 2017-06-01 | 2017-09-29 | 深圳市云舒网络技术有限公司 | 一种基于tcmu虚拟磁盘的多数据副本一致性保证方法 |
CN107239544A (zh) * | 2017-06-05 | 2017-10-10 | 山东浪潮云服务信息科技有限公司 | 一种分布式存储的实现方法及装置 |
CN108647118A (zh) * | 2018-05-15 | 2018-10-12 | 新华三技术有限公司成都分公司 | 基于存储集群的副本异常恢复方法、装置及计算机设备 |
CN109992452A (zh) * | 2019-03-29 | 2019-07-09 | 新华三技术有限公司 | 一种故障处理方法及装置 |
CN109992452B (zh) * | 2019-03-29 | 2021-06-18 | 新华三技术有限公司 | 一种故障处理方法及装置 |
CN110351386A (zh) * | 2019-07-23 | 2019-10-18 | 无锡华云数据技术服务有限公司 | 一种不同副本间的增量同步方法及装置 |
CN110351386B (zh) * | 2019-07-23 | 2022-09-16 | 华云工业互联网有限公司 | 一种不同副本间的增量同步方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN102033786B (zh) | 2013-02-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102033786B (zh) | 一种对象存储系统中修复副本一致性的方法 | |
CN102024044B (zh) | 分布式文件系统 | |
CN103136074B (zh) | 多个磁盘阵列系统的数据储存方法及数据储存系统 | |
US9880762B1 (en) | Compressing metadata blocks prior to writing the metadata blocks out to secondary storage | |
US7539703B2 (en) | Setup method for disaster recovery system | |
CN106776130B (zh) | 一种日志恢复方法、存储装置和存储节点 | |
US8839031B2 (en) | Data consistency between virtual machines | |
JP4918940B2 (ja) | 正センタの仮想テープ装置、副センタの仮想テープ装置、仮想ライブラリシステムおよび仮想テープ制御方法 | |
CN106407040A (zh) | 一种远程数据复制方法及系统 | |
US10664441B2 (en) | Information processing system, information processing apparatus, and non-transitory computer-readable recording medium | |
US20050262316A1 (en) | Backup acquisition method and disk array apparatus | |
US8930751B2 (en) | Initializing replication in a virtual machine | |
CN103246478B (zh) | 一种基于软raid支持无分组式全局热备盘的磁盘阵列系统 | |
JP2007183930A (ja) | 異なるコピー技術を用いてデータをミラーリングするときの整合性の維持 | |
CN104050056A (zh) | 多存储介质设备的文件系统备份 | |
US10976942B2 (en) | Versioning a configuration of data storage equipment | |
US7567994B2 (en) | Method and apparatus to proactively capture and transmit dense diagnostic data of a file system | |
CN115098299B (zh) | 一种虚拟机的备份方法、容灾方法、装置及设备 | |
CN102750110B (zh) | 一种配置信息高可靠的磁盘阵列系统 | |
US20050273650A1 (en) | Systems and methods for backing up computer data to disk medium | |
US10255291B1 (en) | Replication of volumes using partial volume split | |
US10642508B2 (en) | Method to limit impact of partial media failure of disk drive and detect/report the loss of data for objects due to partial failure of media | |
CN104583966A (zh) | 用于去重复文件系统的备份和恢复系统以及对应的服务器和方法 | |
CN106528338A (zh) | 一种远程数据复制方法、存储设备及存储系统 | |
CN113885809B (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |