服务器数据恢复环境:
某品牌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. ctfshow-web入门-SSTI学习

    千万要仔细,不要拼错单词 千万要仔细,不要拼错单词 千万要仔细,不要拼错单词 web 361 payload name={{[].__class__.__base__.__subclasses__() ...

  3. JZOJ 1083. 【GDOI2006】拯救亚特兰蒂斯

    \(\text{Solution}\) 自己的网络流技术太拉了 连这样的题都做不出来 对于一个怪物,剑术和法术两样东西有一样就可以了 不难想到二分图中最小点覆盖,一条边只有两个端点之一被选就被覆盖了 ...

  4. vue data为什么是函数

    vue data是函数的原因: 1.防止data复用: 2.data独立性: 3.作用域: 4.js的特性. 总结来说,如果data是一个函数的话,这样每复用一次组件,就会返回一份新的data(类似于 ...

  5. Decompiling XAPK Files

    http://calebfenton.github.io/2016/02/28/decompiling-xapk-files/

  6. python如何画高光谱立体图像

    语句含义:spectral.view_cube(image,bands=[29,19,9])  中的29,19和9是第几个波段,可以改成数据波段数以内的其他的数值

  7. JavaScript表单form

    form表单实例 1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="utf-8"& ...

  8. I2C接口(续一)

    I2C接口共涉及到18个寄存器,下面就来对它们进行具体分析. 先来看I2C配置寄存器CFG,下表是它的全部位结构,其地址分别为0x40050000(I2C0),0x40054000(I2C1),0x4 ...

  9. having对聚合函数的结果集进行过滤

    SELECT rl.road_code,string_agg(distinct rs.tech_level_label, ',') from road_lst rlleft join road_sec ...

  10. Mac Parallels Desktop篇 安装Windows 10

    Parallels Desktop安装Windows 10系统: 1.首先下载并安装Parallels Desktop ,下载 Windows 10 系统镜像 2.打开Parallels Deskto ...