环境 :IBM小型机运行IBM Lotus Notes/Domino办公系统。

时间:2010年7月17日星期六 15-18点

误操作: Lotus Notes办公系统数据(Domino的.nsf文件)存放在存储阵列上,技术工程师要进行数据整理及迁移,在Lotus Notes客户端上清除一些认为没重要的数据,清除操作时间在周六,客户端没有数据写入,当时没有发现异常。但在周一上班的时候,发现有用户登录不了OA系统,这才发现数据丢失的严重的问题。
     本案例的架构是Lotus Notes运行多个单位的OA系统,即便有一个单位的OA出现问题,也不能停机,如果停机会影响别的OA的正常使用。在这种情况下,存储会有新的数据写入,增加了数据恢复的许多不确定因素。

经过沟通,在不能停机的情况下,我们要求客户尽快把要恢复数据的文件系统通过UNIX下的dd命令备份出来,这样能减少更多的新的数据写入到这个要恢复数据的文件系统,在以后的数据恢复操作中都在备份出来的文件进行处理。

数据恢复分析:
    工程师在凌晨2点到达客户现场,马上投入工作。客户把需要恢复数据的文件系统dd成一个112GB的文件,经过将近10个小时的分析,按照客户的要求把相关数据提取出来,经过客户验证,发现是删除掉的要恢复的文件,但是数据记录只到6月份,没有7月份的数据。经过讨论,客户猜测数据可能在200GB大小的另外一个文件系统上,于是工程师对200GB的文件系统的镜像文件进行分析,果然在200GB的文件系统中找回了客户删除掉的文件。

恢复技术介绍:
1、UINX文件系统中,所有的文件和目录都是由inode来描述,inode可以算得上文件和目录的灵魂。在JFS2文件系统中,inode大小通常占用512个字节,inode包含最重要的信息有:inode编号、文件或目录大小、文件属性(权限等信息)、四个时间(last data accessed、last status changed、last data modified、created)、数据指针、inode连接数等。
2、根据JFS2文件系统架构,一个文件系统的所有inode跟普通文件类似,根据需求分配空间,我们可以把某个文件系统的所有inode提取出来,保存成一个文件,根据需要对这个文件进行分析。
3、在JFS2文件系统中,当对文件或目录进行删除操作时,文件或目录名称都没有改变,文件的inode信息变化不是很大,通常只是对时间进行更新、把inode连接数更新为0(inode连接数是指有多少个文件在共用这个inode,一个inode可以供多个文件使用,但是一个文件只能对应一个inode),其他的信息一般不更改,其中最重要的是数据指针没有更改,这才有删除文件以后有重新恢复的可能。

友情提醒:在UNIX下由于各种原因出现数据丢失以后,第一时间要想办法把原始数据做一个dd备份,然后才能对原始存储进行别的操作。

声明:作者达思数据恢复技术专家覃廷良,本文首发http://www.bnuol.com ,在donews.com,51cto,techweb,新浪等数据恢复技术博客上转发.