服务器数据恢复-VSAN环境下ESXI虚拟机无法访问的数据恢复方案

一、用户信息:
广东某单位

二、数据恢复环境:
主机操作系统:ESXI    
分区类型:VSAN
存储介质清单 :一共8台服务器节点,每节点2个磁盘组,其中1个磁盘组配置1块SSD固态硬盘,4块1.2T机械硬盘;另一个磁盘组配置1块SSD固态硬盘,4块2T机械硬盘。共计16块SSD固态硬盘和64块机械硬盘。
故障描述:一个节点服务器掉线,导致部分虚拟机无法访问。
期望恢复数据:恢复VSAN环境中故障虚拟磁盘数据。


    
三、数据恢复项目成员&分工:
项目主管        宋国建             负责每一步流程审核,项目协调,方案制定。
商务工程师    王宇晴             负责反馈消息给用户。
实施工程师    吴庆亮             负责技术实现。

四、初检&恢复概率:
8台服务器节点,64块数据盘,16个SSD固态硬盘。在使用过程中,由于一个节点服务器故障离线,导致部分虚拟机数据无法访问。
VSAN架构比较复杂,元信息和数据结构解析比较困难。节点服务器故障导致部分虚拟机无法访问,这种情况下可能存在元信息丢失或者损坏的情况,需要拿到硬盘后具体分析。根据北亚企安做过大量VSAN数据恢复案例的经验,这种故障情况下数据恢复的可行性较大,完整恢复数据的可能性在98%以上。

五、数据恢复流程:
商务流程:
1、签订数据恢复协议、保密协议。
2、实施数据安全救援工作(见下方的技术流程)。
3、进行数据验收。
A、验收成功:客户签字确认;在约定周期内,完成付款及开具发票流程。提供后续数据保管、服务跟踪及技术咨询服务。
B、验收不成功,销毁中转数据及已恢复数据,移交设备。
技术流程:
1、备份:
A、将所有节点服务器断电、关机,并取出所有数据硬盘和固态硬盘。
B、准备一台恢复操作服务器(北亚企安提供)、一台备份存储(可北亚企安提供,也可因数据敏感等原因由用户提供),在恢复平台上以只读方式挂载服务器硬盘,使用北亚企安磁盘备份工具(或 dd等工具)进行完整的扇区对扇区的备份。
C、备份完成后,提供详细报告,涉及硬盘健康状态及可能存在的坏道列表。
D、将服务器硬盘交回给用户,之后不再直接操作原介质。
2、故障硬盘修复:
检测故障硬盘损坏情况,对可能存在故障的硬盘进行修复,并完整读取故障硬盘中的数据。
3、磁盘组结构分析:
A、对每个服务器节点上的SSD硬盘和机械硬盘进行分析;
B、分析磁盘组中,磁盘之间的聚合方式;
C、分析每个磁盘组中数据的分布情况;
D、分析磁盘组之间的聚合结构。
4、虚拟机位图分析:
A、定位磁盘组中虚拟机的位图信息;
B、提取并解析磁盘组中虚拟机的位图;
C、确定丢失虚拟磁盘的位图信息。
5、虚拟磁盘拼接:
A、根据虚拟磁盘的位图信息提取文件片段;
B、对虚拟磁盘文件的片段进行拼接;
C、校验拼接后的磁盘文件的正确性。
6、快照合并:
A、使用恢复出的父盘文件进行快照合并;
B、校验合并后的磁盘文件的正确性;
C、磁盘文件结构修复。
7、解析并修复文件系统:
A、校验提取出的虚拟磁盘中文件系统的完整性及正确性;
B、对数据虚拟磁盘中的文件系统进行修复。
8、 解析文件系统及数据恢复:
A、使用专业的数据恢复软件对虚拟磁盘中的文件系统进行解析及删除数据恢复;
B、恢复虚拟磁盘中的所有被删除的数据。
9、数据验证:
A、由用户主导对数据本身进行详细验证;
B、如发现新问题,重新检验上述所有恢复过程。

