EXT3文件系统故障

一个网站服务器。数据卷为1TB硬盘一块,未做RAID,EXT3文件系统,未知原因,远程无法访问,到机房查询故障后发现文件系统无法mount,未做fsck。管理员为了安全,试图将整个硬盘dd到另一块相同的硬盘上再做分析及数据恢复工作,但dd备份时只能备份前320M数据,后面的无法读取,试图调整起始位置依然无济于事。因机房环境很吵,无法分辨硬盘是否有异响。

用户问了几个问题:

1、初步估计的故障是什么?数据恢复的可能性有多大?

答:最有可能的情况有两个:坏道或磁头不稳定。如果是坏道原因,可以通过专业的读取设备(如PC3K DE)进行读取,通常除绝对物理损坏的扇区无法读取外,其它扇区都有很大机会可读。如果是磁头不稳定,需要更换磁头方可读取数据,开盘换磁头的成功率取决于:工程师的能力、开盘的物理环境、备份的匹配程度、开盘后对数据的镜像方式(用设备读取成功率很高),但决定性因素是硬盘盘面是否刮伤,如果存在刮伤,即使其它方式做到最好,也无法恢复成功。

2、我的数据量很小,大约几十G,照EXT3的格式看,会不会存储于硬盘的最前端。这样,如果是坏道,是否可挑着恢复,比如只恢复前面数据?

答:ext3的格式的确是按照块组为单位,以渐减的方式存储数据与节点的,通常的确是从前向后存储的,但如果数据在存储过程中有删除、增加操作,其存储位置可能会有变化。

对于坏道,如果文件系统结构区可以一级一级地读出来,是可以按选择进行恢复的,或者确定数据就在前面几十G,也可以按这个区段进行读取。

3、这种情况是怎么产生的?应该如何避免?

答:即使是用SAS硬盘,作单盘存储本身也是不安全的,更何况是SATA硬盘(1TB的硬盘目前不可能是SAS,也不可能是IDE或SCSI)。单硬盘在长时间使用环境中,很难保证不出任何故障。如果需要避免,可选择用RAID的方式进行数据保护,同时需要做好备份工作(备份策略等)。

时间: 2024-12-29 21:15:11

EXT3文件系统故障的相关文章

Inode构建的ext3文件树

如何入手才能更好的理解一个文件系统呢?个人认为首先应该从文件系统在磁盘上的元数据分布入手,其次再看文件系统的软件实现,例如内存中的结构以及元数据操作方式等等.这里我想通过ext3在磁盘上的元数据信息来认识一下ext3文件树. 考虑一下,如果想要实现一个文件系统,我们需要在磁盘上存储哪些基本要素?通过何种方式组织起文件与目录之间的关系?如何管理实际的物理资源块?在ext3文件系统中,inode这个数据结构承担了重要角色,组织起了整个ext3文件系统框架.另外,在ext3文件系统中采用物理资源分组管

solaris ufs文件系统故障后恢复如何oracle数据库

[数据恢复故障描述] 1台sun sparc solaris系统,安装有oracle数据库,未知原因(有人为操作可能,但限于多方原因,无法得知),装载数据库的文件系统无法挂载,需要恢复oracle数据库. [数据恢复过程] 首先对故障硬盘进行全面的完整备份,使用dd命令备份成nfs上的一个镜像文件. 对镜像文件进行完整分析,发现超级块存在故障. 抛开超级块,进行文件系统分析: 1.查找及分析根目录记录,找到. 2.根据根目录查找第一个节点区,找到,并以此分析块大小. 3.根据根据节点区特点,确定

LFCS 系列第十讲:学习简单的 Shell 脚本编程和文件系统故障排除

理解终端Terminals和 Shell 首先要声明一些概念. Shell 是一个程序,它将命令传递给操作系统来执行. Terminal 也是一个程序,允许最终用户使用它与 Shell 来交互.比如,下边的图片是 GNOME Terminal. Gnome Terminal 启动 Shell 之后,会呈现一个命令提示符 (也称为命令行) 提示我们 Shell 已经做好了准备,接受标准输入设备输入的命令,这个标准输入设备通常是键盘. 你可以参考该系列文章的 第一讲 如何在 Linux 上使用 GN

titi文件系统故障-自己用busybox做的文件系统,在启动时遇到的问题,请帮忙分析下...

问题描述 自己用busybox做的文件系统,在启动时遇到的问题,请帮忙分析下... U-Boot SPL 2014.04-rc3 (Oct 08 2014 - 22:34:35) reading args spl_load_image_fat_os: error reading image args, err - -1 reading u-boot.img reading u-boot.img U-Boot 2014.04-rc3 (Oct 08 2014 - 22:34:35) I2C: re

巧用DOS命令修复U盘文件错误

我们平时在使用电脑时,基本上不会用到Dos命令.一般用户顶多了解一些简单的Dos命令,比如最经常的就是用ping命令来检测网络情况,今天小编教大家如何用chkdsk命令对U盘文件系统错误进行修复. 首先,chkdsk命令是干什么的?它对我们的U盘有什么用吗? Chkdsk命令是在DOS下用于修复文件系统错误的关键命令.那么,U盘的文件系统错误会对我们的数据安全造成危害吗?我们需要修复它吗? 是的,我们有必要修复文件系统错误,因为它有可能给我们的数据安全带来相当大的危害. 当文件系统出现严重错误,

Ext3文件系统读写过程分析

Ext3文件读写流程概述 Ext3文件系统在进行读写操作的时候,首先需要open相应的文件,然后再进行读写操作.在open操作时,Linux kernel会创建一个file对象描述这个文件.File对象和文件的dentry和inode对象建立联系,并且将ext3的文件操作方法.映射处理方法(address space)注册到file对象中. Ext3文件读写过程会涉及到VFS层的page cache,并且通常的读写操作都会使用到这层page cache,目的是提高磁盘的IO性能.在Linux中后

linux下创建一个指定文件大小并实现从ext2到ext3的转换

创建指定大小的ext2文件 使用dd生成一个指定大小的1G空间 dd if=/dev/zero of=/home/foobar bs=1M count=1000 创建1G大小空间 格式化创建的空间(此时文件类型是ext2) mke2fs -vFm0 /home/foobar 创建目录 mkdir /foobar 挂载生成的空间到指定目录 mount -o loop /home/foobar /foobar/ 设置文件权限 chmod 777 /foobar 查看磁盘空间大小与文件类型 df -h

LFCS 系列第一讲:如何在 Linux 上使用 GNU sed 等命令来创建、编辑和操作文件

LFCS 系列第一讲:如何在 Linux 上使用 GNU sed 等命令来创建.编辑和操作文件 Linux 基金会宣布了一个全新的 LFCS(Linux 基金会认证系统管理员Linux Foundation Certified Sysadmin)认证计划.这一计划旨在帮助遍布全世界的人们获得其在处理 Linux 系统管理任务上能力的认证.这些能力包括支持运行的系统服务,以及第一手的故障诊断.分析,以及为工程师团队在升级时提供明智的决策. Linux 基金会认证系统管理员--第一讲 请观看下面关于

Linux rm 命令误删文件的恢复(grep)

利用extundelete插件 假设被删除的文件位于 /media/backup 里,挂载的设备是 /dev/sda3. 首先重新挂载当前磁盘. 然后安装 extundelete 依赖的包,  代码如下 复制代码 sudo aptitude install e2fsprogs e2fslibs-dev 下载 extundelete , 解压 extundelete, 运行 三大步  代码如下 复制代码 ./configure make sudo make install 可以 extundele