面对oracle ocfs2文件丢失,你能想到解决办法有哪些?

栏目: 数据库 · Oracle · 发布时间: 5年前

内容简介:一、什么是Linux文件系统?Linux文件系统中的文件是数据的集合,文件系统不仅包含着文件中的数据而且还有文件系统的结构,所有Linux 用户和程序看到的文件、目录、软连接及文件保护信息等都存储在其中。Linux是一个性能稳定、功能强大、效率高的操作系统。它在功能特性方面与Unix系统相似,同时又具有多任务、多用户、多平台等若干特性。二、故障描述

一、什么是 Linux 文件系统?

Linux文件系统中的文件是数据的集合,文件系统不仅包含着文件中的数据而且还有文件系统的结构,所有Linux 用户和程序看到的文件、目录、软连接及文件保护信息等都存储在其中。Linux是一个性能稳定、功能强大、效率高的操作系统。它在功能特性方面与Unix系统相似,同时又具有多任务、多用户、多平台等若干特性。

二、故障描述

由于用户误操作,将Linux文件系统误装入到Ocfs2文件系统的数据卷上,导致原始Ocfs2文件系统被新格式化Ext4文件系统,据对两种文件系统格式化方式的了解,Ext4文件系统每隔几百兆会写入文件系统的原始信息的特性,用户的数据可能受到一定程度的破坏。

三、备份数据

1、将存储以只读模式映射给备份服务器。

2、使用dd,Winhex等专业备份 工具 将映射到备份服务器中的数据做全部镜像。

3、做完全部镜像后,将所有存储配置及链路还原至初始状态,之后数据恢复操作均不对原始硬盘做任何操作

面对oracle ocfs2文件丢失,你能想到解决办法有哪些?

四、故障分析

找到ocfs2文件系统的超级块,通过分析超级块得出该文件系统的一些基本结构信息,然后通过客户给出的虚拟磁盘文件名称,查找到虚拟磁盘文件的目录项,继而找到所对应的所有一级索引项和二级索引项,并利用自主开发的文件系统解析程序,对已备份的数据进行文件系统解析。ocfs2文件系统的索引项结构如下。

面对oracle ocfs2文件丢失,你能想到解决办法有哪些? 面对oracle ocfs2文件丢失,你能想到解决办法有哪些?

2、修复文件系统

修复损坏的文件系统,对原始Ocfs2文件系统做一致性检测,并对损坏的区域进行人工修复。

五、恢复数据

利用自主开发的针对Ocfs2不完整文件系统的解析工具对已修复的Ocfs2文件系统进行解析。并根据文件系统分析的结果,编写对应的数据提取程序,利用程序最大程度的恢复每一个虚拟磁盘文件,并对恢复的每一个虚拟磁盘文件进行一致性检测。

面对oracle ocfs2文件丢失,你能想到解决办法有哪些?

2、 文件检测与修复

对恢复虚拟磁盘文件进行解析,验证虚拟磁盘文件是否有错误,并尝试修复。恢复其中的用户文件,对已恢复的用户文件进行一致性检测,并尝试修复损坏的文件。

六、验证数据

针对用户比较重要的虚拟机做验证,发现虚拟机大多都可以开机,可以到登陆界面。有部分虚拟机开机蓝屏或开机检测磁盘,但是进过光盘修复之后都可以启动。

部分虚拟机开机如下:

面对oracle ocfs2文件丢失,你能想到解决办法有哪些?

另外发现一台虚拟机磁盘文件恢复之后,通过解析发现该虚拟机中没有数据,继续对该虚拟磁盘文件进行分析,发现该文件索引项存在,但是索引结构并不多,数据量也很少,有可能存在认为清零或修改的情况,也可能虚拟机原本就没有多少数据。

2、验证数据库

针对重点虚拟机中的数据库做验证,发现数据库都正常。部分数据库可能与应用程序对接有的一定问题,经用户联系应用程序原厂的工作人员,经过修复之后,数据库都可以正常使用。

七、移交数据

由于时间紧迫,先使用专业工具“UFS”依次导出ocfs2中的虚拟机。然后安排工程师将R510服务器上的虚拟磁盘数据带到用户现场。

在现场使用网线将R510服务器接入到用户内部的网络当中,然后通过NFS共享,将虚拟机磁盘文件上传到用户的服务器上,然后通过ovm虚拟机管理工具进行虚拟机挂载。由于虚拟机数量不是很多,大小也不是很大,比较快的完成了数据移交。

八、数据恢复总结

整个数据恢复的过程中,对ocfs2文件结构的分析占用了比较多的时间,根据ext4文件系统格式化的特性,Ext4文件系统每隔几百兆会写入文件系统的原始信息,对用户的数据造成了很小的损坏,数据恢复完成后用户对我们的恢复结果表示认同。


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

动手玩转Scratch2.0编程

动手玩转Scratch2.0编程

马吉德·马吉 (Majed Marji) / 电子工业出版社 / 2015-10-1 / CNY 69.00

Scratch 是可视化的编程语言,其丰富的学习环境适合所有年龄阶段的人。利用它可以制作交互式程序、富媒体项目,包括动画故事、读书报告、科学实验、游戏和模拟程序等。《动手玩转Scratch2.0编程—STEAM创新教育指南》的目标是将Scratch 作为工具,教会读者最基本的编程概念,同时揭示Scratch 在教学上的强大能力。 《动手玩转Scratch2.0编程—STEAM创新教育指南》共......一起来看看 《动手玩转Scratch2.0编程》 这本书的介绍吧!

URL 编码/解码
URL 编码/解码

URL 编码/解码

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具