六、服务承诺: 
1、整个数据恢复过程不会对原盘有任何的写操作,以确保原盘的数据安全。
2、尽可能保证每一步操作可逆,确保人力可控范围内操作可回溯。
3、以上所有操作都是在有备份的情况下进行,若不成功不影响其他数据恢复方案的继续。

七、数据恢复时间预估:
原始磁盘镜像:约100G/每小时(可同步进行)
磁盘组结构分析:2天
数据位图分析:2天
磁盘文件拼接:2天
数据移交:1天
总时间:7-10个工作日,上述时间只是预估,以实际情况为准。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Docker安装部署[8.x]版本Elasticsearch+Kibana+IK分词器

文章目录 Docker安装部署elasticsearch拉取镜像创建数据卷创建网络elasticsearch容器,启动!踩坑:虚拟机磁盘扩容 Docker安装部署Kibana拉取镜像Kibana容器,启动! 安装IK分词器安装方式一:直接从github上下载…

人工智能基础_机器学习011_梯度下降概念_梯度下降步骤_函数与导函数求解最优解---人工智能工作笔记0051

然后我们来看一下梯度下降,这里先看一个叫 无约束最优化问题,,值得是从一个问题的所有可能的备选方案中选最优的方案, 我们的知道,我们的正态分布这里,正规的一个正态分布,还有我们的正规方程,他的这个x,是正规的,比如上面画的这个曲线,他的这个x,就是大于0的对吧,而现实生活…

论文阅读 - Detecting Social Bot on the Fly using Contrastive Learning

目录 摘要: 引言 3 问题定义 4 CBD 4.1 框架概述 4.2 Model Learning 4.2.1 通过 GCL 进行模型预训练 4.2.2 通过一致性损失进行模型微调 4.3 在线检测 5 实验 5.1 实验设置 5.2 性能比较 5.5 少量检测研究 6 结论 https://dl.acm.org/doi/pdf/10.1145/358…

nodejs express vue 点餐外卖系统源码

开发环境及工具: nodejs,vscode(webstorm),大于mysql5.5 技术说明: nodejs express vue elementui 功能介绍: 用户端: 登录注册 首页显示搜索菜品,轮播图&#xf…

Diango项目-简易个人博客项目

项目实现功能 在admin后台自定义添加上传文档。对展示在首页的文章分页显示。在首页点击文章的阅读全文按钮可进入该文章全文详情页进行浏览。对文章实现了内容分类何以发布时间进行归档分类。使用django的whoose搜索引擎对全文实现内容的搜索。 项目涉及技术 Mysql Djan…

【设计模式】第10节:结构型模式之“组合模式”

一、简介 组合模式:将一组对象组织成树形结构,将单个对象和组合对象都看做树中的节点,以统一处理逻辑,并且它利用树形结构的特点,递归地处理每个子树,依次简化代码实现。使用组合模式的前提在于&#xff0…

ts 简易封装 axios,统一 API

文章目录 为什么要封装目标文件结构封装通用请求方法获得类型提示http 方法文件上传使用示例实例化post 请求类型提示文件上传 总结完整代码: 为什么要封装 axios 本身已经很好用了,看似多次一举的封装则是为了让 axios 与项目解耦。比如想要将网络请求…

【广州华锐互动】风景区规划VR虚拟现实教学系统

风景区规划VR虚拟现实教学系统是一种新兴的教学工具,它可以通过虚拟现实技术,为学生提供一种沉浸式的、实时的、全方位的景区规划体验。 在风景区规划VR虚拟现实教学系统中,学生可以通过虚拟现实技术,实时地与景区进行交互。他们可…

Spring - 手写模拟Spring底层原理

手写Spring 定义配置类AppConfig ComponentScan("com.spring.zsj") public class AppConfig {Beanpublic ApplicationListener applicationListener() {return new ApplicationListener() {Overridepublic void onApplicationEvent(ApplicationEvent event) {System…

【WinForm详细教程五】WinForm中的MenuStrip 、ContextMenuStrip 、ToolStrip、StatusStrip控件

文章目录 1.MenuStrip2.ContextMenuStrip3.ToolStrip4.StatusStrip 1.MenuStrip MenuStrip作为一个容器可以包含多个菜单项。MenuStrip 的重要属性包括: Name:菜单的名字Dock:菜单的停靠位置Items:菜单项的集合 ToolStripMenuI…

前端接口请求支持内容缓存和过期时间

前端接口请求支持内容缓存和过期时间 支持用户自定义缓存时间,在规则时间内读取缓存内容,超出时间后重新请求接口 首先封装一下 axios,这一步可做可不做。但是在实际开发场景中都会对 axios 做二次封装,我们在二次封装的 axios …

vue3中解析地址(address-parse插件的使用)

1.安装 npm install address-parse --save 2.使用 // 引入address-parse import AddressParse, { AREA, Utils } from "address-parse";const adressValue ref([])const getResolutionContent () > {const [result] AddressParse.parse(EnterpriseSalesDetai…

JAVA虚拟机-第2章 Java自动内存管理-异常实践

Java堆溢出 堆的参数设置&#xff1a;将堆的最小值-Xms参数与最大值-Xmx参数设置 public class HeapOOM {static class OOMObject {}public static void main(String[] args) {List<OOMObject> list new ArrayList<OOMObject>();while (true) {list.add(new OO…

JTS: 13 Polygonizer 多线合成面

这里写目录标题 版本代码 版本 org.locationtech.jts:jts-core:1.19.0 链接: github 代码 线段 生成之后的面 public class GeometryPolygonization {private static final GeometryFactory geometryFactory new GeometryFactory();private static final Logger LOGGER …

陪诊系统|挂号陪护搭建二开陪诊师入驻就医小程序

我们的陪诊小程序拥有丰富多样的功能&#xff0c;旨在最大程度满足现代人的需求。首先&#xff0c;我们采用了智能排队系统&#xff0c;通过扫描二维码获取排号信息&#xff0c;让您从繁琐的排队过程中解放出来。其次&#xff0c;我们提供了多种支付方式&#xff0c;不仅可以实…

管理类联考——数学——汇总篇——知识点突破——代数——函数、方程——记忆

文章目录 考点记忆/考点汇总——按大纲 整体局部 本篇思路&#xff1a;根据各方的资料&#xff0c;比如名师的资料&#xff0c;按大纲或者其他方式&#xff0c;收集/汇总考点&#xff0c;即需记忆点&#xff0c;在通过整体的记忆法&#xff0c;比如整体信息很多&#xff0c;通常…

python线程(进程子单位)

进程是由CPU给分配的执行单元&#xff0c;比较消耗空间和内存 创建、使用线程 import threading# 进程 # 线程 from time import sleepdef download():list1 ["girl.png", "boy.png", "child.png"]for l in list1:print(l)sleep(1.5)print(&qu…

变量的作用域

在javascript中&#xff0c;var定义的变量实际是有作用域的。 1 假设在函数体内声明&#xff0c;但在函数体外不可以使用 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>Title</title> </…

Java实验一编程环境使用

1&#xff0e;String类的常用方法&#xff08;StringExample.java&#xff09; package step1;public class StringExample {public static void main(String args[]) {String s1 new String("you are a student");String s2 new String("how are you")…

Lodash 真的死了吗?Lodash 5 在哪里?

与一些传言相反&#xff0c;Lodash依然活跃&#xff0c;并正在迈向Lodash 5的发布&#xff01; Lodash 是那些为 JavaScript 提供便利功能的实用程序库之一&#xff0c;它使编程变得更加轻松。许多开发者使用它来简化对象和数组的处理。 它也是一个像 Moment.js那样被捕获得措手…