在数据恢复行业里,我算是较早的一批从事数据恢复技术服务的工程师之一,我的技术方向重点都放在软件逻辑故障数据恢复领域里,对于硬件级别修复提不起太多的兴趣。在软件逻辑故障数据恢复方向中,我的技术重点又放在了各类文件系统研究及数据库故障恢复技术。本文向大家分享我的IBM AIX JFS/JFS2文件系统及存储故障数据恢复经历,回顾近十年来我的技术成长历程。

初出茅庐篇:20049月份,接到宁夏某国税局一个7133阵列故障:由于突然掉电, 7133 阵列从 IBM M80 中消失,通过后台管理察看,两组阵列中每组阵列各自有两块盘被踢出阵列,强行 ONLINE 也加不回到阵列中,在 AIX 系统层面上, IBM 高级工程师判断为不可恢复的。这个案例到现在我还记忆犹新,这是我第一次接触AIX阵列故障,尤其是7133阵列,这玩艺儿销售价不菲,当时能买得起的基本上是IBM的大户,硬盘接口是SSA接口,估计现在从事数据恢复的同行也没几个人能有机会见到这样的硬盘。当时我们最强技术是RAID数据重组,我分析出这两组RAID是双循环模式,于是按照HP双循环组合方式重组,把组合好的两块目标硬盘连接到IBM 140P小型机上,尝试importvg,没能成功!IBM公司派来一个高级工程师前来协助恢复,我们折腾了一天,没有太多进展。国税局那边时间消耗不起,最后研究决定,要是在第二天上班之前,数据还没有恢复出来,就放弃恢复,启用别的方案。因为数据涉及面非常广,负责这一块的信息中心主任几乎崩溃。由于熬夜折腾的,我也坚持不住,半放弃状态回家休息,回家说是睡觉,其实也不能入眠,脑子老想着这事。到了晚上10点钟,凭感觉,我觉得这个数据是能恢复出来的,不知道是哪个环节出了问题,最大的问题可能在Raid组合上。于是我又跑回公司,继续分析,最后终于找出问题了,RAID组合是双循环,HP双循环是左异步,而7133阵列双循环是左同步,连夜更改了组合程序,最后在凌晨5点钟,把数据在小型机上mount成功,接着把oracle数据库文件通过FTP客户端下载到PC机上。上班时间到了,IBM工程师半信半疑过来看数据,经验证,数据恢复完美!由此,我开始了IBM AIX数据恢复研究之路!

深入内核(LVM):记不清是什么时间了,有个案例是IBM SAN光纤存储,划分了好几个LUN,使用JFS2文件系统。故障现象是:由于LV损坏,文件系统mount不上,后来经过几路人重建了LV信息,数据还是没有找回来,最后寻求数据恢复技术支持。我当时就有一个梦想,就是写一个自己的程序,直接读取AIX JFS/JFS2文件系统,恢复其中丢失的数据,苦于没有资料没法研究。这个案例终于让我有机会深入研究AIX LVM结构,有个非常经典的帖子:http://bbs.loveunix.net/viewthread.php?tid=76187&extra=&page=1 ,记录了当时的导论过程。要知道,LVMAIX下文件系统分区空间分配的架构,了解它,你只是了解某个LV的空间具体分配和使用情况,以及VG的一些特点,但是对于JFS/JFS2文件系统来说,了解LVM还不能深入JFS/JFS2内部。了解了LVM结构,就相当于了解Windows下分区表结构和Boot扇区结构。

天价恢复“分区表”的经历:某个上市公司的ERP系统数据库采用Oracle安装在IBM AIX下,维护工程师不小心chdev -l hdiskX -a pv=clear在经过几轮抢修,还是没有恢复正常,最后经由赛门铁克工程师推荐找到了我,我说可以恢复,这相当于Windows下的分区表损坏,我可以修复回来,不过价钱不像windows500-600那么便宜,这种分区表的恢复,我们的价钱是最低5万块钱,最后我只更改了不到20个字节的内容,文件系统就能正常mount上了。这就是我恢复一个天价分区表的经历。(其他内容待续

 

本文由达思数据恢复总工程师覃廷良撰写,转发请注明出处:http://www.bnuol.com