Linux文件系统误装入到Ocfs2文件系统的数据卷上的解决过程

一、什么是Linux文件系统

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

二、故障描述

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

三、备份数据

1、将存储以只读模式映射给备份服务器。
2、使用dd,Winhex等专业备份工具将映射到备份服务器中的数据做全部镜像。
3、做完全部镜像后,将所有存储配置及链路还原至初始状态,之后数据恢复操作均不对原始硬盘做任何操作
图一:

·

四、故障分析

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

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

五、恢复数据

1、生成数据
利用自主开发的针对Ocfs2不完整文件系统的解析工具对已修复的Ocfs2文件系统进行解析。并根据文件系统分析的结果,编写对应的数据提取程序,利用程序最大程度的恢复每一个虚拟磁盘文件,并对恢复的每一个虚拟磁盘文件进行一致性检测。
2、文件检测与修复
对恢复虚拟磁盘文件进行解析,验证虚拟磁盘文件是否有错误,并尝试修复。恢复其中的用户文件,对已恢复的用户文件进行一致性检测,并尝试修复损坏的文件。

六、验证数据

1、验证虚拟机
针对用户比较重要的虚拟机做验证,发现虚拟机大多都可以开机,可以到登陆界面。有部分虚拟机开机蓝屏或开机检测磁盘,但是进过光盘修复之后都可以启动。
另外发现一台虚拟机磁盘文件恢复之后,通过解析发现该虚拟机中没有数据,继续对该虚拟磁盘文件进行分析,发现该文件索引项存在,但是索引结构并不多,数据量也很少,有可能存在认为清零或修改的情况,也可能虚拟机原本就没有多少数据。
·
2、验证数据库
针对重点虚拟机中的数据库做验证,发现数据库都正常。部分数据库可能与应用程序对接有的一定问题,经用户联系应用程序原厂的工作人员,经过修复之后,数据库都可以正常使用。

·

七、移交数据

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

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

八、数据恢复总结

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

原文地址:https://blog.51cto.com/sun510/2475952

时间: 2024-10-15 19:33:16

Linux文件系统误装入到Ocfs2文件系统的数据卷上的解决过程的相关文章

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

一.什么是Linux文件系统?Linux文件系统中的文件是数据的集合,文件系统不仅包含着文件中的数据而且还有文件系统的结构,所有Linux 用户和程序看到的文件.目录.软连接及文件保护信息等都存储在其中.Linux是一个性能稳定.功能强大.效率高的操作系统.它在功能特性方面与Unix系统相似,同时又具有多任务.多用户.多平台等若干特性.二.故障描述由于用户误操作,将Linux文件系统误装入到Ocfs2文件系统的数据卷上,导致原始Ocfs2文件系统被新格式化Ext4文件系统,据对两种文件系统格式化

Linux入门之磁盘管理(2)文件系统

Linux入门之磁盘管理(2)文件系统 linux分区构成完成之后,一般需要进行对其创建指定的文件系统,也就是我们常说的格式化,然后对其进行分区挂载,提供指定分区的访问点.不同的分区格式会在文件系统内部提供不同的对该分区的数据存储的格式分配,以及其内部模块会支持不同的分区的接口及方法调用,例如对一个文件的打开.读取.写入.关闭等功能,每个文件系统都会有各种不同的特点. 常见的系统文件系统: linux: ext2.ext3.ext4:xfs(SGI):btrfs(Oracle):reiserfs

使用 /proc 文件系统来访问 linux操作系统 内核的内容 && 虚拟文件系统vfs及proc详解

http://blog.163.com/he_junwei/blog/static/19793764620152743325659/ http://www.01yun.com/other/20130422/366044.html 使用 /proc 文件系统来访问 Linux 内核的内容 这个虚拟文件系统在内核空间和用户空间之间打开了一个通信窗口 简介: /proc 文件系统是一个虚拟文件系统,通过它可以使用一种新的方法在 Linux? 内核空间和用户空间之间进行通信.在 /proc 文件系统中,

