服务器数据恢复—异常断电导致服务器挂载分区无法访问的数据恢复案例

服务器数据恢复环境:
某品牌服务器+同品牌存储,Linux centos7+EXT4文件系统。

服务器故障:
意外断电导致服务器操作系统不能正常启动。经过修复后系统可以正常启动,但是挂载的分区无法正常访问。使用fsck修复这个问题分区,虽然修复完成之后文件系统正常,但是发现部分文件丢失,查看后发现缺失的部分文件在lost+found文件夹里,文件名已经发生改变。

服务器数据恢复过程:
1、将存储上的出现问题的lun以只读模式映射到一台windows server系统服务器上,以扇区的方式镜像到备份空间,后续的数据分析和数据恢复操作均在备份的数据上进行,避免对原始数据造成二次破坏。
2、基于镜像数据分析故障卷的底层数据,发现服务器异常断电导致虚拟机目录下的目录项被破坏。这种破坏不会影响重要数据,只是破坏了文件的目录项,可以通过人工修复解决。之后工作人员使用fsck修复文件系统,导致文件目录结构丢失。损坏的目录项修复不成功,直接以目录节点号命名放到lost+found文件夹下。这时,目录项对应的数据区索引会被清掉,但是也不会影响删除文件的实际数据。可以根据删除虚拟磁盘文件中的文件系统以及虚拟磁盘中的文件类型,在VMFS卷自由空间中进行碎片匹配和合并,恢复删除的虚拟磁盘文件。


由于ext4文件系统文件丢失后,文件的节点信息也会被清除,所以无法根据文件的节点信息恢复数据,只能将丢失的文件的目录项节点号和lost+found里面的文件的名称进行匹配。由于lost+found里面的文件是以文件的目录项的节点号命名的,所以把目录项节点号提取出来和lost+found里面的文件名进行匹配就可以还原之前的目录结构。
3、按照上述思路分析底层数据。根据EXT4的文件系统结构信息,在底层的空间中扫描符合的目录项的区域,统计其数量和计算目录项的节点号。根据磁盘中的文件系统的信息,北亚企安数据恢复工程师将这些扫描到的目录项节点号进行整合,将扫描到的目录项节点号记录到数据库。将lost+found里面的文件记录号和数据库里面的记录号进行匹配。 
4、经过匹配,数据正常恢复。经过数据恢复工程师和用户方的验证都没有发现问题,数据恢复工作完成。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/57222.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[含文档+PPT+源码等]精品基于PHP实现的培训机构信息管理系统的设计与实现

基于PHP实现的培训机构信息管理系统的设计与实现背景,可以从以下几个方面进行阐述: 一、社会发展与教育需求 随着经济的不断发展和人口数量的增加,教育培训行业迎来了前所未有的发展机遇。家长对子女教育的重视程度日益提高,课外…

基于SSM+小程序的童装商城管理系统(商城3)

👉文末查看项目功能视频演示获取源码sql脚本视频导入教程视频 1、项目介绍 基于SSM小程序的童装商城管理系统实现了管理员及用户。 1、管理员实现了 首页、个人中心、用户管理、分类列表管理、童装商城管理、系统管理、订单管理。 2、用户实现了 注册、登录、首…

行为设计模式 -命令模式- JAVA

命令模式 一.简介二. 案例2.1 接收者(Receiver)2.2 命令接口实现对象(ConcreteCommand)2.3 调用者( invoker)2.4 获取Receiver对象2. 5 装配者客户端测试 三. 结论3.1 要点3.2 示例 前言 本设计模式专栏写了…

LCR 024. 反转链表 最细图片逐行解析过程

LCR 024. 反转链表 给定单链表的头节点 head ,请反转链表,并返回反转后的链表的头节点。 示例 1: 输入:head [1,2,3,4,5] 输出:[5,4,3,2,1]示例 2: 输入:head [1,2] 输出:[2,1]示例…

云计算平台上的DevOps实践

文章目录 什么是DevOps云计算平台上的DevOps优势自动化部署弹性伸缩地理分布 实施DevOps的关键组件版本控制系统持续集成/持续交付工具配置管理工具监控和日志管理 实践案例使用AWS CodePipeline进行持续集成/持续交付利用AWS Auto Scaling实现弹性使用AWS CloudFormation进行基…

DIY可视化-uniapp悬浮菜单支持拖动、吸附-代码生成器

在Uniapp中,悬浮菜单支持拖动和吸附功能,可以为用户带来更加灵活和便捷的操作体验。以下是对这两个功能的详细解释: 悬浮菜单支持拖动 提高用户体验:用户可以根据自己的需要,将悬浮菜单拖动到屏幕上的任意位置&#x…

微信小程序 - 动画(Animation)执行过程 / 实现过程 / 实现方式

