服务器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文件系统底层结构足够了解,并且有处理过类似故障类型的经验。所以整个恢复过程中还算比较顺利。匹配之后数据正常恢复,并且验证没有问题,整个数据恢复成功。










本文转自 宋国建 51CTO博客,原文链接:http://blog.51cto.com/sun510/1942721,如需转载请自行联系原作者
目录
相关文章
|
2天前
|
Linux 应用服务中间件 Shell
linux系统服务二!
本文详细介绍了Linux系统的启动流程,包括CentOS 7的具体启动步骤,从BIOS自检到加载内核、启动systemd程序等。同时,文章还对比了CentOS 6和CentOS 7的启动流程,分析了启动过程中的耗时情况。接着,文章讲解了Linux的运行级别及其管理命令,systemd的基本概念、优势及常用命令,并提供了自定义systemd启动文件的示例。最后,文章介绍了单用户模式和救援模式的使用方法,包括如何找回忘记的密码和修复启动故障。
15 5
linux系统服务二!
|
2天前
|
Linux 应用服务中间件 Shell
linux系统服务!!!
本文详细介绍了Linux系统(以CentOS7为例)的启动流程,包括BIOS自检、读取MBR信息、加载Grub菜单、加载内核及驱动程序、启动systemd程序加载必要文件等五个主要步骤。同时,文章还对比了CentOS6和CentOS7的启动流程图,并分析了启动流程的耗时。此外,文中还讲解了Linux的运行级别、systemd的基本概念及其优势,以及如何使用systemd管理服务。最后,文章提供了单用户模式和救援模式的实战案例,帮助读者理解如何在系统启动出现问题时进行修复。
16 3
linux系统服务!!!
|
2天前
|
网络协议 Linux
linux系统重要文件目录
本文介绍了Linux系统中的重要目录及其历史背景,包括根目录、/usr、/etc、/var/log和/proc等目录的结构和功能。其中,/etc目录下包含了许多关键配置文件,如网卡配置、DNS解析、主机名设置等。文章还详细解释了各目录和文件的作用,帮助读者更好地理解和管理Linux系统。
10 2
|
3天前
|
Ubuntu Linux Shell
Linux 系统中的代码类型或脚本类型内容
在 Linux 系统中,代码类型多样,包括 Shell 脚本、配置文件、网络配置、命令行工具和 Cron 定时任务。这些代码类型广泛应用于系统管理、自动化操作、网络配置和定期任务,掌握它们能显著提高系统管理和开发的效率。
|
19天前
|
弹性计算 网络安全
阿里云国际OpenAPI多接口快速管理ECS服务器教程
阿里云国际OpenAPI多接口快速管理ECS服务器教程
|
2天前
|
弹性计算
阿里云2核16G服务器多少钱一年?亲测价格查询1个月和1小时收费标准
阿里云2核16G服务器提供多种ECS实例规格,内存型r8i实例1年6折优惠价为1901元,按月收费334.19元,按小时收费0.696221元。更多规格及详细报价请访问阿里云ECS页面。
26 9
|
2天前
|
弹性计算 异构计算
2024年阿里云GPU服务器多少钱1小时?亲测价格查询方法
2024年阿里云GPU服务器每小时收费因实例规格不同而异。可通过阿里云GPU服务器页面选择“按量付费”查看具体价格。例如,NVIDIA A100的gn7e实例为34.742元/小时,NVIDIA A10的gn7i实例为12.710156元/小时。更多详情请访问阿里云官网。
26 2
|
8天前
|
存储 弹性计算 NoSQL
"从入门到实践,全方位解析云服务器ECS的秘密——手把手教你轻松驾驭阿里云的强大计算力!"
【10月更文挑战第23天】云服务器ECS(Elastic Compute Service)是阿里云提供的基础云计算服务,允许用户在云端租用和管理虚拟服务器。ECS具有弹性伸缩、按需付费、简单易用等特点,适用于网站托管、数据库部署、大数据分析等多种场景。本文介绍ECS的基本概念、使用场景及快速上手指南。
37 3
|
13天前
|
存储 弹性计算 编解码
通过阿里云的活动租赁云服务器时如何选择实例规格?选择指南参考
新手用户通过阿里云的活动租赁云服务器的时候实例规格应该怎么选?目前在阿里云的活动中,可选的云服务器类型除了轻量应用服务器之外,云服务器的主要实例规格有经济型e、通用算力型u1和计算型c7与c8y、通用型g7与g8y、内存型r7与r8y等实例,但是对于新手来说,由于是初次购买,实例规格往往不知道怎么选择了。本文为大家展示阿里云目前活动中各云服务器实例规格性能、适用场景以及选择指南参考。
|
17天前
|
弹性计算 开发框架 .NET
阿里云服务器购买教程及云服务器地域、实例、操作系统、带宽等参数选择指南
对于初次购买阿里云服务器的用户来说,想使用阿里云服务器搭建网站或者运行APP、小程序等项目,第一步就是要先购买阿里云服务器,下面小编以图文形式给大家介绍一下阿里云服务器的购买流程,以及购买过程中如何云服务器地域、实例、带宽等关键配置和选择这些参数的一些注意事项,以供参考。