当前位置: 首页 > news >正文

服务器数据恢复—SAN环境下LUN映射出错导致文件系统一致性出错的数据恢复案例

服务器数据恢复环境:
SAN环境下一台存储设备中有一组由6块硬盘组建的RAID6磁盘阵列,划分若干LUN,MAP到不同业务的SOLARIS操作系统服务器上。

服务器故障:
用户新增了一台服务器,将存储中的某个LUN映射到新增加的这台服务器上。这个映射的LUN其实之前已经MAP到其他SOLARIS操作系统的服务器上了。由于没有及时发现问题,新增加的这台服务器已经对此LUN做了初始化操作,磁盘报错,重启后发现卷无法挂载。
联系SUN工程师进行检测后,执行fsck操作。虽然完成操作后可以挂载上文件系统,但是发现有大量文件丢失或文件大小变为0,尤其新数据破坏比较严重。
SAN环境下此类故障较为常见,但多数是设置问题所导致。SAN分配出来的LUN是采用独占模式的,如果该LUN同时被几个操作系统控制,就会出现写操作不互斥的问题,最终导致文件系统一致性出错。
如果要恢复数据,需要分析文件系统各结构的破坏情况。本案例中文件系统采用UFS,对任何一个需要恢复的文件而言,优先考虑目录信息、节点、数据区是否正常。如果目录信息、节点、数据区均正常,数据可完整恢复。多数情况下,执行fsck操作后会清除INODE,即使留下目录信息,也无法与数据一一对应。这种情况下,只能参考文件内部格式进行类型式的恢复。

服务器数据恢复过程:
1、完整备份故障卷,因为RAID6阵列无故障,所以可以直接在SOLARIS环境中对原LUN做dd备份。后续的数据分析和数据恢复操作都基于备份文件进行,避免对原始数据造成二次破坏。
2、基于备份文件分析文件系统,发现需要恢复的文件的inode已经全部被清除,无法还原。只能按照文件类型进行处理。
3、分析需要恢复的特定文件,发现采用vfs公文系统的索引文件具有强的类型特征,而且文件中包含目录信息。
4、按照公文系统的索引结构特征,北亚企安数据恢复工程师编写程序提取数据文件,提取完成后根据特征重新命名。
5、按照类型恢复数据文件。之后由用户方根据索引文件对数据文件进行重新整理。
6、经过用户仔细检测,确认分析所需要的数据文件恢复成功,认可数据恢复结果。针对少部分已破坏且无法恢复的文件,由用户方根据目录索引文件重新向其他部门采集。

相关文章:

服务器数据恢复—SAN环境下LUN映射出错导致文件系统一致性出错的数据恢复案例

服务器数据恢复环境: SAN环境下一台存储设备中有一组由6块硬盘组建的RAID6磁盘阵列,划分若干LUN,MAP到不同业务的SOLARIS操作系统服务器上。 服务器故障: 用户新增了一台服务器,将存储中的某个LUN映射到新增加的这台服…...

深度学习:自然语言处理的基本原理

概念: 自然语言处理(Natural Language Processing,简称NLP)是人工智能和语言学领域的一个分支,它致力于研究如何让计算机能够理解、解释和生成人类语言,以及如何实现人与计算机之间的有效通信。自然语言处理…...

Win10 Chrome浏览器被强制绑定主页的解决办法

Win10 Chrome浏览器被强制绑定主页的解决办法 背景 刚刚重装的系统默认是某杀毒软件,使用浏览器时发现浏览器主页老是hao123,还改不了。于是卸载了此杀毒软件,换了别的。发现还是解决不了浏览器主页被绑定且改不了的问题 体现 chrome://se…...

【UE5】将2D切片图渲染为体积纹理,最终实现使用RT实时绘制体积纹理【第四篇-着色器投影-接收阴影部分】

上一章中实现了体积渲染的光照与自阴影,那我们这篇来实现投影 回顾 勘误 在开始本篇内容之前,我已经对上一章中的内容的错误进行了修改。为了确保不会错过这些更正,同时也避免大家重新阅读一遍,我将在这里为大家演示一下修改的…...

Shell脚本基础——实训项目任务

项目一 项目实训 (初始Shell脚本) 项目一 项目实训 (初始Shell脚本)项目实施任务一 输入输出重定向任务二 数据输入输出操作任务三 Shell变量操作任务四 算术运算符操作任务五 设置环境变量 【实训任务】 本实训的主要任务是通过编写简单的shell脚本,完成使用数据…...

