服务器数据恢复环境:
某品牌PowerEdge系列服务器,磁盘阵列存储型号为该品牌MD3200系列存储,分配lun;
linux centos 7操作系统,EXT4文件系统。

服务器故障:
服务器在工作中由于未知原因突然关机且无法启动,管理员经过修复后可以启动服务器,但服务器的某个分区无法挂载。管理员对无法挂载的分区执行了fsck修复,修复完成后该分区可以成功挂载,但是查看该分区数据后发现部分文件丢失。

服务器数据恢复过程:
1、数据恢复工程师到达现场后将故障服务器以只读模式映射到北亚企安数据恢复服务器上,将所有硬盘数据以只读方式镜像到数据恢复服务器上,后续数据分析和数据恢复操作都基于镜像文件进行,避免对原始数据造成二次破坏。
2、通过对镜像文件的分析,数据恢复工程师初步诊断导致该服务器故障的原因是机房供电不稳引起的服务器非正常关机。
3、仔细分析故障服务器的底层数据,发现服务器的异常断电导致目录项被破坏,所幸的是底层数据依然存在,只需要数据恢复工程师手工修复即可恢复数据。
4、由于管理员对文件系统执行了fsck修复,被破坏的目录项在修复失败后以目录节点号命名,并存放于lost+found目录内,随后又清除了这些目录项所对应的数据区索引。这就是分区挂载成功后部分文件丢失的原因。这样的情况想要恢复数据,可以根据被删除的虚拟磁盘文件的文件系统和文件类型在vmfs卷自由空间中进行排查,匹配碎片并重新合并,最终通过这种方式将删除的虚拟磁盘文件恢复。
5、由于故障服务器采用的是EXT4文件系统,EXT4文件系统有一个特点就是文件丢失后其节点信息也会被清除,所以在本案例不能采用基于节点信息进行还原的方法来恢复数据,而是根据丢失的文件目录项节点号匹配lost+found目录下的文件名称这种方式来恢复数据。因为lost+found目录下的文件命名规则就是该文件的目录项节点号。可以先提取目录项节点号并与lost+found目录下的文件名进行一一对应,最终还原出服务器的原始目录结构。
6、基于镜像文件分析底层,在底层空间扫描目录项的区域,将目录项的节点号、数量等信息进行统计和记录,根据服务器磁盘中的文件系统信息将统计到的目录项和节点号进行整合匹配,然后匹配lost+found目录下的文件记录号,最终将服务器分区丢失的数据恢复出来。
7、经过管理员对恢复出来的数据进行反复验证后,确认恢复出来的数据完整有效,本次数据恢复工作完成。

