服务器数据恢复环境:
HP-EVA存储环境:EVA某型号控制器+EVA扩展柜+FC硬盘。
服务器故障:
EVA存储中两块磁盘掉线导致存储中某些LUN丢失不可用。
服务器数据恢复过程:
1、首先对故障存储中所有磁盘做物理故障检测,经过检测没有发现有硬盘存在物理故障。使用坏道检测工具检测也没有发现坏道,磁盘坏道检测日志部分截图:
2、将故障存储中所有磁盘以只读方式做完整镜像备份,以防后续数据恢复过程中操作不当对原始数据造成二次破坏。部分备份数据如下:
3、由于所有磁盘没有发现物理故障或者坏道,可以判断硬盘掉线是因为磁盘读写不稳定导致的。EVA控制器对磁盘的检测策略非常严格,EVA控制器会认为性能不稳定的磁盘是坏盘,将认为是坏盘的磁盘踢出磁盘组。如果某个LUN的同一个条带中掉线的磁盘到达极限,这个LUN将不可用,即如果EVA存储中所有的LUN都包含这些掉线的盘,所有LUN都会受影响,所以两块磁盘掉线也会导致整个存储的LUN都不可用。目前的情况是现存8个LUN,损坏7个LUN,丢失6个LUN,需要恢复存储中所有LUN的数据。
4、HP-EVA的LUN都是以RAID条目的形式来存储数据的,EVA将每个磁盘的不同块组成一个RAID条目,RAID条目的类型可以有很多种。需要分析出组成LUN的RAID条目类型和这个RAID条目是由哪些盘的哪些块组成。这些信息都存放在LUN_MAP中,每个LUN都有一份LUN_MAP。EVA将LUN_MAP分别存放在不同的磁盘中,使用一个索引来指定其位置。因此去每个磁盘中找到这个指向LUN_MAP的索引就可以找到现存LUN的信息。
5、虽然磁盘中记录了指向LUN_MAP的索引,但是它只记录现存的LUN,丢失的LUN是不会被记录索引的。由于EVA中删除一个LUN只会清除这个LUN的索引,并不会清除这个LUN的LUN_MAP。所以只需要扫描所有磁盘,找到所有符合LUN_MAP的数据块,排除现有的LUN_MAP,剩下的LUN_MAP也不一定全是删除的,也有一些可能是旧的。这种情况下是无法在LUN_MAP中筛选的,只能先将所有LUN_MAP的数据都恢复出来,人工去核对哪些LUN是删除的。
6、掉线磁盘中存放的是一些旧的数据,在生成数据的时候需要将这些磁盘都排除掉,提取数据之前需要把这些掉线磁盘找到。由于LUN的RAID结构大多都是RAID5,只需要将一个LUN的RAID条目通过RAID5的校验算法算出校验值,再和原有的校验值做比较就可以判断这个条目中是否有掉线盘。将一个LUN的所有LUN_MAP都校验一遍就可以知道这个LUN中的哪些RAID条目中有掉线盘,这些RAID条目中都存在的那个盘就一定是掉线盘。排除掉掉线盘并根据LUN_MAP恢复所有LUN的数据即可。
7、北亚企安数据恢复工程师编写扫描LUN_MAP的程序扫描全部LUN_MAP,结合人工分析获取到{BANNED}最佳精确的LUN_MAP。编写检测RAID条目的程序检测所有LUN中掉线的磁盘,结合人工分析排除掉掉线的磁盘。编写LUN数据恢复程序结合LUN_MAP恢复所有LUN数据。
8、人工核对恢复出来的每个LUN,确认是否和用户方工程师描述的一致。部分LUN如下:
数据验证:
用户方工程师对恢复出来的数据进行检验,经过反复验证后确认数据完整可用,本次数据恢复工作完成。
EVA存储数据安全Tip:
1、经常巡视机房设备,发现报警信息及时处理。
2、操作存储时要谨慎,避免误操作导致数据丢失。
3、如果发现EVA控制器部分模块不稳定,应及时更换。
4、由于EVA存储故障多是由磁盘不稳定导致的,EVA存储内的磁盘应该是同一批次的磁盘。因此,没有掉线的磁盘性能也快到极限,如有条件建议一起更换这批磁盘。
阅读(193) | 评论(0) | 转发(0) |