Eclipse Memory Analyzer (MAT)提示No java virtual machine was found ...解决办法

1,下载mat后安装,打开时提示 jdk版本低,需要升级到jdk17及以上版本,无奈就下载了jdk17,结果安装后提示没有jre环境,然后手动生成jre目录,命令如下: 进入jdk17目录:执行&…...

【C++篇】深度剖析C++ STL:玩转 list 容器,解锁高效编程的秘密武器

文章目录 C list 容器详解:从入门到精通前言第一章:C list 容器简介1.1 C STL 容器概述1.2 list 的特点 第二章:list 的构造方法2.1 常见构造函数2.1.1 示例:不同构造方法2.1.2 相关文档 第三章:list 迭代器的使用3.1 …...

植物大战僵尸杂交版V2.5.1下载(最新版)

2.5.1版本更新公告: 在最新的2.5.1版本中,游戏对“两面夹击”关卡进行了多项重要调整。出怪倍率和种类均有所降低,部分关卡的初始阳光量也得到了调整,以增强玩家的策略性。同时,玩家可以在这些关卡中使用投手类植物&a…...

基于nodejs+vue的游戏陪玩系统

作者:计算机学姐 开发技术:SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等,“文末源码”。 专栏推荐:前后端分离项目源码、SpringBoot项目源码、Vue项目源码、SSM项目源码 精品专栏:Java精选实战项目…...

SVN文件不显示修改状态图标

今天安装试用SVN时发现文件不显示修改状态 以下为解决方法: 1,在有.svn的文件夹中右键--tortoiseSvn--setting 2,选中icon Overlays,右侧的status cache 选shell 3,点击icon set 如下图所示 4,修改icon…...

GB28181语音对讲协议详解

GB28181-2016语音对讲流程如下图1所示: 图1.语音对讲流程。 其中, 信令 1 、2 、 3 、 4 为语音广播通知、 语音广播应答消息流程; 信令 5 、 1 2 、 1 3 、 1 4 、 1 5 、 1 6 为 S I P 服务器接收到客户端的呼叫请求通过 B 2 B UA 代理方式建立语音流接收者与媒…...

JavaScript 数据可视化:前端开发的核心工具

随着互联网和大数据的快速发展,数据呈爆炸式增长,如何有效地展示和理解数据成为了一项关键技能。JavaScript 作为前端开发的主要语言,不仅在构建网页方面无可替代,也在数据可视化领域发挥了重要作用。从简单的图表到复杂的交互式展…...

[Redis][哨兵][上]详细讲解

目录 0.前言1.基本概念1.相关名词解释2.主从复制的问题3.人工恢复主节点故障4.哨兵自动恢复主节点故障 0.前言 说明:该章节相关操作不需要记忆,理解流程和原理即可,用的时候能自主查到即可Redis的主从复制模式下,⼀旦主节点由于故…...

如何展开浏览器开发者模式的Fetch/XHR

说明:大多数程序员都用浏览器的F12,开发者模式查看接口,我也不例外。我常用下面这个选项,它会过滤掉掉其他文档、样式请求,只展示访问服务器的接口请求 有次,不知道点了什么,这个菜单消失找不…...

Pydantic 是一个强大的 Python 库

Pydantic 是一个强大的 Python 库,专门用于数据验证和设置管理。以下是对 Pydantic 的详细介绍: 一、主要功能和特点 数据验证: Pydantic 通过 Python 类型注解来定义数据模型,并自动验证输入数据是否符合预定义的类型和结构。提…...

每日OJ题_牛客_NC40链表相加(二)_链表+高精度加法_C++_Java