linux 学习之磁盘管理和文件系统

linux磁盘管理 硬盘一般分为两种: (1)机械式硬盘 主要组成部分: track:磁道 sector:扇区 cylinder:分区的基本单位 MBR:硬盘首扇区, 大小:512bytes 其中:446:bootloader 64:  文件分配表(其中16为一个分区) 2:最后2个字节55AA (2)固态硬盘SSD 磁盘接口类型: 主要分为: IDE :133MB/S SCSI:640MB/s SATA:6Gbps(目前最常用的) SAS:6Gbps USB:480MB/S 识别磁盘的设备:

linux分区,磁盘系统的管理,文件系统制作

最近又开始重新拾起linux了,因为工作中用的很少,所以看得东西很容易就忘记了. 这几天看了下linux的分区,以及如何制作文件系统等相关命令的用法,下面就按照这个流程来讲一讲,免得自己日后忘记了. 1.分区 磁盘分区,即指定分区的起始和结束柱面.我们在安装linux系统的时候,都会将磁盘划分为独立的几块,这就是分区,柱面是分区的最小单位,柱面由扇区构成,第一个扇区是最重要的,里面有MBR(446byte)和分区表(64byte),扇区大小固定为512byte. 2.文件系统 文件系统是怎么来的

linux下磁盘进行分区、文件系统创建、挂载和卸载(转)

任务的原因:由于,刚购买来的服务器需要将磁盘挂载到操作系统上,为了挂载磁盘首先要对磁盘进行分区,然后进行文件系统的创建,最后将磁盘挂载到操作系统上的某个目录. MBR(Master Boot Record)是传统的分区机制,应用于绝大多数使用BIOS的PC设备. 1.MBR支持32bit和64bit系统 2.MBR支持分区数量有限 3.MBR只支持不超过2T的硬盘,超过2T的硬盘只能使用2T空间(使用其他方法) 1.主分区:最多只能创建4个主分区(可使用) 2.扩展分区:一个扩展分区会占用一个主

Linux操作系统基础解析之(六)——文件系统层次结构标准(FHS)

一切皆文件是Linux的最基本的最朴素的哲学思想之一.意思就是说:凡是在Linux操作系统中能够被访问和使用的资源,都会以文件的形式提供给用户,即便是硬件设备.进程互操作.网络访问等这些看似与文件无关的内容,也可以虚拟抽象成文件,这就是Linux操作系统.也就是说,在一个完整意义的Linux操作系统中,存在的大量的.数以万计的文件.这些文件有的是硬件设备,有的是管道,有的是套接字,目录文件,符号链接文件,设备锁文件,进程锁文件,被编译好的二进制文件(可执行应用程序.库文件.内核文件).压缩包文件

Linux内核源代码情景分析-特殊文件系统/proc-对/proc/self/cwd的访问

继上篇文章Linux内核源代码情景分析-特殊文件系统/proc,我们对/proc/loadavg访问后,这篇文章是对/proc/self/cwd的访问. int __user_walk(const char *name, unsigned flags, struct nameidata *nd) { char *tmp; int err; tmp = getname(name);//在系统空间分配一个页面,并从用户空间把文件名复制到这个页面 err = PTR_ERR(tmp); if (!IS

linux Centos下磁盘分区及文件系统创建与挂载

linux Centos下磁盘分区及文件系统创建与挂载 MBR(Master Boot Record)是传统的分区机制,应用于绝大多数使用BIOS的PC设备. 1.MBR支持32bit和64bit系统 2.MBR支持分区数量有限 3.MBR只支持不超过2T的硬盘,超过2T的硬盘只能使用2T空间(使用其他方法) 1.主分区:最多只能创建4个主分区(可使用) 2.扩展分区:一个扩展分区会占用一个主分区位置(不可使用,可化为逻辑分区) 3.逻辑分区:Linux最多支持63个IDE分区和15个SCSI分