服务器Linux系统下的ext文件系统修复方案

一、故障描述

服务器是dell 730系列服务器,存储阵列是MD3200系列存储5T的Lun,操作系统是Linux centos 7,文件系统类型是EXT4,因意外断电,导致系统不能正常启动,修复之后系统可以正常启动,但是挂载的5T分区不能正常访问了,对这个5T的分区进行fsck修复,修复完成之后文件系统正常,但是丢失了部分文件,仔细查看之后缺失的部分文件在lost+found文件夹里面,文件名称已经被改变。

二、故障分析

1、备份数据

把MD3200存储的5T的lun以只读模式重新映射到一台windows 2008的备份服务器上,接着使用专业的工具将整个5T卷以扇区的方式镜像到已准备的备份空间上,以确保客户的数据安全,之后的分析和恢复操作均在备份的数据上进行。

2、分析故障原因

仔细分析5T卷的底层数据发现,服务器的突然断电导致故障虚拟机目录下的目录项出现破坏,但是这种破坏不会影响重要数据,只是破坏了文件的目录项而已,可以通过人工修复即可解决。而之后对文件系统进行fsck修复,导致损坏的目录项修复不成功,直接以目录节点号命名放到lost+found文件夹下,则目录项对应的数据区索引会被清掉,也不会影响删除文件的实际数据。这种情况可根据删除虚拟磁盘文件中的文件系统以及虚拟磁盘中的文件类型在VMFS卷自由空间中进行碎片匹配和合并,最终也可恢复删除的虚拟磁盘文件。

三、实施方向

由于ext4文件系统文件丢失之后,文件的节点信息被清除了,所以无法根据文件的节点信息进行还原,只能根据丢失的文件的目录项节点号和lost+found里面的文件的名称进行匹配,由于lost+found里面的文件是以该文件的目录项的节点号命名的,所以把目录项节点号提取出来和lost+found的文件名称进行匹配就可以还原之前的目录结构。

四、恢复数据

按照实施方向思路进行底层分析,根据EXT4的文件系统结构信息,在底层的空间中扫描符合的目录项的区域,并统计其数量和计算目录项的节点号。再根据磁盘中的文件系统的信息将这些扫描到的目录项节点号进行整合,把扫描到的目录项节点号记录到数据库里面,之后在通过lost+found里面的文件记录号和数据库里面的记录号进行匹配。

五、恢复总结

由于客户数据先是被突然断电导致文件系统出现问题,接着人为fsck修复导致大量文件目录结构丢失,并且又重新写入部分数据,导致其存在数据覆盖的可能性。由于对ext4文件系统底层结构足够了解,并且有处理过类似故障类型的经验。所以整个恢复过程中还算比较顺利。匹配之后数据正常恢复,并且验证没有问题,整个数据恢复成功。

时间: 2024-10-11 13:28:36

服务器Linux系统下的ext文件系统修复方案的相关文章

如何进行服务器Linux系统下的ext文件系统修复

一.故障描述 服务器是dell 730系列服务器,存储阵列是MD3200系列存储5T的Lun,操作系统是Linux centos 7,文件系统类型是EXT4,因意外断电,导致系统不能正常启动,修复之后系统可以正常启动,但是挂载的5T分区不能正常访问了,对这个5T的分区进行fsck修复,修复完成之后文件系统正常,但是丢失了部分文件,仔细查看之后缺失的部分文件在lost+found文件夹里面,文件名称已经被改变.二.故障分析 1.备份数据 把MD3200存储的5T的lun以只读模式重新映射到一台wi

Linux系统下利用文件创建文件系统

在Linux系统下利用文件创建文件系统,小伙伴们乍一听也许会有点不知道其意义何在. 其实不然,利用文件创建文件系统还是相当有实用价值的 首先我们在做一些测试时,不想使用实际的磁盘分区时,我们可以利用文件创建文件系统,然后在其上做一些测试: 其次,我们将数据写在利用文件创建的文件系统上,必要时,我们可以将文件拷走,实现数据的便捷迁移,而在磁盘分区上的数据我们想拷走就比较麻烦了. 废话不多说,下面就来做个小实验,来演示下其步奏: 首先我们在/testdir测试目录下创建一个partfile文件 利用

