热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

企业级Linux误删除数据恢复技术

为了更好的确保数据安全,企业级数据一般都存储在安全性及稳定性更高的Linux及Unix内核系统的存储设备上。据知名数据恢复品牌

为了更好的确保数据安全,企业级数据一般都存储在安全性及稳定性更高的Linux及Unix内核系统的存储设备上。据知名数据恢复品牌

  为了更好的确保数据安全,企业级数据一般都存储在安全性及稳定性更高的Linux及Unix内核系统的存储设备上。据知名数据恢复品牌科技统计,企业级数据恢复案例较多的集中在Windows内核的服务器。不过,Windows内核的数据恢复技术难度不大,而Linux及Unix出故障的概率比较小,但是一旦出现问题,数据恢复难度非常大,数据恢复公司经过多年的艰苦研究,终于在Unix(IBM AIX,HP-Unix)及Linux系统下的各种文件系统(如:EXT3、JFS2、ReiserFS等)的数据恢复取得了突破性进展。

  下面,我们看一个比较典型的Ext3文件系统误删除的成功案例,这在数据恢复众多的案例中比较典型。

  客户:日本某全球500强公司

  服务器环境 :浪潮服务器,3块硬盘做的Raid5。

  文件系统:EXT3

  发生故障时间:2010年3月18 上午10点左右

  工程师误操作:维护工程师停掉Oracle服务,打算把oracle做一个冷备份,然后把Oracle库文件备份到windows PC Server上,再用CuteFTP的客户端下载。在下载过程中,发现下载速度特别慢,想删除下载任务,结果误操作,把要下载的oracle实例文件夹整个都删除了, oracle库文件、控制文件、日志文件全部删除。

  数据恢复:EXT3文件系统误删除数据恢复技术介绍

  实际上,Linux操作系统的EXT3文件系统并没有预留反删除的功能。在EXT3文件系统中,每个文件都是通过Inode来描述其数据存放的具体位置,当文件被删除以后,Inode的数据指针部分被清零,文件目录区没有太多变化。文件的读写都是通过Inode来实现,当Inode数据指针被清零以后,即便文件内容还在,也没有办法把文件内容组合出来。

  EXT3文件系统是一种带日志功能的文件系统,Inode的变化会在日志文件.journal中有记录,.journal文件比较小,一般是32MB。当EXT3文件系统中的metadata数据发生变化时,相应的metadata在.journal文件会有一份COPY。比如一个文件被删除了,它的Inode信息会在.journal文件中先保存一份,然后把要删除文件inode相关信息清零。这个.journal文件是循环使用的,当操作过多时,,删除的文件的inode日志记录会被新的数据替换,这就彻底丧失了根据inode找回数据的机会了。如果是大量文件的删除,这个.journal文件会被反复循环利用多次,只留给最后删除的那些文件的恢复机会。

  数据恢复专家上门服务 3天Oracle数据库奇迹般成功恢复!

  客户在北京咨询了五六家数据恢复公司,最终决定请数据恢复专家上门服务。数据修复专家开车抵达位于顺义区天竺的客户数据中心现场。

  客户要恢复的是oracle数据库,oracle数据库文件被删除以后,只要是数据内容没有被覆盖,数据恢复技术是可以把文件单独提取出来。DST专家经过深入分析,在.journal文件没有找到删除过的oracle数据文件,原因是用户删除数据以后,系统还在开机运行,同时尝试启动过oracle实例,oracle产生一些日志文件,这些日志文件数量比较多,而要恢复的删除过的文件数量只有16个,在.journal文件中已经没有了删除文件的inode信息。最终,数据恢复的思路只有两条:

  第一种:根据oracle数据文件内部结构,对全盘进行搜索,符合oracle数据页面的数据都提取出来,然后按照oracle数据文件的ID号进行重新组合。

  第二种:根据oracle数据文件分布规律,精确定位oracle文件的数据指针地址,包括一级间接地址、二级间接地址和三级间接地址,重新构造出该文件的inode信息,然后把数据读取出来。

  数据恢复专家最终恢复的效果非常好。第二天下午,由于工作量比较大,研发部的程序员在现场编写了脚本,以提高Oracle数据库组合进度。第三天,oracle能正常启动。工程师把数据全部备份出来,最后发现有两个表数据少了一些记录,经查明,原因就是删除文件以后,一些日志文件的写入该分区,破坏了oracle数据文件的一些数据页面,幸好这两张表数据对用户来说不是很重要,客户接受数据恢复结果。

  数据恢复专家提示:

  在Linux/UINX下误删除了文件,当发现数据丢失以后,不要进行任何操作,马上关机,保留现场。如果条件不允许关机,就要想办法把数据丢失的文件系统经过DD镜像到另外的存储空间上作为最原始的备份,以便数据恢复专家现场诊断。


