IBMV7000虚拟存储数据恢复技术解决方案

发布网友 发布时间:2022-04-21 08:04

我来回答

1个回答

热心网友 时间:2023-10-16 20:22

IBMV7000虚拟存储数据恢复技术解决方案

  虚拟存储故障数据恢复是一个高难度的技术实现,传统的企业级存储采用普通的Raid级别分配LUN空间,基本平行线性分布空间,而虚拟存储技术,LUN的空间分布是动态实现的,可以把很多个物理硬盘放在大的盘池中,LUN的空间分配根据需要从盘池中获取相应的空间。一旦整个虚拟存储出现故障,要找出LUN的空间分配,则需要把LUN的地址描述信息找出来,才能还原LUN的真实空间分布。

  达思数据恢复中心多次处理IBMV7000存储故障的数据恢复,我整理出来供大家参考。

  1、 IBMV7000虚拟存储数据恢复的故障描述:

  在IBM V7000上引入两个外部磁盘,每个mdisk大小12TB左右,把这两个mdisk划分在一个盘池中,然后从这个盘池中划分出两个LUN,第一个15TB,第二个LUN10TB,这两个LUN采用精简模式分配空间。由于误操作,把硬盘池删除掉,导致两个LUN数据丢失,不能访问,需要进行数据恢复。

  2、 IBMV7000虚拟存储数据恢复磁盘划分原理:

  “虚拟”两个字是IBM V7000存储的精髓,特别是对精简模式的LUN的划分,假如你划分一个15TB的LUN,精简模式,这个LUN实际在这个盘池中,最小分配768KB就足够了,随着对LUN格式化,写入数据,这个空间就会慢慢增加,而这个增加的存储空间,就会有相应的信息来记录,这个就是map指针记录表。

  LUN的最上一级map指针,记录着这个LUN使用了哪些extents,而extent是从这个盘池中获取的,这个案例一个extent是1GB。在盘池中的每个mdisk,会划分成诺干个extent,从小到大进行编号,当LUN在分配空间时,就会在map表中记录,哪些mdisk的哪些extents给这个LUN使用。而一个extent的内部,又分成诺干个512扇区的空间,这一层还有一个map表,记录着哪些512扇区给LUN的那个逻辑地址上使用,因为512sec在整个盘池中实在是太多了,就使用间接指针的方式来记录,空间越大,间接指针的级别就用得越高,比如15TB的LUN,间接指针就会用到4级,才能描述整个LUN的512sec数量级位置。

  这就是所谓的虚拟概念,就像银行的信用卡额度,你用多少钱,就分配给你多少钱,不会一次性把这个额度的钱都给你,让你去消费,而是你用多少,他就给你多少,在这个额度范围内,银行会有记录,记录这些钱什么时间用,使用多少,这个就相当于LUN的空间分配一样。账单都是记载在银行的数据库里,LUN的空间分配是记录在V7000控制器上。

  3、 IBMV7000删除盘池原理:

  删除盘池,连带这个盘池中的LUN信息也会删除掉,LUN的空间分配map表也会从控制器中清除掉,如果一个LUN在分配空间时,采用非精简模式,这个LUN的空间在mdisk上的.划分是连续的,即便没有空间分配map表,也可以从mdisk中的连续空间上获取原先LUN使用的extents,这样删除盘池以后,数据恢复就相对容易一些。而我们要恢复的LUN都采用精简模式分配空间,没了extents的map表,在还原这个LUN的空间分配时,是有很大的难度。就像银行的账单被删除了,银行卡还在,你是没有办法直接把你消费记录打印出来的,除非你能保留所有的消费凭证,比如银行消费短信,纸质记录等等,你才能租略统计出你的消费记录。LUN的分配地址空间也一样,没了记录,只能根据mdisk内部指针收集、统计、排查,最后才有可能还原出来。

  4、 关键点:IBM V7000虚拟存储的数据恢复解决方案:

  根据以上原理的分析,要能成功恢复出数据,必须把LUN的空间分配弄清楚,才有可能数据恢复成功。IBM V7000虚拟存储是个比较新的概念,首先要弄清楚存储架构,我们毕竟不是这个产品的设计者,对它知道的不多,要了解盘池,了解extents,了解LUN的划分原理,了解指针结构等等,这个分析得从v7000测试开始,反复测试,反复分析,才能得出相对可靠的结论,这个过程花费了很长时间。

  现在的工作是,把这两个mdisk上的所有级别的指针地址位置,指针内容,指针级别都收集出来,做到准确无误,这个工作基本完成。后面的工作就是想办法把这些指针内容,通过统计方式,把LUN空间还原出来,这个工作是数据恢复的最后阶段,能否恢复成功,就看统计连接技术,因为空间大,指针多,难度大,时间会不确定!

  5、 总结:

  IBMV7000研究到现在,总算把整个底层存储结构弄明白,弄明白后,还是没能见到曙光,还需要投入大量的体力脑力劳动,才有可能成功。

  举个例子:练习兵乓球时,有个发球机,里面装着2万个球,白球1万个,黄球1万个,白球和黄球都从1-1万编号,有两个人在练习,发球机看谁空闲就把球发给谁,随机发球,发球机会记录哪个球发给谁,当把球都发出去了,地上就是满地的2万个球,我们从发球机上的记录可以看出哪个球发给哪个人。不幸的是,有一次发球机发完所有的球后,发生电路短路,烧掉了,所有记录没了,请问,我们还有什么办法分辨出哪个球发给哪个人么?

  我想大多数人会回答:不能!

  但是有一个人经过多方思索和考察,说他能!这个人的解决办法是什么呢?各位可以想想。

  答案:这个人经过观察,发现这个练球室装有4个摄像头,他说就可以根据这4个摄像头的录像回放,从不同角度观察每次发球的细节,然后手工记录下来,就能还原整个发球记录信息!这个工作需要花费大量的时间和精力!

  数据恢复技术也是一样的道理,从不同角度,不同思维,去寻求相应的解决办法。

  在数据恢复技术上研究IBMV7000就像在研究一个未知的课题,你只能根据经验、技术、创新思维等等往前挖掘新的信息,然后在不断的推进,直到最后拨云见晴天。这不是一个普通的数据恢复案例,这是一个国际计算机巨头IBM设计出来的专业虚拟化存储,要想在短期内去吃透,没有深厚的底层结构分析经验,是不可能完成的。我相信,IBM工厂级即便是产品设计者,对于这种恢复技术,未必能实现成功恢复,他们甚至直接给出否定的答案:不能恢复!按照我的理解,这个只能从旁门技术去实现数据重现,数据恢复技术的魅力大概如此!

;

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com