EMC Isilon存储结构:
Isilon群集存储系统使用的是分布式文件系统OneFS。Isilon群集存储系统的每个节点均为单一OneFS文件系统,Isilon在进行横向扩展时不会影响数据的正常使用。Isilon群集存储系统所有节点在工作时都提供相同的功能,节点没有主备之分。Isilon群集存储系统在存储文件时,OneFS层会将文件分成128K的片段分别存放到不同的节点中,节点层又会将128K的片段分成8K的小片段分别存放到该节点的不同硬盘中,用户文件的Indoe信息、目录项及数据MAP则会分别存放在所有节点中。Isilon群集存储系统的这个特性可以让用户从任何一个节点访问到所有数据。Isilon群集存储系统在初始化时会让用户选择相应的存储冗余模式,不同的冗余模式所提供的数据安全级别也不一样(默认3个节点采用N+2:1模式)。
服务器数据恢复环境:
EMC Isilon S系列群集存储系统,3个节点,每个节点配置12块STAT硬盘。该存储系统存放的数据是vmware虚拟机(WEB服务器)和视频文件。vmware虚拟机通过NFS协议共享到ESX主机,视频文件通过CIFS协议共享给vmware虚拟机(WEB服务器)。
服务器故障:
管理员由于误操作将该存储系统中NFS协议共享的vmware虚拟机、MSSQL数据库以及大量的MP4、ASF和TS类型的视频文件删除。
服务器数据恢复过程:
1、通过Isilon的web管理界面的集群关闭功能将存储设备正常关机,将存储系统中所有硬盘编号取出。由硬件工程师对所有磁盘进行硬件故障检测,经过检测所有磁盘均可正常读取,无物理故障。以只读方式将所有磁盘做全盘镜像,后续数据分析和数据恢复操作都基于镜像文件进行,避免对原始磁盘数据造成二次破坏。镜像完成后将所有磁盘按照编号还原到存储设备中。
2、基于镜像文件分析所有硬盘中的数据。由于数据是被人为手动删除的,不用考虑存储的冗余级别。需要分析的是文件被删除后文件Indoe及数据MAP是否发生变化。
3、经过沟通和分析,发现被删除的虚拟磁盘文件都在64G或以上,并且存储中没有其他类型的大文件。北亚企安数据恢复工程师编写文件Indoe扫描程序,将文件大小64G或以上的Indoe都扫描出来。
4、对扫描出来的Indoe进行分析,发现Indoe中记录的数据MAP位置,其index指向的内容已不再是正常的数据。所有节点上的Indoe均是同样的情况。
5、继续分析Inode,发现大文件的数据MAP有多层(树结构),数据MAP中会记录文件的唯一ID,可以尝试找到文件最底层的数据MAP。对文件最底层的数据MAP做遍历跟踪操作,所幸找到最低层的数据MAP。
6、从文件Inode中取出文件的唯一ID,聚合所有符合该ID的数据MAP。根据数据MAP中的VCN号做排序,发现每个文件的前一万多项数据MAP都不存在,意味着每个文件的前一万多项数据没法恢复。
7、丢失的数据MAP项大小不到1G,被删除的文件全是虚拟机的vmdk文件,里面都是NTFS文件系统,而NTFS文件系统的MFT基本都在3G的位置。只需要在每个vmdk文件的头部手动伪造一个MBR和DBR就可以解释vmdk里面的数据。
8、对扫描到的数据MAP做解释,并根据VCN号的顺序导出数据,没有MAP的情况保留为零。先导出一个vmdk文件做测试,结果导出的vmdk文件比实际情况要小,并且vmdk中MFT的位置也与自身描述不符。随机验证了几个MPA发现都能指向数据区,程序解释MAP的方式也都没有问题。所以猜测可能为文件稀疏。
9、将代码进行调整后重新导出刚才的vmdk,这次导出的vmdk大小符合实际大小,且MFT的位置也与描述相符。手工伪造一个MBR、分区表和DBR,使用北亚企安自主开发的文件系统解释工具解释其文件系统,然后导出vmdk里面的数据库及视频文件。
10、对vmdk中的数据库及视频文件进行验证没有发现问题后,批量导出所有vmdk文件,再手工逐个去修改每个vmdk文件。
11、将所有数据恢复出来之后,交由用户方工程师对数据做完整性及准确性检测,经过反复检测,确认恢复出来的数据完整有效。本次数据恢复工作完成。
标签:误删除,数据恢复,文件,虚拟机,MAP,vmdk,数据,存储系统,Isilon From: https://blog.51cto.com/sun510/6499763