目录 牛客_NC40链表相加(二)_链表高精度加法 题目解析 C代码 Java代码 牛客_NC40链表相加(二)_链表高精度加法 链表相加(二)_牛客题霸_牛客网 题目解析 模拟⾼精度加法的过程,只不过是在链表中模拟。 C代码 /*…...

Dubbo快速入门(一):分布式与微服务、Dubbo基本概念

文章目录 一、分布式与微服务概念1.大型互联网架构目标2.集群和分布式(1)集群 (Cluster)(2)分布式计算 (Distributed Computing)(3)集群与分布式的关系(4)实践中的应用案例 3.架构演…...

jmeter性能测试---csv数据文件设置

(1)什么时候使用CSV数据文件设置? 当不同的用户,或者同一用户多次循环时,都可以获取到不同的值 (2)使用CSV数据文件设置进行参数化的步骤? 实例: 请求:htt…...

交换基础【计算机网络】

交换基础 1、交换机的工作原理有哪4项操作,地址表如何建立的? 4项基本操作 丢弃 当本端口下的主机访问已知本端口下的主机时丢弃 转发 当某端口下的主机访问已知某端口下的主机时转发 扩散 当某端口下的主机访问未知端口下的主机时要扩散 广播 当某…...

Android12的netd分析

1.文件位置 system/netd/server/目录下的main.cpp和Android.bp 可知编译会生成netd的可执行程序。 2.main函数的流程 int main() {Stopwatch s; 。。。。。。。 // 启动NetlinkManager服务NetlinkManager *nm NetlinkManager::Instance();if (nm nullptr) {ALOGE("Una…...

利用最小二乘法找圆心和半径

#include <iostream> #include <vector> #include <cmath> #include <Eigen/Dense> // 需安装Eigen库用于矩阵运算 // 定义点结构 struct Point { double x, y; Point(double x_, double y_) : x(x_), y(y_) {} }; // 最小二乘法求圆心和半径 …...

Map相关知识

数据结构 二叉树 二叉树&#xff0c;顾名思义&#xff0c;每个节点最多有两个“叉”&#xff0c;也就是两个子节点&#xff0c;分别是左子 节点和右子节点。不过&#xff0c;二叉树并不要求每个节点都有两个子节点&#xff0c;有的节点只 有左子节点&#xff0c;有的节点只有…...

OPenCV CUDA模块图像处理-----对图像执行 均值漂移滤波(Mean Shift Filtering)函数meanShiftFiltering()

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 在 GPU 上对图像执行 均值漂移滤波&#xff08;Mean Shift Filtering&#xff09;&#xff0c;用于图像分割或平滑处理。 该函数将输入图像中的…...

springboot整合VUE之在线教育管理系统简介

可以学习到的技能 学会常用技术栈的使用 独立开发项目 学会前端的开发流程 学会后端的开发流程 学会数据库的设计 学会前后端接口调用方式 学会多模块之间的关联 学会数据的处理 适用人群 在校学生&#xff0c;小白用户&#xff0c;想学习知识的 有点基础&#xff0c;想要通过项…...

uniapp手机号一键登录保姆级教程(包含前端和后端)

目录 前置条件创建uniapp项目并关联uniClound云空间开启一键登录模块并开通一键登录服务编写云函数并上传部署获取手机号流程(第一种) 前端直接调用云函数获取手机号&#xff08;第三种&#xff09;后台调用云函数获取手机号 错误码常见问题 前置条件 手机安装有sim卡手机开启…...

【Linux】Linux 系统默认的目录及作用说明

博主介绍&#xff1a;✌全网粉丝23W&#xff0c;CSDN博客专家、Java领域优质创作者&#xff0c;掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域✌ 技术范围&#xff1a;SpringBoot、SpringCloud、Vue、SSM、HTML、Nodejs、Python、MySQL、PostgreSQL、大数据、物…...

论文阅读:Matting by Generation

今天介绍一篇关于 matting 抠图的文章&#xff0c;抠图也算是计算机视觉里面非常经典的一个任务了。从早期的经典算法到如今的深度学习算法&#xff0c;已经有很多的工作和这个任务相关。这两年 diffusion 模型很火&#xff0c;大家又开始用 diffusion 模型做各种 CV 任务了&am…...

Unity VR/MR开发-VR开发与传统3D开发的差异

视频讲解链接&#xff1a;【XR马斯维】VR/MR开发与传统3D开发的差异【UnityVR/MR开发教程--入门】_哔哩哔哩_bilibili...

Monorepo架构: Nx Cloud 扩展能力与缓存加速

借助 Nx Cloud 实现项目协同与加速构建 1 &#xff09; 缓存工作原理分析 在了解了本地缓存和远程缓存之后&#xff0c;我们来探究缓存是如何工作的。以计算文件的哈希串为例&#xff0c;若后续运行任务时文件哈希串未变&#xff0c;系统会直接使用对应的输出和制品文件。 2 …...

32位寻址与64位寻址

32位寻址与64位寻址 32位寻址是什么&#xff1f; 32位寻址是指计算机的CPU、内存或总线系统使用32位二进制数来标识和访问内存中的存储单元&#xff08;地址&#xff09;&#xff0c;其核心含义与能力如下&#xff1a; 1. 核心定义 地址位宽&#xff1a;CPU或内存控制器用32位…...