当前位置: 首页 > 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…...

python/java环境配置

环境变量放一起 python: 1.首先下载Python Python下载地址:Download Python | Python.org downloads ---windows -- 64 2.安装Python 下面两个,然后自定义,全选 可以把前4个选上 3.环境配置 1)搜高级系统设置 2…...

Java多线程实现之Callable接口深度解析

Java多线程实现之Callable接口深度解析 一、Callable接口概述1.1 接口定义1.2 与Runnable接口的对比1.3 Future接口与FutureTask类 二、Callable接口的基本使用方法2.1 传统方式实现Callable接口2.2 使用Lambda表达式简化Callable实现2.3 使用FutureTask类执行Callable任务 三、…...

基于数字孪生的水厂可视化平台建设:架构与实践

分享大纲: 1、数字孪生水厂可视化平台建设背景 2、数字孪生水厂可视化平台建设架构 3、数字孪生水厂可视化平台建设成效 近几年,数字孪生水厂的建设开展的如火如荼。作为提升水厂管理效率、优化资源的调度手段,基于数字孪生的水厂可视化平台的…...

Android Bitmap治理全解析:从加载优化到泄漏防控的全生命周期管理

引言 Bitmap(位图)是Android应用内存占用的“头号杀手”。一张1080P(1920x1080)的图片以ARGB_8888格式加载时,内存占用高达8MB(192010804字节)。据统计,超过60%的应用OOM崩溃与Bitm…...

有限自动机到正规文法转换器v1.0

1 项目简介 这是一个功能强大的有限自动机(Finite Automaton, FA)到正规文法(Regular Grammar)转换器,它配备了一个直观且完整的图形用户界面,使用户能够轻松地进行操作和观察。该程序基于编译原理中的经典…...

【Go语言基础【12】】指针:声明、取地址、解引用

文章目录 零、概述:指针 vs. 引用(类比其他语言)一、指针基础概念二、指针声明与初始化三、指针操作符1. &:取地址(拿到内存地址)2. *:解引用(拿到值) 四、空指针&am…...

GitHub 趋势日报 (2025年06月06日)

📊 由 TrendForge 系统生成 | 🌐 https://trendforge.devlive.org/ 🌐 本日报中的项目描述已自动翻译为中文 📈 今日获星趋势图 今日获星趋势图 590 cognee 551 onlook 399 project-based-learning 348 build-your-own-x 320 ne…...

LangFlow技术架构分析

🔧 LangFlow 的可视化技术栈 前端节点编辑器 底层框架:基于 (一个现代化的 React 节点绘图库) 功能: 拖拽式构建 LangGraph 状态机 实时连线定义节点依赖关系 可视化调试循环和分支逻辑 与 LangGraph 的深…...

【FTP】ftp文件传输会丢包吗?批量几百个文件传输,有一些文件没有传输完整,如何解决?

FTP(File Transfer Protocol)本身是一个基于 TCP 的协议,理论上不会丢包。但 FTP 文件传输过程中仍可能出现文件不完整、丢失或损坏的情况,主要原因包括: ✅ 一、FTP传输可能“丢包”或文件不完整的原因 原因描述网络…...

Qt的学习(一)

1.什么是Qt Qt特指用来进行桌面应用开发(电脑上写的程序)涉及到的一套技术Qt无法开发网页前端,也不能开发移动应用。 客户端开发的重要任务:编写和用户交互的界面。一般来说和用户交互的界面,有两种典型风格&…...