Linux系统下如何实现文件系统配额

1.配额又称为限额,针对的是分区,不是用户也不是文件,更不是整个硬盘: 2.内核版本必须是2.4以上才支持:查看内核是否支持配额. 3.root是不受配额限制的,只有普通用户才受限制: 4.配额中的术语: <1>软限制: 警告限制,可以被突破: <2>硬限制: 最大可用限制,不可突破: <3>配额大小:以大小K为单位,以文件个数为单位: <4>配额宽限日期:把硬限制降回到软限制的宽限时间: 5.配额可以针对用户也可以针对组进行设置,分别称为: 用户配额:us

linux系统下优盘挂载之文件系统后只读解决方法

问题:有时在linux系统下挂载优盘之后,优盘文件系统只读,表现形式一般为:删除文件或者创建文件的时候提示无法删除或创建文件:文件系统只读; 解决方法: 1. 在Linux系统中运行如下命令 tail -f /var/log/syslog    2. 插入有只读文件系统故障的U盘    3. 观察命令行输出Jul 8 16:44:50 cslouis-pc kernel: [15595.155904] FAT: Filesystem error (dev sdb1)Jul 8 16:44:50

使用 ipmitool 实现 Linux 系统下对服务器的 ipmi 管理

http://www.ibm.com/developerworks/cn/linux/l-ipmi/ 1.简介 IPMI(Intelligent Platform Management Interface)即智能平台管理接口是使硬件管理具备“智能化”的新一代通用接口标准.用户可以利用 IPMI 监视服务器的物理特征,如温度.电压.电扇工作状态.电源供应以及机箱入侵等.Ipmi 最大的优势在于它是独立于 CPU BIOS 和 OS 的,所以用户无论在开机还是关机的状态下,只要接通电源就可以实现对服

linux系统下本地搭建git服务器

linux系统下如何搭建本地git服务器,用于存放团队的开发代码,如下步骤: 1.先用一台服务器来安装git,安装好linux以后,在这里选用的是Ubuntu 14.04.然后配置静态IP:172.16.0.110.执行下面命令: >> sudo apt-get install git 2.创建一个git用户: >> sudo adduser git 3.建立/home/git/.ssh/authorized_keys文件,将团队每个人的~/.ssh/id_rsa.pub文件复制到

linux系统下搭建自己的web服务器

之前在windows 2008 server上搭建了一个用于测试的web服务器,但是在打开网站的时候特别的慢,尤其是图片的加载都会失败,当时以为是路径的问题,但是在服务器上自己打开都特别慢,自己实在找不到原因,所以打算不在一棵树上面吊死,准备去linux下试试. 经常被拿来当服务器的有centos.ubuntu......考虑到自己只有ubuntu的镜像并且只是自己做一些简单的测试使用,所以选择的版本是ubuntu14.04LTS.在这个平台上搭建自己的web服务器 相比在windows下的wa

安装Linux系统及合理划分文件系统

安装Linux系统及合理划分文件系统 (本文以centos 为例) Linux 6 (centos 6.x) 选择安装系统(install systemwith basic video driver)这个选项,第一个选项(install or upgrade an existing system)为安装和更新centos系统,第三个选项为(Rescueinstalled system)为系统修复模式,Boot from local drive(退出安装从硬盘启动),Memory test (服务

第九章 Linux系统下分区、格式化磁盘,学会挂载和卸载磁盘

1. 请查资料了解这些术语:/dev/hda, /dev/hdb, /dev/sda, /dev/sdb, 他们之间有什么区别?/dev/hda, /dev/hdb 是 IDE借口硬盘的块文件. /dev/hda  第一块IDE磁盘 : /dev/hdb 第二块IDE磁盘 /dev/sda, /dev/sdb 是SCSI接口硬盘的块文件. /dev/sda 第一块SCSI磁盘 :/dev/sdb 第二块SCSI磁盘 2. 为什么 du -b /etc/passwd  和 du -k  /etc/