CN109710180B - 一种分布式存储块设备恢复方法 - Google Patents
一种分布式存储块设备恢复方法 Download PDFInfo
- Publication number
- CN109710180B CN109710180B CN201811495839.1A CN201811495839A CN109710180B CN 109710180 B CN109710180 B CN 109710180B CN 201811495839 A CN201811495839 A CN 201811495839A CN 109710180 B CN109710180 B CN 109710180B
- Authority
- CN
- China
- Prior art keywords
- metadata
- directory
- storage
- block device
- steps
- 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.)
- Active
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及分布式数据存储技术领域,尤其是一种分布式存储块设备恢复方法。本发明的方法包括如下步骤:步骤1:导出每个存储节点上的元数据;步骤2:在每个存储节点上根据块设备的id将元数据归类存档;步骤3:将所有存储节点上同一个id的元数据拷贝至同一个目录;步骤4:将元数据进行合并。本发明解决了分布式集群故障时的块设备恢复问题。
Description
技术领域
本发明涉及分布式数据存储技术领域,尤其是一种分布式存储块设备恢复方法。
背景技术
分布式存储采用多副本策略,将数据分散在多个存储节点上,每个存储节点上最多存放一份数据。当集群里故障的存储节点数量超过副本数时,意味着数据的丢失,此时集群进入故障状态无法正常提供服务。此时只能将所有存储节点上的元数据导出,并将元数据逐一合并成为一副本数据。
发明内容
本发明解决的技术问题在于提供一种分布式存储块设备恢复方法;解决分布式集群故障时的块设备恢复问题。
本发明解决上述技术问题的技术方案是:
所述的方法包括如下步骤:
步骤1:导出每个存储节点上的元数据;
步骤2:在每个存储节点上根据块设备的id将元数据归类存档;
步骤3:将所有存储节点上同一个id的元数据拷贝至同一个目录;
步骤4:将元数据进行合并。
所述的步骤1具体为:
a、创建一个目录nodeA_mount,将存储节点数据存储分区挂载到目录nodeA_mount;
b、通过轮询的方式查找出所有以块设备的id开头的元数据;
c、创建一个元数据存放目录nodeA_export,将步骤b中的元数据拷贝至目录nodeA_export;
d、在每个存储节点都执行上述的步骤a、b、c。
所述的步骤2具体为:
a、在元数据存放目录nodeA_export里,通过轮询的方式匹配出相同块设备id的元数据;
b、将匹配出的元数据移动到以该块设备id命名的目录下;
c、在每个存储节点都执行上述的步骤a、b。
所述的步骤3中,恢复id是A的块设备具体步骤为:
a、创建一个目录A.collect。将所有存储节点上id为A的元数据拷贝并覆盖到目录A.collect,此时,目录A.collect里的元数据只剩下1副本;
b、计算出每个存储节点上id为A的元数据的MD5值并比较;
c、如存在MD5值不同的元数据,则继续执行步骤d;如不存在,则结束;
d、若查找出的元数据在3个以上,且其中两个的MD5值是一致,则放弃不一致的元数据,将MD5值相同的其中一个元数据拷贝至目录A.collect。
所述的步骤4具体为:
a、计算出目录A.collect所占用的存储空间b;
b、使用dd命令创建出一个空文件,命名为A.restore,文件大小不小于b;
c、使用dd的方式,将目录下的所有元数据逐个写入到空文件里,直至结束。
采用本发明的分布式存储块设备数据恢复方法,可以在分布式集群故障的情况下,将分布式存储里的块设备恢复出来,从而实现数据恢复。
附图说明
下面结合附图对本发明进一步说明:
图1是本发明中流程图。
具体实施方式
见图1所示,是本发明中分布式存储块设备恢复方法的流程图;该方法包括:
步骤1:导出每个存储节点上的元数据。
分布式存储故障后,我们需要导出块设备的元数据。每一个块设备的信息包含size、id等。块设备是由多个元数据组成,且根据多副本策略分布在多个存储节点上。每个元数据以所在块设备的id开头,后面附带一串随机数。
其步骤具体为:
a.创建一个目录nodeA_mount,将存储节点数据存储分区挂载到目录nodeA_mount;
b.通过轮询的方式查找出所有以块设备的id开头的元数据;
c.创建一个元数据存放目录nodeA_export,将步骤b中的元数据拷贝至目录nodeA_export;
d.每个在存储节点都执行上述的步骤a、b、c。
步骤2:在每个存储节点上根据不同块设备的id将元数据归类存档。
根据步骤1导出的元数据,需要根据id将元数据归类存放。
其步骤具体为:
a.在元数据存放目录nodeA_export里,通过轮询的方式匹配出相同块设备id的元数据;
b.将匹配出的元数据移动到以该块设备id命名的目录下。
c.在每个存储节点都执行上述的步骤a、b。
步骤3:将所有存储节点上相同id的元数据拷贝至同一个目录。
假设要恢复的块设备的id是A。
其步骤具体为:
a.创建一个目录A.collect。将所有存储节点上id为A的元数据拷贝并覆盖到目录A.collect,此时,目录A.collect里的元数据只剩下1副本。
b.计算出每个存储节点上id为A的元数据的MD5值并比较;
c.如存在MD5值不同的元数据,则继续执行步骤d;如不存在,则步骤3结束;
d.假设查找出的元数据在3个以上,且其中两个的MD5值是一致,则放弃不一致的元数据,将MD5值相同的其中一个元数据拷贝至目录A.collect。
步骤4:将元数据进行合并。
其步骤具体为:
a.计算出目录A.collect所占用的存储空间b;
b.使用dd命令创建出一个空文件,命名为A.restore,文件大小不小于b;
c.使用dd的方式,将目录下的所有元数据逐个写入到空文件里,直至结束。
Claims (4)
1.一种分布式存储块设备数据恢复方法,其特征在于:所述的方法包括如下步骤:
步骤1:导出每个存储节点上的元数据;
块设备是由多个元数据组成,且根据多副本策略分布在多个存储节点上;每个元数据以所在块设备的id开头,后面附带一串随机数;
所述的步骤1具体为:
a、创建一个目录nodeA_mount,将存储节点数据存储分区挂载到目录nodeA_mount;
b、通过轮询的方式查找出所有以块设备的id开头的元数据;
c、创建一个元数据存放目录nodeA_export,将步骤b中的元数据拷贝至目录nodeA_export;
d、在每个存储节点都执行上述的步骤a、b、c;
步骤2:在每个存储节点上根据块设备的id将元数据归类存档;
步骤3:将所有存储节点上同一个id的元数据拷贝至同一个目录;
步骤4:将元数据进行合并。
2.根据权利要求1所述的方法,其特征在于:所述的步骤2具体为:
a、在元数据存放目录nodeA_export里,通过轮询的方式匹配出相同块设备id的元数据;
b、将匹配出的元数据移动到以该块设备id命名的目录下;
c、在每个存储节点都执行上述的步骤a、b。
3.根据权利要求1所述的方法,其特征在于:所述的步骤3中,恢复id是A的块设备具体步骤为:
a、创建一个目录A.collect;将所有存储节点上id为A的元数据拷贝并覆盖到目录A.collect,此时,目录A.collect里的元数据只剩下1副本;
b、计算出每个存储节点上id为A的元数据的MD5值并比较;
c、如存在MD5值不同的元数据,则继续执行步骤d;如不存在,则结束;
d、若查找出的元数据在3个以上,且其中两个的MD5值是一致,则放弃不一致的元数据,将MD5值相同的其中一个元数据拷贝至目录A.collect。
4.根据权利要求3所述的方法,其特征在于:所述的步骤4具体为:
a、计算出目录A.collect所占用的存储空间b;
b、使用dd命令创建出一个空文件,命名为A.restore,文件大小不小于b;
c、使用dd的方式,将目录下的所有元数据逐个写入到空文件里,直至结束。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811495839.1A CN109710180B (zh) | 2018-12-07 | 2018-12-07 | 一种分布式存储块设备恢复方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811495839.1A CN109710180B (zh) | 2018-12-07 | 2018-12-07 | 一种分布式存储块设备恢复方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109710180A CN109710180A (zh) | 2019-05-03 |
CN109710180B true CN109710180B (zh) | 2022-04-01 |
Family
ID=66254072
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811495839.1A Active CN109710180B (zh) | 2018-12-07 | 2018-12-07 | 一种分布式存储块设备恢复方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109710180B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103577123A (zh) * | 2013-11-12 | 2014-02-12 | 河海大学 | 一种基于hdfs的小文件优化存储方法 |
CN103761193A (zh) * | 2013-12-17 | 2014-04-30 | 记忆科技(深圳)有限公司 | 抑制逻辑页碎片产生的方法及系统 |
CN104965835A (zh) * | 2014-07-30 | 2015-10-07 | 浙江大华技术股份有限公司 | 一种分布式文件系统的文件读写方法及装置 |
CN106503051A (zh) * | 2016-09-23 | 2017-03-15 | 暨南大学 | 一种基于元数据分类的贪婪预取型数据恢复系统及恢复方法 |
CN108388484A (zh) * | 2018-01-24 | 2018-08-10 | 上海爱数信息技术股份有限公司 | 一种保证cdp系统io一致性的系统及方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160070644A1 (en) * | 2014-09-10 | 2016-03-10 | Netapp, Inc. | Offset range operation striping to improve concurrency of execution and reduce contention among resources |
-
2018
- 2018-12-07 CN CN201811495839.1A patent/CN109710180B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103577123A (zh) * | 2013-11-12 | 2014-02-12 | 河海大学 | 一种基于hdfs的小文件优化存储方法 |
CN103761193A (zh) * | 2013-12-17 | 2014-04-30 | 记忆科技(深圳)有限公司 | 抑制逻辑页碎片产生的方法及系统 |
CN104965835A (zh) * | 2014-07-30 | 2015-10-07 | 浙江大华技术股份有限公司 | 一种分布式文件系统的文件读写方法及装置 |
CN106503051A (zh) * | 2016-09-23 | 2017-03-15 | 暨南大学 | 一种基于元数据分类的贪婪预取型数据恢复系统及恢复方法 |
CN108388484A (zh) * | 2018-01-24 | 2018-08-10 | 上海爱数信息技术股份有限公司 | 一种保证cdp系统io一致性的系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109710180A (zh) | 2019-05-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10795788B2 (en) | Remote data replication method and system | |
US11741048B2 (en) | Distributed write journals that support fast snapshotting for a distributed file system | |
JP5669867B2 (ja) | 重複排除データシステムにおけるガーベジコレクション用のシステムおよび方法 | |
CN108319602B (zh) | 数据库管理方法及数据库系统 | |
US11347600B2 (en) | Database transaction log migration | |
WO2016192375A1 (zh) | 存储设备及基于该存储设备的分块存储方法 | |
WO2016082156A1 (zh) | 元数据的恢复方法及装置 | |
EP3974973A1 (en) | Virtual machine backup method and device based on cloud platform data center | |
US11403176B2 (en) | Database read cache optimization | |
CN103617097A (zh) | 文件恢复方法及装置 | |
US10223205B2 (en) | Disaster recovery data sync | |
US9858287B2 (en) | Storage system | |
CN108255638A (zh) | 一种快照回滚方法及装置 | |
JP6281511B2 (ja) | バックアップ制御装置、バックアップ制御方法、及び、プログラム | |
CN113885809B (zh) | 数据管理系统及方法 | |
CN109753381B (zh) | 一种基于对象存储的持续数据保护方法 | |
US20150261465A1 (en) | Systems and methods for storage aggregates and infinite storage volumes | |
CN113254394B (zh) | 一种快照处理方法、系统、设备及存储介质 | |
CN109710180B (zh) | 一种分布式存储块设备恢复方法 | |
US10452496B2 (en) | System and method for managing storage transaction requests | |
CN105159790A (zh) | 一种数据抢救方法及文件服务器 | |
US10712941B2 (en) | Leveraging temporal locality to link files together and bypass accessing a central inode list | |
KR101623508B1 (ko) | 삭제된 이벤트 로그 파일을 복원하는 시스템 및 방법 | |
CN112650447B (zh) | 一种ceph分布式块存储的备份方法、系统及装置 | |
CN110618897B (zh) | 一种基于vgda信息恢复vg数据的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |