服务器数据恢复—Isilon存储集群节点误删除的数据恢复案例

news2024/9/22 17:22:10

Isilon存储结构:
Isilon存储使用的是分布式文件系统OneFS。在Isilon存储集群里面每个节点均为单一的OneFS文件系统,所以Isilon存储在进行横向扩展的同时不会影响数据的正常使用。Isilon存储集群所有节点提供相同的功能,节点与节点之间没有主备之分。当用户向Isilon存储集群中存储文件时,OneFS文件系统层面将文件划分为128K的片段分别存放到不同的节点中,而节点层面将128K的片段分成8K的小片段分别存放到节点的不同硬盘中。用户文件的Indoe信息、目录项及数据MAP则会分别存储在所有节点中,这样可以确保用户不管从哪个节点都可以访问到所有数据。Isilon存储在初始化时会让用户选择相应的存储冗余模式,不同的冗余模式所提供的数据安全级别也不一样。下面介绍一个Isilon存储数据恢复案例。

Isilon存储数据恢复环境:
该Isilon某型号存储有3个节点,每个节点配置12块STAT硬盘。该存储中数据包括vmware虚拟机(作为WEB服务器使用,部署有SQL数据库)和大量视频文件。vmware虚拟机通过NFS协议共享到ESX主机,视频文件通过CIFS协议共享给vmware虚拟机。

Isilon存储故障:
某公司工作人员误操作将Isilon存储中包括vmware虚拟机和一些MP4、ASF和TS类型的视频文件删除。需要恢复的数据包括vmware虚拟机和视频文件,NFS共享的所有数据(所有虚拟机)被删除而CIFS共享的数据没有删除。

Isilon存储数据恢复过程:
1、在Isilon的web管理界面中将Isilon正常关机。将故障存储中所有节点中磁盘做好标记后取出槽位。谨慎起见,由硬件工程师对所有磁盘做硬件故障检测,经过检测没有发现有硬盘存在硬件故障,都可以正常读取。将所有磁盘以只读方式进行扇区级全盘镜像,镜像完成后将所有磁盘按照标记还原到原存储中。后续的数据分析和数据恢复操作都基于镜像文件进行,避免对原始磁盘数据造成二次破坏。

2、基于镜像文件分析所有磁盘底层数据。主要分析文件被删除后,文件Indoe及数据MAP是否发生变化。删除的虚拟磁盘文件都在64G或以上,并且存储中没有其他类型的大文件。北亚企安数据恢复工程师编写程序扫描所有文件Indoe,将大小大于或者等于64G的文件的Indoe都扫描出来。
3、分析扫描出来的Indoe,找到Indoe中记录的数据MAP位置,发现其index指向的内容已不再是正常数据,所有节点上的Indoe均是同样的情况。
4、分析Inode,发现大文件的数据MAP会有多层(树结构),并且数据MAP中会记录文件的唯一ID,因此可以尝试找到文件最底层的数据MAP。北亚企安数据恢复工程师尝试对文件最底层的数据MAP做遍历跟踪操作,发现最底层的数据MAP果然还在。
5、从文件的Inode中取出文件的唯一ID,然后对所有符合该ID的数据MAP做聚合。根据数据MAP中的VCN号做排序,发现每个文件的前17088项数据MAP都不存在,也意味着每个文件的前17088项数据无法恢复。
经过换算,发现实际上丢失的数据MAP项总共才包含不到1GB,删除的文件全是虚拟机的vmdk文件,里面全部是NTFS的文件系统。NTFS文件系统的MFT基本都在3G的位置,也就是只需要在每个vmdk文件的头部手动伪造一个MBR和DBR就可以解释vmdk里面的数据。
6、对扫描到的数据MAP做解释,并根据VCN号的顺序导出数据,没有MAP的情况保留为零。
7、经过不断测试,先导出一个vmdk文件,结果发现导出的vmdk文件比实际情况要小,并且vmdk中MFT的位置也与自身描述不符。随机验证了几个MPA发现都能指向数据区,而程序解释MAP的方式也都没有问题。所以推测为文件稀疏!
8、将代码进行调整后重新导出上一步导出的vmdk文件,这次vmdk文件大小符合实际大小,且MFT的位置也在相应位置。手工伪造一个MBR,分区表以及DBR,再用北亚企安自主开发的文件系统解释工具解释文件系统,并导出vmdk里面的数据库及视频文件。
9、在验证了此vmdk文件中的数据库及视频文件没问题后,批量导出所有vmdk文件,再手工一个一个的去修改每个vmdk文件。

