CN106021031B - 一种btrfs文件系统的删除数据恢复方法和装置 - Google Patents
一种btrfs文件系统的删除数据恢复方法和装置 Download PDFInfo
- Publication number
- CN106021031B CN106021031B CN201610373880.6A CN201610373880A CN106021031B CN 106021031 B CN106021031 B CN 106021031B CN 201610373880 A CN201610373880 A CN 201610373880A CN 106021031 B CN106021031 B CN 106021031B
- Authority
- CN
- China
- Prior art keywords
- file
- btrfs
- tree
- subregion
- normal
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/16—File or folder operations, e.g. details of user interfaces specifically adapted to file systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Human Computer Interaction (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明属于信息安全与计算机应用技术领域,具体涉及一种BTRFS文件系统的删除数据恢复方法和装置。该方法包括以下步骤,S1,获取磁盘分区的超级块内容,通过超级块中的魔数信息,判断该分区是否是BTRFS文件系统分区,如果是则执行步骤S2,否则结束;S2,通过超级块信息中的文件树指针,解析出正常文件树;S3,通过超级块信息中的主数据存储区域的树指针,获取元数据存储的区域;S4,在元数据区域搜索文件树的根节点,并存储在文件树根节点;S5,解析文件树根节点,读取该根节点的文件树,并与正常文件树进行比较,把多余的文件信息,挂载到正常文件树中;S6,判断是否还有未解析的文件树根节点,如果是则执行步骤S5,否则结束。
Description
技术领域
本发明属于信息安全与计算机应用技术领域,具体涉及一种BTRFS文件系统的删除数据恢复方法和装置。
背景技术
BTRFS由Oracle于2007年宣布并进行中的COW(copy-on-write式)文件系统。目标是取代Linux目前的ext3文件系统,改善ext3的限制,特别是单一文件大小的限制,总文件系统大小限制以及加入文件校验和特性。加入目前ext3/4未支持的一些功能,例如可写的磁盘快照(snapshots),以及支持递归的快照(snapshots of snapshots),内建磁盘阵列(RAID)支持,支持子卷(Subvolumes)的概念,允许在线调整文件系统大小,还集成了许多其他先进的功能和特性。
BTRFS文件系统还集成了许多先进的功能和特性,凭借着这些先进功能和特性,被广泛的用于Linux系统上。系统面临不可预料的硬件故障,BTRFS文件系统采用COW事务技术来保证文件系统的一致性,并且系统Reboot之后不需要执行fsck。BTRFS文件系统的COW技术从根本上避免了对同一个物理单元的反复写操作。如果用户打开了SSD优化选项,BTRFS文件系统将在底层的块空间分配策略上进行优化:将多次磁盘空间分配请求聚合成一个大小为2M的连续的块。大块连续地址的IO能够让固化在SSD内部的微代码更好的进行读写优化,从而提高IO性能。
目前,不仅缺乏关于BTRFS文件系统的资料,而且针对BTRFS文件系统的数据恢复技术相关资料也很难查到。
发明内容
针对BTRFS文件系统资料的缺乏,本发明在对BTRFS文件系统磁盘存储结构和特性的进行了研究后,提出了一种恢复BTRFS文件系统的删除文件的方法,该方法为在BTRFS文件系统上因为误删除或恶意删除而导致数据丢失提供了解决方案。
本发明采用如下技术方案:
一种BTRFS文件系统的删除数据恢复方法,它包括以下步骤,
S1,获取磁盘分区的超级块内容,通过超级块中的魔数信息,判断该分区是否是BTRFS文件系统分区,如果是则执行步骤S2,否则结束;
S2,通过超级块信息中的文件树指针,解析出正常文件树;
S3,通过超级块信息中的主数据存储区域的树指针,获取元数据存储的区域;
S4,在元数据区域搜索文件树的根节点,并存储在文件树根节点;
S5,解析文件树根节点,读取该根节点的文件树,并与正常文件树进行比较,把多余的文件信息,挂载到正常文件树中;
S6,判断是否还有未解析的文件树根节点,如果是则执行步骤S5,否则结束。
进一步的,步骤S1中判断分区是否是BTRFS文件系统分区的方法为判断魔数值是否为特定值,如果是则该分区是BTRFS文件系统分区,如果否则该分区不是BTRFS文件系统分区。
一种BTRFS文件系统的删除数据恢复装置,它包括,
解析正常文件树单元,获取磁盘分区的超级块内容,通过超级块中的魔数信息,判断该分区是否为BTRFS文件系统分区,如果是,通过超级块信息中的文件树指针,解析出正常文件树;
文件树根节点获取单元,通过超级块信息中的主数据存储区域的树指针,获取元数据存储的区域,在元数据区域搜索文件树的根节点,并存储在文件树根节点;
文件树恢复单元,解析文件树根节点,读取该根节点的文件树,并与正常文件树进行比较,把多余的文件信息,挂载到正常文件树中。
进一步的,解析正常文件树单元中判断分区是否是BTRFS文件系统分区的方法为判断魔数值是否为特定值,如果是则该分区是BTRFS文件系统分区,如果否则该分区不是BTRFS文件系统分区。
目前,针对BTRFS文件系统的资料还比较缺乏,因此国内外针对BTRFS文件系统的数据恢复技术相关信息几乎没有,也很少有软件支持BTRFS文件系统删除文件的恢复。本发明在对BTRFS文件系统磁盘存储结构和特性的进行了研究,并提出一种恢复BTRFS文件系统的删除文件的方法,该方法为在BTRFS文件系统上因为误删除或恶意删除而导致数据丢失提供了解决方案,填补了国内BTRFS删除文件恢复技术方面得空白。
附图说明
图1是BTRFS文件系统的删除数据恢复方法流程图;
图2是数据删除前的图;
图3是数据删除后的图;
图4是BTRFS文件系统删除后的镜像图;
图5是采用本发明的解析结果效果图。
具体实施方式
为进一步说明各实施例,本发明提供有附图。这些附图为本发明揭露内容的一部分,其主要用以说明实施例,并可配合说明书的相关描述来解释实施例的运作原理。配合参考这些内容,本领域普通技术人员应能理解其他可能的实施方式以及本发明的优点。图中的组件并未按比例绘制,而类似的组件符号通常用来表示类似的组件。
现结合附图和具体实施方式对本发明进一步说明。
参阅图1所示,本发明优选一实施例的BTRFS文件系统的删除数据恢复方法流程图。
它包括以下步骤,
S1,获取磁盘分区的超级块(superblock)内容,通过超级块中的魔数(magic)信息,判断该分区是否是BTRFS文件系统分区,如果是则执行步骤S2,否则结束;
BTRFS文件系统分区超级块中魔数的值是0x4D5F53665248525F,用ASCII码表示为_BHRFS_M。故该实施例判断分区是否是BTRFS文件系统分区的方法为判断魔数值是否为0x4D5F53665248525F,如果是则该分区是BTRFS文件系统分区,如果否则该分区不是BTRFS文件系统分区。
S2,通过超级块信息中的文件树指针(fs tree pointer),解析出正常文件树;
S3,通过超级块信息中的主数据存储区域的树指针(trunk tree pointer),获取元数据存储的区域;
S4,在元数据区域搜索文件树(FS Tree)的根节点,并存储在文件树根节点;
S5,解析FS Tree根节点,读取该根节点的文件树,并与正常文件树进行比较,把多余的文件信息,挂载到正常文件树中;
S6,判断是否还有未解析的FS Tree节点,如果是则执行步骤S5,否则结束。
此外,该实施例还提出了一种BTRFS文件系统的删除数据恢复装置,它包括,
解析正常文件树单元,获取磁盘分区的超级块内容,通过超级块中的魔数信息,判断该分区是否为BTRFS文件系统分区,如果是,通过超级块信息中的文件树指针,解析出正常文件树;
文件树根节点获取单元,通过超级块信息中的主数据存储区域的树指针,获取元数据存储的区域,在元数据区域搜索文件树的根节点,并存储在文件树根节点;
文件树恢复单元,解析文件树根节点,读取该根节点的文件树,并与正常文件树进行比较,把多余的文件信息,挂载到正常文件树中。
需要说明的是,解析正常文件树单元中判断分区是否是BTRFS文件系统分区的方法为判断魔数值是否为0x4D5F53665248525F,如果是则该分区是BTRFS文件系统分区,如果否则该分区不是BTRFS文件系统分区。
为验证该实施例的正确性,做了如下实验。实验过程为:
1、在Ubuntu系统下,新建一个BTRFS文件系统格式的磁盘分区;
2、拷贝数据到BTRFS分区之后,再删除该分区里的数据,参阅图2和图3所示,分别为数据删除前和数据删除后的图;
3、把删除后的BTRFS格式磁盘分区制作成镜像文件,参阅图4所示,为BTRFS文件系统删除后的镜像图;
参阅图5所示,为采用本发明的解析结果效果图,即采用本发明进行对BTRFS镜像解析结果。
尽管结合优选实施方案具体展示和介绍了本发明,但所属领域的技术人员应该明白,在不脱离所附权利要求书所限定的本发明的精神和范围内,在形式上和细节上可以对本发明做出各种变化,均为本发明的保护范围。
Claims (4)
1.一种BTRFS文件系统的删除数据恢复方法,其特征在于:它包括以下步骤,
S1,获取磁盘分区的超级块内容,通过超级块中的魔数信息,判断该分区是否是BTRFS文件系统分区,如果是则执行步骤S2,否则结束;
S2,通过超级块信息中的文件树指针,解析出正常文件树;
S3,通过超级块信息中的主数据存储区域的树指针,获取元数据存储的区域;
S4,在元数据区域搜索文件树的根节点,并存储在文件树根节点;
S5,解析文件树根节点,读取该根节点的文件树,并与正常文件树进行比较,把多余的文件信息,挂载到正常文件树中;
S6,判断是否还有未解析的文件树根节点,如果是则执行步骤S5,否则结束。
2.如权利要求1所述BTRFS文件系统的删除数据恢复方法,其特征在于:所述步骤S1中判断分区是否是BTRFS文件系统分区的方法为判断魔数值是否为特定值,如果是则该分区是BTRFS文件系统分区,如果否则该分区不是BTRFS文件系统分区。
3.一种BTRFS文件系统的删除数据恢复装置,其特征在于:它包括,
解析正常文件树单元,获取磁盘分区的超级块内容,通过超级块中的魔数信息,判断该分区是否为BTRFS文件系统分区,如果是,通过超级块信息中的文件树指针,解析出正常文件树;
文件树根节点获取单元,通过超级块信息中的主数据存储区域的树指针,获取元数据存储的区域,在元数据区域搜索文件树的根节点,并存储在文件树根节点;
文件树恢复单元,解析文件树根节点,读取该根节点的文件树,并与正常文件树进行比较,把多余的文件信息,挂载到正常文件树中。
4.如权利要求3所述BTRFS文件系统的删除数据恢复装置,其特征在于:所述解析正常文件树单元中判断分区是否是BTRFS文件系统分区的方法为判断魔数值是否为特定值,如果是则该分区是BTRFS文件系统分区,如果否则该分区不是BTRFS文件系统分区。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610373880.6A CN106021031B (zh) | 2016-05-30 | 2016-05-30 | 一种btrfs文件系统的删除数据恢复方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610373880.6A CN106021031B (zh) | 2016-05-30 | 2016-05-30 | 一种btrfs文件系统的删除数据恢复方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106021031A CN106021031A (zh) | 2016-10-12 |
CN106021031B true CN106021031B (zh) | 2018-09-28 |
Family
ID=57091852
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610373880.6A Active CN106021031B (zh) | 2016-05-30 | 2016-05-30 | 一种btrfs文件系统的删除数据恢复方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106021031B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106502830B (zh) * | 2016-10-27 | 2019-01-22 | 一铭软件股份有限公司 | 一种基于Btrfs文件系统的系统备份还原方法 |
CN108021472B (zh) * | 2017-11-28 | 2021-02-02 | 厦门市美亚柏科信息股份有限公司 | ReFS文件系统的格式化恢复方法及存储介质 |
CN108182127B (zh) * | 2017-12-27 | 2021-11-19 | 厦门市美亚柏科信息股份有限公司 | 一种提取已删除文件碎片的方法、终端设备及存储介质 |
CN110232004A (zh) * | 2019-06-13 | 2019-09-13 | 深圳麦风科技有限公司 | 一种apfs文件系统数据恢复方法 |
CN110297781B (zh) * | 2019-07-02 | 2023-05-02 | 四川效率源信息安全技术股份有限公司 | 一种基于写时复制来恢复apfs中被删除数据的方法 |
CN110297729B (zh) * | 2019-07-02 | 2023-03-28 | 四川效率源信息安全技术股份有限公司 | 一种基于区间块来恢复apfs中被损坏数据及被删除数据的方法 |
CN110781160B (zh) * | 2019-10-15 | 2021-07-27 | 北亚企安科技(北京)有限公司 | 基于VMware虚拟化文件系统损坏的数据恢复方法 |
CN111984467B (zh) * | 2020-07-31 | 2022-08-02 | 厦门市美亚柏科信息股份有限公司 | 一种基于ocfs2的数据恢复方法、装置、系统及存储介质 |
CN112380174B (zh) * | 2020-12-01 | 2022-07-15 | 厦门市美亚柏科信息股份有限公司 | 含删除文件的xfs文件系统解析方法、终端设备及存储介质 |
CN112650718A (zh) * | 2020-12-30 | 2021-04-13 | 四川效率源信息安全技术股份有限公司 | 一种基于写时复制的btrfs文件系统数据的解析及提取方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102955720A (zh) * | 2011-08-25 | 2013-03-06 | 北京中科智网科技有限公司 | 一种提高ext文件系统稳定性的方法 |
CN103729262A (zh) * | 2012-10-12 | 2014-04-16 | 武汉海康威视系统技术有限公司 | 操作系统热备份方法、装置及文件系统重构方法 |
US8793573B2 (en) * | 2012-10-29 | 2014-07-29 | Dropbox, Inc. | Continuous content item view enhanced through smart loading |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013111187A1 (en) * | 2012-01-25 | 2013-08-01 | Hitachi, Ltd. | Single instantiation method using file clone and file storage system utilizing the same |
-
2016
- 2016-05-30 CN CN201610373880.6A patent/CN106021031B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102955720A (zh) * | 2011-08-25 | 2013-03-06 | 北京中科智网科技有限公司 | 一种提高ext文件系统稳定性的方法 |
CN103729262A (zh) * | 2012-10-12 | 2014-04-16 | 武汉海康威视系统技术有限公司 | 操作系统热备份方法、装置及文件系统重构方法 |
US8793573B2 (en) * | 2012-10-29 | 2014-07-29 | Dropbox, Inc. | Continuous content item view enhanced through smart loading |
Also Published As
Publication number | Publication date |
---|---|
CN106021031A (zh) | 2016-10-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106021031B (zh) | 一种btrfs文件系统的删除数据恢复方法和装置 | |
Kwon et al. | Strata: A cross media file system | |
EP3138010B1 (en) | System and method for optimized signature comparisons and data replication | |
CN101676855B (zh) | 可变动的辅助存储系统和方法 | |
US9817835B2 (en) | Efficient data synchronization for storage containers | |
US9703640B2 (en) | Method and system of performing incremental SQL server database backups | |
CN104111804B (zh) | 一种分布式文件系统 | |
US9880762B1 (en) | Compressing metadata blocks prior to writing the metadata blocks out to secondary storage | |
US10353867B1 (en) | Method and system for verifying files for garbage collection | |
WO2016086819A1 (zh) | 将数据写入叠瓦状磁记录smr硬盘的方法及装置 | |
CN106844089B (zh) | 一种用于恢复树形数据存储的方法与设备 | |
CN103765393A (zh) | 存储系统 | |
US9619322B2 (en) | Erasure-coding extents in an append-only storage system | |
US9740704B2 (en) | Method and apparatus for random access of data stored in a sequential manner | |
CN104965835B (zh) | 一种分布式文件系统的文件读写方法及装置 | |
CN106104463A (zh) | 用于存储设备的故障安全操作的系统和方法 | |
CN108604162A (zh) | 优化对生产数据的访问 | |
CN110008197A (zh) | 一种数据处理方法、系统及电子设备和存储介质 | |
KR101674176B1 (ko) | 파일 단위 순서 모드 저널링 기법을 이용한 fsync 시스템 호출 처리 장치 및 방법 | |
CN113568582A (zh) | 数据管理方法、装置和存储设备 | |
US10877854B2 (en) | Partial restore from tape backup | |
US20150186060A1 (en) | Selective disk volume cloning for virtual disk creation | |
CN107368545A (zh) | 一种基于MerkleTree变形算法的去重方法及装置 | |
Sinnamohideen et al. | A {Transparently-Scalable} Metadata Service for the Ursa Minor Storage System | |
CN104408097B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |