服务器数据恢复环境:
某品牌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. ideal的基础使用2022版本,黑马程序员的基础使用

    1. 2.配xml <dependencies>    <dependency>        <groupId>javax.servlet</groupId ...

  2. js实现替换对象(json)格式的键名

    某些场景下,我们拿到的键名与预期的键名不符,这个时候就需要替换键名来得到我们想要的内容 let obj = [ { id:1, title:'zs' }, { id:2, title:'ls' } ] ...

  3. k8s中使用prometheus operator监控外部服务器部署的windows exporter

    k8s中使用prometheus operator监控外部服务器部署的windows exporter 0.文档说明 (1)Prometheus Operator是一个流行的k8s集群监控套件,项目地 ...

  4. LG P5244 [USACO19FEB] Mowing Mischief P

    \(\text{Code}\) #include <bits/stdc++.h> #define IN inline #define eb emplace_back using names ...

  5. JZOJ 3167.查税

    \(\text{Solution}\) 记 \(k\) 这个办公室相关属性有 \(t,z,s\) 对于以后的某一天 \(T\),其账户余额为 \((T-t)z+s\) 要最大化这东西,不妨另 \(b= ...

  6. JZOJ 4895【NOIP2016提高A组集训第16场11.15】三部曲

    题目 对于 \(50%\) 的数据,\(1<=n<=1000,1<=p<=300\) 对于 \(100%\) 的数据,\(1<=n<=50000,1<=p&l ...

  7. ERROR: Functions in index expression must be marked IMMUTABLE

    在创建函数索引时遇到报错,报错信息即为标题,下面是详细信息. 1 表定义 1234567 skytf=> \d test_39; Table "skytf.test_39" ...

  8. webgl 系列 —— 绘制一个点(版本2、版本3、版本4、版本5)

    绘制一个点 我们初步认识了 webgl,本篇主要围绕绘制一个点的示例,逐步实现下面功能: 点的位置从 js 传入着色器 点的大小由 js 传入着色器 通过鼠标点击绘点 通过鼠标点击绘点,并改变点的颜色 ...

  9. 🤗 PEFT: 在低资源硬件上对十亿规模模型进行参数高效微调

    动机 基于 Transformers 架构的大型语言模型 (LLM),如 GPT.T5 和 BERT,已经在各种自然语言处理 (NLP) 任务中取得了最先进的结果.此外,还开始涉足其他领域,例如计算机 ...

  10. angular 基本操作

    1.新建项目(带路由) ng new demo --routing 2.新建组件 统一放到components目录下(文件夹会自动创建) ng g component components/home ...