前言 因官方文档描述不清晰,本文主要介绍微信小程序动画 实现过程 / 实现方式。 实现过程 推荐你对照 官方文档 来看本文章,这样更有利于理解。 简单来说,整个动画实现过程就三步: 创建一个动画实例 animation。调用实例的方法来描述动画。最后通过动画实例的 export 方法…

Kafka认证时Successfully logged in真的认证成功了?

背景 某个应用需要配置 Kafka 集群信息,且需要在验证集群是否可达。基本实现思路是创建一个生产者对象,然后发送一条测试数据,调用 Producer 的 send 方法发送消息后,再调用 get() 方法,即同步发送消息,测…

基于spootboot学生选课系统设计与实现

资料下载 https://download.csdn.net/download/qq_63753925/89888794 https://download.csdn.net/download/qq_63753925/89888793 https://download.csdn.net/download/qq_63753925/89885091 https://download.csdn.net/download/qq_63753925/89882320 摘 要 近年来&#xf…

机器人转人工时,开启实时质检(mod_cti基于FreeSWITCH)

文章目录 前言联系我们实现步骤1. 修改拨号方案2. 启用拨号方案 前言 在客户与机器人对话中,是不能开启质检功能的。因为机器人识别会与质检识别产生冲突。如果用户想通过机器人转接到人工时,开启质检功能,记录客户与人工之间的对话。应该如…

MySQL史上最全总结

MySQL学习笔记 安装与配置myini文件内容:初始化MySQL: MySQL语法:SQL-DDL数据库1.创建数据库2.查看数据库3.修改4.删除 数据库中的表管理1.创建表2.查找3.修改4.删除5.截断表 SQL-DML1.添加数据1.1插入多条数据1.2表内容复制 2.修改数据3.删除 TRUNCATE和…

Android中的epoll机制

深入理解Android中的epoll机制 在Android系统中,epoll广泛用于高效管理网络和文件的I/O操作。它通过减少CPU资源消耗和避免频繁的内核态-用户态切换,实现了在多连接、多任务环境中的高性能。epoll的特性使其非常适合Android系统中网络服务器、Socket通信…

php伪协议和move_uploaded_file、rename、copy等文件操作

move_uploaded_file、rename、copy 三个函数的区别: move_uploaded_file 函数是专门用于将通过 HTTP 上传的临时文件移动到指定位置的。如果你想要将一个已经存在的文件移动到另一个位置,而不是上传的文件,那么你应该使用 rename 函数或 co…

Java SPI 机制详解

面向对象设计鼓励模块间基于接口而非具体实现编程,以降低模块间的耦合,遵循依赖倒置原则,并支持开闭原则(对扩展开放,对修改封闭)。然而,直接依赖具体实现会导致在替换实现时需要修改代码&#…

自动驾驶性能分析时,非常有用的两个信息

自动驾驶的关键路径如下,传感器的数据发送给感知模块;感知模块根据传感器数据来确定车辆所处的环境,比如前方有没有障碍物,是不是和车道线保持着适当的距离等;感知处理之后的数据传递给规控模块,规控根据车…

【Spring】Cookie与Session

💐个人主页:初晴~ 📚相关专栏:计算机网络那些事 一、Cookie是什么? Cookie的存在主要是为了解决HTTP协议的无状态性问题,即协议本身无法记住用户之前的操作。 "⽆状态" 的含义指的是: 默认情况…

【大模型系列】Mini-InternVL(2024.10)

Paper:https://arxiv.org/pdf/2410.16261Github:https://github.com/OpenGVLab/InternVL/tree/main/internvl_chat/shell/mini_internvlAuthor:Zhangwei Gao et al. 上海人工智能实验室 文章目录 0 总结(省流版)1 模型结构1.1 InternViT-300M…

MySQL 数据库备份与恢复全攻略

MySQL 数据库备份与恢复全攻略 引言 在现代应用中,数据库是核心组件之一。无论是个人项目还是企业级应用,数据的安全性和完整性都至关重要。为了防止数据丢失、损坏或意外删除,定期备份数据库是必不可少的。本文将详细介绍 MySQL 数据库的备…

大语言模型数据流程源码解读(基于llama3模型)

文章目录 前言一、数据进入LlamaForCausalLM(LlamaPreTrainedModel)类二、数据进入LlamaModel(LlamaPreTrainedModel)类1、input_ids的embedding编码2、position_ids位置获取3、causal_mask因果mask构建1、causal_mask调用2、因果mask代码解读(_update_causal_mask)4、hidden_s…

Docker镜像的创建、修改与导出

Docker镜像的创建、修改与导出 前言一、创建Docker镜像1. 基于已有镜像创建方法一:修改现有镜像方法二:使用Dockerfile通过源码编译安装nginx二、修改Docker镜像1. 基于已有镜像创建新镜像方法一:修改现有镜像2. 使用`docker commit`命令创建新镜像方法一:提交正在运行的容…