千家信息网

EMC Isilon(OneFS)删除重要数据后恢复案例

发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,【故障描述】某大学因******,导致其"教学系统"的重要数据被删除。其中包括"教学系统"中的MSSQL数据库,以及大量的MP4、ASF和TS类型的视频教学文件。整体存储架构采用EMC高端网络NAS(
千家信息网最后更新 2025年12月02日EMC Isilon(OneFS)删除重要数据后恢复案例

【故障描述】
某大学因******,导致其"教学系统"的重要数据被删除。其中包括"教学系统"中的MSSQL数据库,以及大量的MP4、ASF和TS类型的视频教学文件。整体存储架构采用EMC高端网络NAS(Isilon S200),节点数量为3个,每个节点配置12块3T STAT硬盘,无SSD。所有数据一共分两部分,一部分数据为vmware虚拟机(WEB服务器),通过NFS协议共享到ESX主机,另一部分数据为视频教学文件,通过CIFS协议共享给虚拟机(WEB服务器)。***只删除了NFS共享的所有数据(也就是所有虚拟机),而CIFS共享的数据则没有被删除。

·
【数据备份】
因考虑到数据安全性,避免对数据造成二次破坏,需对所有硬盘进行全部备份。但是由于磁盘数量太多(单节点12块盘,3个节点36块盘),且单盘容量太大(单盘3TB,一共108TB),因此备份周期会较长。最终客户决定,只对存储中现有数据进行备份,并且由我们备份一次,客户再备份一次,以确保现有数据安全。

·
【数据分析】
备份完所有数据后,在Isilon的web管理界面中将Isilon正常关机。再将所有节点上的所有硬盘贴上标签,并依次取出再放到数据恢复平台中,开始分析所有硬盘中的数据。

·
至此先简单介绍一下Isilon的存储结构,Isilon内部使用的是分布式文件系统OneFS。在Isilon存储集群中,每个节点都是一个单一的OneFS文件系统,因此Isilon支持横向扩展,并且不会影响正在使用的数据。在存储集群工作时,所有节点提供相同的功能,节点与节点之前没有主备之分。当用户往存储集群中存储文件时,OneFS层会将文件分成128K的片段分别存到不同的节点中,而在节点层又会将128K的片段分成8K的小片段分别存到该节点的不同硬盘中。而用户文件的Indoe信息、目录项及数据MAP则会分别存储在所有节点中,这样可以确保用户不管从那个节点都可以访问到所有数据。Isilon在初始化时会让用户选择相应的存储冗余模式,不同的冗余模式所提供的数据安全级别也不一样(默认3个节点采用N+2:1模式)。

·
由于客户数据是被删除了,因此不用过多考虑存储的冗余级别,重点需要分析文件删除后,文件Indoe及数据MAP是否发生变化。和客户沟通后,删除的虚拟磁盘文件都在64G或以上,并且存储中没有其他类型的大文件。编写扫描所有文件Indoe的程序,将文件大小符合64G或以上的Indoe都扫描出来。再仔细分析扫描出来的Indoe,发现Indoe中记录的数据MAP位置,其index指向的内容已不再是正常数据,并且所有节点上的Indoe均是同样的情况。再仔细分析Inode,发现大文件的数据MAP会有多层(树结构),并且数据MAP中会记录文件的唯一ID,因此可以尝试找到文件最底层的数据MAP。抱着侥幸心理对文件最底层的数据MAP做遍历跟踪操作,发现最低层的数据MAP果然还在。
·
【数据恢复】
编写程序,从文件的Inode中取出文件的唯一ID,然后对所有符合该ID的数据MAP做聚合。并根据数据MAP中的VCN号做排序,发现每个文件的前17088项数据MAP都不存在,也就意味着每个文件的前17088项数据是真的没办法恢复了(心情一下跌落低谷)。
仔细换算了一下发现丢失的数据MAP项总共才包含不到1G的数据,而删除的文件全是虚拟机的vmdk文件,里面都是NTFS的文件系统,而NTFS文件系统的MFT基本都在3G的位置,也就是只需要在每个vmdk文件的头部手动伪造一个MBR和DBR就可以解释vmdk里面的数据了(真不知到是巧合呢!还是巧合呢!)。赶紧编写代码,对扫描到的数据MAP做解释,并根据VCN号的顺序导出数据,没有MAP的情况保留为零。
经过不断的测试,程序终于编好了,先导出一个vmdk文件来看看。结果令我大吃一惊,导出的vmdk文件比实际情况要小,并且vmdk中MFT的位置也与自身描述不符。是程序的问题?还是数据MAP本身已损坏?手动随机验证了几个MPA发现都能指向数据区,而程序解释MAP的方式也都没有问题。就在我百思不得其解的时候,我突然想到Isilon这么高端的存储不可能没有文件稀疏吧!否则空间得浪费多少啊!立马根据数据MAP验证了一下,发现文件果然是稀疏的。
修改代码,重新导出刚才的vmdk,这次vmdk大小符合实际大小,且MFT的位置也在相应位置。手工伪造一个MBR,分区表以及DBR,再用北亚开发的文件系统解释工具成功解释其文件系统,导出vmdk里面的数据库及视频文件。
在验证了此vmdk中的数据库及视频文件没问题后,批量导出所有重要的vmdk文件,再手工一个一个的去修改每个vmdk文件。

·
【数据验收】
将客户所有重要的数据恢复完成后,由客户方安排工程师对恢复的所有数据做完整性及准确性检测,经过长达1天的验证工作。数据最终确定完全没有问题,数据恢复成功。
整个恢复过程虽然很曲折,但是结果很满意。

数据 文件 节点 存储 系统 备份 客户 位置 硬盘 程序 分析 解释 教学 数据恢复 用户 视频 问题 验证 重要 不同 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 软件开发项目实施意见 数据库中链表的查询 是目前数据库系统中最常用的 云服务器对公司有什么好处 浙江台州塑胶模具erp软件开发 局域网与外网网络安全 数据库系统概论第五版第六章答案 如何构建dns服务器的配置管理 影之刃2不同服务器 奇安信网络安全产品怎么样 金点子软件开发 庄河软件开发 云南人社网络安全维护 带小孩和软件开发哪个苦 电信网络技术做什么工作 济南智慧养老软件开发 个人台式机是否可以作为服务器 信迅软件开发 天津社区商城软件开发 如何找到软件连接的数据库 南京媒体网络技术服务怎么样 网络安全产业示意图 数据库数据怎么保存到二维码中 华为服务器维护模式有什么用 数据库操作工具中文最新版 昆虫数据库管理系统 亚马逊云服务器列表 数据表变数据库 两种常用的服务器操作系统 国企员工如何做好网络安全
0