10、处理完所有数据后,用户方安排工程师进行检测。经过检测,确认恢复出来的数据完整有效,认可数据恢复结果。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1944828.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

国产大模型之光-Kimi AI

又是一年年中,各种工作总结、报告数不胜数,打工人们又面临年中绩效的考核,还恰逢毕业季,又有很多校招朋友初入职场,成为打工人,老板PUA,Mentor不带教,加班熬夜掉头发。 现在各大互联…

TCP系列(一)-介绍TCP

服务 TCP和UDP同样使用IP提供的服务,但是TCP提供的是面向连接,可靠的字节流服务 面向连接 使用TCP进行通信双方,必须先建立连接,然后进行数据交换 可靠服务 将应用数据分割成固定大小的报文段每次发出报文,会启动定时…

嵌入式单片机软件与硬件的结合方法分析

不知道大家有没有疑惑,为什么软件能控制硬件?关于这个问题,给出直观解释的文章:本文分析STM32单片机到底是如何软硬件结合的,分析单片机程序如何编译,运行。 软硬件结合 初学者,通常有一个困惑,就是为什么软件能控制硬件?就像当年的51,为什么只要写P1=0X55,就可以…

防近视台灯有效果吗?精选学生护眼台灯哪个品牌好

在当今快节奏的生活环境中,我们常常忽视了眼部休息,对眼睛的关爱变得尤为稀缺,这直接导致了近视率的逐年飙升。在这样的背景下,不少人将护眼需求投向防近视台灯。防近视台灯也称为护眼灯,护眼灯号称有独特的护眼技术&a…

spring 中的属性解析器 PropertyResolver

我们知道,在 spring 中可以使用占位符,格式如 "${}",大括号中间放置待替换的占位符,待使用值时根据配置的属性解析器进行解析。但具体是如何操作的,且看本文来进行分析。 PropertyResolver 这是一个针对任…

Unity UGUI 之 图集

本文仅作学习笔记与交流,不作任何商业用途 本文包括但不限于unity官方手册,唐老狮,麦扣教程知识,引用会标记,如有不足还请斧正 本文在发布时间选用unity 2022.3.8稳定版本,请注意分别 1.什么是图集 精灵图…

recursion depth exceeded” error

有些时候不可以用jax.jit装饰器 参考资料:使用 JAX 后端在 Keras 3 中训练 GAN |由 Khawaja Abaid |中等 (medium.com)

最优化理论与方法-第十讲割平面法