推荐阅读
  • Linux环境下Redmine快速搭建指南
    本文将详细介绍如何在Linux操作系统中使用Bitnami Redmine安装包快速搭建Redmine项目管理平台,帮助读者轻松完成环境配置。 ... [详细]
  • 本文探讨了在支付项目开发中使用SS5 Socket Server实现内部网络访问外部网络的技术方案。详细介绍了SS5的安装、配置及性能测试过程,旨在为面临相同需求的技术人员提供参考。 ... [详细]
  • Java面向对象编程深入解析
    本文详细探讨了Java中的关键字static、单例模式、main()方法、代码块、final关键字、抽象类与方法、模板方法设计模式、接口、内部类等内容,旨在帮助读者深入理解和掌握Java面向对象编程的核心概念。 ... [详细]
  • 导入大csv文件到mysql(CSV导入) ... [详细]
  • 本文详细介绍如何在Windows 10教育版中关闭防火墙,包括具体的操作步骤及注意事项。 ... [详细]
  • GNU GRUB(简称GRUB)是一个来自GNU项目的支持多启动的引导加载程序。它允许用户在同一台计算机上安装多个操作系统,并在启动时选择希望启动的系统。 ... [详细]
  • 本文档详细介绍了在Linux系统中执行基本管理任务所需的关键命令,包括获取管理员权限、文件操作、服务控制等。 ... [详细]
  • 解决Ant编译时出现的非法字符错误
    在进行Java项目的Ant构建过程中,有时会遇到由平台差异引发的编译错误。本文将详细探讨一种常见的错误——'error: illegal character'及其解决方案。 ... [详细]
  • 本文介绍了如何在Ubuntu 16.04系统上配置Nginx服务器,以便能够通过网络访问存储在服务器上的图片资源。这解决了在网页开发中需要使用自定义在线图标的需求。 ... [详细]
  • 本文介绍了如何在Linode服务器上以root用户身份安装Xubuntu,并解决尝试启动图形界面时遇到的'无屏幕找到'错误。 ... [详细]
  • 本文档详细介绍了2017年8月31日关于MySQL数据库备份与恢复的教学内容,包括MySQL日志功能、备份策略、备份工具及实战演练。 ... [详细]
  • 本文介绍了ADB(Android Debug Bridge)的基本概念、安装方法、环境配置、连接真机步骤以及常用命令和高级技巧。ADB是一个强大的工具,适用于Android设备的开发和调试。 ... [详细]
  • Zookeeper面试常见问题解析
    本文详细介绍了Zookeeper中的ZAB协议、节点类型、ACL权限控制机制、角色分工、工作状态、Watch机制、常用客户端、分布式锁实现、默认通信框架以及消息广播和领导选举的流程。 ... [详细]
  • 本文详细解析了muduo库中的Socket封装及字节序转换功能。主要涉及`Endian.h`和`SocketsOps.h`两个头文件,以及`Socket.h`和`InetAddress.h`类的实现。 ... [详细]
  • 深入理解Java NIO:基础概念与原理
    本文介绍了Java NIO(New Input/Output)的基本概念,包括同步与异步、阻塞与非阻塞等核心理念,以及NIO相对于传统IO的优势和应用场景。通过详细解析这些概念,帮助读者更好地理解和掌握NIO的使用。 ... [详细]
author-avatar
CrazyThree
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有