【服务器数据恢复】Linux服务器分区不能挂载的数据恢复案例的更多相关文章

  1. linux篇-Linux MBR分区、挂载操作步骤,逻辑卷扩容操作

    Linux  MBR分区.挂载操作步骤,逻辑卷扩容操作 服务器开机之后,能自动识别出硬盘,但是硬盘不能够存储数据,必须对硬盘进行分区.格式化.挂载后才能使用:linux主分区和拓展分区总数不能超过4个 ...

  2. Linux磁盘分区和挂载

    Linux磁盘分区和挂载 分区 分区的方式: mbr分区 最多支持4个主分区 系统只能安装到主分区上 扩展分区要占用一个主分区 MBR最大支持2TB,但拥有最好的兼容性 gtp分区 支持无线多个主分区 ...

  3. Linux 实用指令(7)--Linux 磁盘分区、挂载

    目录 Linux 磁盘分区.挂载 1 分区基础知识 1.1 分区的方式: 1.2 windows 下的磁盘分区 2 Linux分区 2.1 原理分析 2.2 磁盘说明 2.3 使用lsblk指令查看当 ...

  4. Linux磁盘分区、挂载、查看文件大小

    快速查看系统文件大小命令 du -ah --max-depth=1 后面可以添加文件目录 ,如果不添加默认当前目录. 下面进入正题~~ 磁盘分区.挂载 引言: ①.分区的方式 a)mbr分区: 最多支 ...

  5. Linux 磁盘分区和挂载

    目录 Linux 磁盘分区和挂载 windows 下的分区 磁盘管理 相关命令 分区及挂载实现步骤 添加硬盘 分区步骤 步骤 挂载步骤 卸载分区步骤 补充: Linux 磁盘分区和挂载 windows ...

  6. XP下安装Centos 6.4 双系统 :Linux系统分区及挂载点,关键引导程序启动设置

    一.关于Linux的分区情况 虽然硬盘分区表中最多能存储四个分区,但我们实际使用时一般只分为两个分区,一个是主分区(Primary Partion)一个是扩展分区(extended partition ...

  7. linux硬盘分区及挂载

    今天买的一台服务器发现其硬盘容量与购买界面的描述不符,于是我去问了客服才知道有一块硬盘需要自己挂载,所以记录自己硬盘分区以及挂载操作得此文. 测试环境 ​ 由于时间限制,本人仅在centos 8下测试 ...

  8. Linux系统分区及挂载点

    一.关于Linux的分区情况 虽然硬盘分区表中最多能存储四个分区,但我们实际使用时一般只分为两个分区,一个是主分区(Primary Partion)一个是扩展分区(extended partition ...

  9. linux下的ssh工具之,本地上传到linux服务器and Linux服务器文件另存为本地。非sftp工具。

    首先,当你只有一个ssh工具可以连接linux,但你有想把文件在 linux 和windows(本地)直接的切换.其实可以的: 本文参考 1.将本地的文件,放到ssh远程的linux服务器上: 首先要 ...

  10. 云服务器 ECS Linux 服务器修改时区的两种方式

    在云服务器 ECS Linux 系统中,以 Centos6.5 为例,可以通过如下两种方式,修改系统时区: 可以使用命令 tzselect,修改时区.操作示例: [root@localhost ~]# ...

随机推荐

  1. Cesium鼠标移动到模型上,给模型添加高亮轮廓(四)

    2023-01-09 Cesium虽然也支持两种方式(Entity和Primitive)加载3D Tiles数据, 但因为多数情况下3D Tiles数据都是成片区的数据,数据量比较大,所以为了保证性能 ...

  2. honoka和格点三角形

    题目: honoka最近在研究三角形计数问题.她认为,满足以下三个条件的三角形是"好三角形".1.三角形的三个顶点均为格点,即横坐标和纵坐标均为整数.2.三角形的面积为 .3.三角 ...

  3. Vue js引用警告 “export ‘default‘ (imported as ‘xxx‘) was not found

    问题原因:ES6 编译器识别问题 如果在public.js这样写会有警告export 'default' (imported as 'xxx') was not found export const ...

  4. 手把手教你搭建Windows 搭建Prometheus + Grafana + Jmeter可视化监控平台

    下载安装包 Prometheus windows_exporter Grafana 下载地址:https://share.weiyun.com/D9sdiWoC 工作原理 Exporter 监控工具, ...

  5. ThreadLocal及常用场景

    ThreadLocal ThreadLocal是Java中的为解决多线程间数据隔离的解决方案,其底层依赖于Java的内存模型,依赖于当前执行线程的内存来完成对数据的存取操作. 一般在使用时,在对象中创 ...

  6. python中的上下文管理器以及python内建模块contextlib的contextmanager方法

    上下文管理器 上下文管理器是实现了上下文管理协议的对象,其特有的语法是"with -as".主要用于保存和恢复各种全局状态,关闭文件等,并为try-except-finally提供 ...

  7. java 内存锁

    import lombok.extern.slf4j.Slf4j;import java.util.Map;import java.util.concurrent.ConcurrentHashMap; ...

  8. SAP HANA:XS Job

    5.SAP HANA XS Job XS Job:定义重复执行的后台定期任务: 例如定时执行数据更新到Table的操作,需要使用到XS Job; SAP HANA XS Setting up Sche ...

  9. Less 1-3

    LESS-1 首先确认一下是否存在注入,加上?id=1,能够显示数据,然后加一个',出现报错,这样就说明存在注入点.接下来进行报错注入. 输入 ' and updatexml(1,concat(0x7 ...

  10. Mac OS X 下安装Tableau Desktop Pro for Mac 10.2.0

    ​ 安装步骤 1.断网安装tableau 2.双击Tableau Desktop.pkg ​编辑 3.安装后到应用程序里把tableau这个单独文件从tableau文件夹里直接放到应用程序根目录 4. ...