服务器数据恢复—EVA存储磁盘组磁盘掉线的数据恢复案例

电子说

1.3w人已加入

描述

服务器存储数据恢复环境:
一台EVA某型号控制器+EVA扩展柜+FC磁盘。

服务器存储故障&检测:
磁盘故障导致该EVA存储中LUN不可用,导致上层应用无法正常使用。

服务器存储数据恢复过程:
1、将所有磁盘做好标记后从扩展柜中取出。硬件工程师对所有磁盘做物理故障检测,并没有发现有磁盘存在物理故障。使用坏道检测工具检测也没有发现有磁盘存在大量坏道。以只读方式将所有硬盘进行扇区级全盘镜像。镜像完成后将所有磁盘按照原样还原到原扩展柜中,后续的数据分析和数据恢复都基于镜像文件进行,避免对原始磁盘数据造成二次破坏。
2、基于镜像文件分析所有磁盘底层文件。由于没有检测到有磁盘存在物理故障或者大量坏道,由此推断故障是由于磁盘读写不稳定引起的。EVA控制器通常会将读写性能不稳定的磁盘认定为坏盘并踢出磁盘组。一旦某个LUN的同一个条带中的掉盘数量到达极限,这个LUN将变得不可用。EVA存储中包含这些掉线盘的LUN都会受影响。部分磁盘出现故障可能会导致整个存储无法正常使用。
3、EVA存储的LUN都是以RAID条目的形式存放数据的,EVA存储将每个磁盘的不同块组成一个RAID条目。RAID条目的类型可以有很多种,在恢复数据之前需要分析出组成LUN的RAID条目类型以及RAID条目是由哪些盘的哪些块所组成。这些信息都存放在LUN_MAP中,每个LUN都有一份LUN_MAP。EVA存储将LUN_MAP分别存放在不同的磁盘中,使用一个索引来指定其位置。在每个磁盘中找这个指向LUN_MAP的索引就可以找到现存LUN的信息了。
4、脱离EVA磁盘组的磁盘中存放一些旧的数据,在生成数据的时候需要将这些磁盘都排除掉。由于本案例LUN中RAID都是RAID5阵列,只需要将一个LUN的RAID条目通过RAID5的校验算法算出校验值,再和原校验值做比较就可以判断这个条目中是否有掉线盘。将一个LUN的所有LUN_MAP都校验一遍就可以知道这个LUN中哪些RAID条目中有掉线盘。在这些RAID条目中都存在的那块磁盘一定就是掉线盘。排除掉线盘,根据LUN_MAP恢复所有LUN的数据即可。
5、北亚企安数据恢复工程师编写扫描LUN_MAP的程序扫描全部LUN_MAP,结合人工分析得出最精确的LUN_MAP。编写检测RAID条目的程序检测所有LUN中掉线的磁盘,结合人工分析排除掉线的磁盘。编写LUN数据恢复程序,结合LUN_MAP恢复所有LUN数据。
6、恢复出所有LUN的数据后人工核对每个LUN,确认是否和用户方描述的一致。
恢复出来的部分LUN数据:

存储

北亚企安数据恢复—EVA存储数据恢复



7、分析恢复出来的LUN,重组ASM磁盘组,解析ASM磁盘组。
分析每个LUN前端的结构数据,根据ASM磁盘组结构来区分哪些LUN是属于ASM磁盘组的。分析后发现共有2套ASM磁盘组。
每个磁盘组包含的LUN中的分区的情况:

存储

北亚企安数据恢复—EVA存储数据恢复

存储

北亚企安数据恢复—EVA存储数据恢复



使用ASM结构解析工具解析和修复每个磁盘组,解析出ASM磁盘组中存放的所有数据库文件。

存储

北亚企安数据恢复—EVA存储数据恢复



8、分别按照文件类型分组导出解析出的数据库文件&初步检测导出的文件。

存储