文章目录 1. 原问题:2. 割平面法程序步骤2.1 第一次迭代2.2 第二次迭代2.3 第三次迭代 1. 原问题: 给定下列约束优化问题: ( P ) min ⁡ 3 x 1 2 2 x 2 2 s t . − 5 x 1 − 2 x 2 3 ≤ 0 , x ∈ X { x ∈ Z n ∣ 8 x 1 8 x 2 ≥ 1 , 0…

记事本案例组件版本(源码分享)

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 非常期待和您一起在这个小…

基于Hutool实现自定义模板引擎,实现json个性化模板引擎转换

文章目录 前言编写引擎类:JsonTemplateEngine编写模板类:CustomTemplate编写测试代码测试json文件测试类 前言 由于百度搜索json模板引擎,推荐的都是一些freemarker之类的,需要引入其他的依赖,而且在编写json模板的时…

深入浅出WebRTC—Pacer

平滑发包(Pacer)是 WebRTC 实现高质量实时通信不可或缺的一部分。在视频通信中,单帧视频可能包含大量的数据,如果未经控制地立即发送,可能瞬间对网络造成巨大压力。Pacer 能够根据网络条件动态调整发送速率&#xff0c…

springboot校园车辆管理系统-计算机毕业设计源码63557

校园车辆管理系统 摘 要 校园车辆管理系统是当前高校校园管理中的一个重要方面,其有效管理和调度对于提升校园的运行效率和管理水平至关重要。本论文基于Spring Boot框架开发了一套校园车辆管理系统,系统主要包括用户和管理员两大角色,涵盖…

pytest使用

主要技术内容 1.pytest设计 接口测试 框架设想 common—公共的东西封装 1.request请求 2.Session 3.断言 4.Log 5.全局变量 6.shell命令 ❖ config---配置文件及读取 ❖ Log— ❖ payload—请求参数—*.yaml及读取 ❖ testcases—conftest.py; testcase1.py…….可…

Chapter 14 Python数据容器总结

欢迎大家订阅【Python从入门到精通】专栏,一起探索Python的无限可能! 文章目录 前言一、数据容器对比二、数据容器的通用操作【拓展】字符串大小比较 前言 Python 作为一种高级编程语言,内置了多种强大的数据容器,帮助开发者以更…

【GoLang】Golang 快速入门(第一篇)

目录 1.简介: 2.设计初衷: 3.Go语言的 特点 4.应用领域: 5.用go语言的公司: 6. 开发工具介绍以及环境搭建 1.工具介绍: 2.VSCode的安装: 3.安装过程: 4.Windows下搭建Go开发环境--安装和配置SDK 1.搭建Go开发环境 - 安装…

【洛谷】P1088 [NOIP2004 普及组] 火星人——C++

本题我们会用到函数next_permutation(start,end),是头文件algorithm标准库中的一个标准函数,用来表示[start,end]内存的数组中产生一个字典排序,比如[1 , 2 ,3]到[2 ,3, 1]再到[3 , 1, 2]这样的,这个函数的复杂度为(n!&#xff09…

Rust代码答疑报错|Python一对一辅导答疑

Question 你好,我是悦创。 学员答疑: https://code.bornforthis.cn/?id4e72084d-1eaf-44ed-8067-744671491574https://code.bornforthis.cn/?id664ff169-41d6-409f-a05b-02ed42279759 问题代码: // You can bring module paths into sc…

开发日志:windows修复SSL漏洞CVE-2016-2183(3389端口)

漏洞危害: 具有足够资源的中间人攻击者可利用此漏洞,通过“birthday”攻击检测会在固定密码与已知纯文本之间泄露 XOR 的冲突,进而泄露密码文本(例如安全 HTTPS Cookie),并可能导致劫持经认证的会话。 参见《支持SSL 64位块大小的密码套件(SWEET32)-修复方案》 参考…

html 常用css样式及排布问题

1.常用样式 <style>.cy{width: 20%;height: 50px;font-size: 30px;border: #20c997 solid 3px;float: left;color: #00cc00;font-family: 黑体;font-weight: bold;padding: 10px;margin: 10px;}</style> ①宽度&#xff08;长&#xff09; ②高度&#xff08;宽&a…

pikachu 之CSRF(跨站请求伪造)get和post型

CSRF&#xff08;跨站请求伪造&#xff09; 概念 跨站请求伪造&#xff08;Cross-Site Request Forgery&#xff0c;简称CSRF&#xff09;是一种攻击方式&#xff0c;攻击者通过伪造用户的请求&#xff0c;欺骗受害者在不知情的情况下执行不想要的操作。这种攻击利用了用户已经…