北亚企安数据恢复—EVA存储数据恢复



9、根据用户方的描述,所有LUN的数据分成两部分:一部分是Vmware的虚拟机;一部分是ORACLE上的ASM磁盘组数据,ASM磁盘组中存放的是Oracle的dbf数据库文件。人工核对哪些LUN是存放Vmware数据,哪些LUN是存放ASM磁盘组数据,然后将LUN挂载到不同的验证环境中验证恢复的数据是否完整。
10、将所有符合vmware虚拟机的LUN里面的虚拟机文件都生成出来,然后通过NFS共享的方式挂载到虚拟主机上,再将虚拟机一个一个的添加到清单。
恢复的部分虚拟机文件:

存储

北亚企安数据恢复—EVA存储数据恢复



11、通过NFS将所有虚拟机都添加到虚拟主机以后,将所有虚拟机都加电开机,系统都能正常启动。验证虚拟机里面的数据都没有问题。
部分虚拟机:

存储

北亚企安数据恢复—EVA存储数据恢复



12、根据甲方工程师提供的环境信息搭载Oracle数据库验证环境。
 a. 环境检测
 # uname -all
 然后检查各部分存储空间信息,保证空间足够。
 b. 检测安装依赖包
 根据安装说明“  b19068.pdf  ”,检查 oracle10g 所需的补丁包。
 检测:
 # swlist-l bundle |grep "GOLD"
 # swlist-l patch |grep PHNE_31097
 如果没有检测到的,需要到官方网站下载并安装。 安装补丁包:
 swinstall -s /patchCD/GOLDQPK11i -x autoreboot=true -x patch_match_target=true
 c. 创建用户及组
 #groupadd dba
 #useradd -g dba -d /home/oracle oracle/frombyte
 #passwd oracle
 d. 创建目录并修改权限
 创建目录:
 #mkdir –p/opt/oracle/product/10.2/oracledb/
 #chown -R oracle:dba/opt/oracle
 修改权限:
 #chown oracle:dba/usr/oracle_inst/database/frombyte.com
 #chmod 755/usr/oracle_inst/database/frombyte.com
 e. 设置环境变量
 vi /home/oracle/.profile
 f. 安装oracle
 Oracle的安装要求起图形界面,所以要先测试图像界面能正常启动。
 #exoprt  DISPLAY=192.168.0.1.0:0
 $./runInstaller
 图像界面起来之后,先只安装软件,不安装实例。
 g. 测试数据库连接
 #su - oracle
 $sqlplus / as syssdba
13、通过oracle官方检测工具DBV对导出的数据文件进行物理结构检测。

存储

北亚企安数据恢复—EVA存储数据恢复



经过验证,确认所有文件结构正确,没有结构性损坏。
14、因为原来数据库实例有2个且使用的ASM存储,所以要按照原来配置和命名创建数据库实例。修改控制文件中的路径,让oracle识别到这些数据库数据文件,然后启动数据库。
dmis数据库启动截图:

存储

北亚企安数据恢复—EVA存储数据恢复



gsm数据库启动截图:

存储

北亚企安数据恢复—EVA存储数据恢复



整个启动过程正常,没有任何报错,基本上可以判断数据库恢复完好。
15、验证所有数据没有问题后,将vmware虚拟机文件和Oracle数据库文件拷贝至两块硬盘中,然后移交给用户方。
用户方将数据上传至后台,经过检测,程序可正常运行。用户方认可数据恢复结果。
运行情况:

存储

北亚企安数据恢复—EVA存储数据恢复

存储

北亚企安数据恢复—EVA存储数据恢复

存储

北亚企安数据恢复—EVA存储数据恢复



运行规定:

存储

北亚企安数据恢复—EVA存储数据恢复

存储

北亚企安数据恢复—EVA存储数据恢复



运行变更摘要:

存储

北亚企安数据恢复—EVA存储数据恢复


审核编辑 黄宇

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分