服務器數據恢復—同友存儲raid5陣列上層虛擬機數據恢復案例

服務器數據恢復環境:
某市教育局同友存儲,存儲中有一組由數塊磁盤組建的raid5陣列,存儲空間劃分若干lun。每個lun中有若干臺虛擬機,其中有數臺linux操作系統的虛擬機為重要數據。
存儲結構:

服務器故障:
raid崩潰導致存儲無法啟動。

服務器數據恢復流程:
1、將存儲中所有磁盤編號后取出,由硬件工程師檢測后沒有發現有硬盤存在明顯的硬件故障。以只讀方式將所有磁盤進行扇區級全盤鏡像,鏡像完成后將所有磁盤按照編號還原到原存儲中,后續的數據分析和數據恢復操作都基于鏡像文件進行,避免對原始磁盤數據造成二次破壞。
2、基于鏡像文件分析所有磁盤底層數據,獲取重組raid所需要的相關信息,利用獲取到的raid信息重組raid。在重組raid過程中發現該raid5缺失2塊盤(還原存儲raid崩潰的過程:第一塊盤掉線后熱備盤頂替,第二塊盤掉線讓RAID5處于降級狀態,第三塊盤掉線RAID崩潰),無法通過校驗直接獲取掉線盤的數據,只能使用與缺失磁盤同等大小的全0鏡像進行重組(此方法只可用于緊急情況,通過全0鏡像組建的raid結構會被嚴重破壞,相當于每個條帶都會缺失兩個塊的數據)。
重建raid:

3、基于組建完成的raid分析存儲結構,獲取存儲劃分的MAP塊。找到MAP塊之后通過解析獲取到各個LUN的數據塊指針,北亞企安數據恢復工程師編寫數據提取程序提取LUN碎片。碎片提取完成后通過拼接碎片組成完整LUN。
提取LUN:

4、導出LUN內所有虛擬機后嘗試啟動,由于操作系統被破壞,虛擬機無法成功啟動。
5、由于虛擬機無法啟動,數據恢復工程師只能對虛擬機內文件進行提取,對提取出的文件進行測試后發現大多數文件被破壞,只有少量的小文件可以打開。
虛擬機內取出的圖片:

6、與用戶方溝通后得知有虛擬機內有mysql數據庫,基于數據庫存儲的特殊性,可以嘗試通過掃描數據頁來提取數據。找到這臺有數據庫的虛擬機后發現此虛擬機啟用快照。在父盤和快照文件都被損壞的情況下,常規合并操作無法完成,嘗試使用北亞企安自主研發VMFS快照合并程序進行快照合并。

7、根據mysql數據頁特征掃描&導出數據頁。分析系統表獲取各用戶表信息,根據各個表的id分割數據頁。
8、由于數據庫使表結構曾多次變更,系統表也有部分數據丟失,記錄提取過程充滿坎坷。首先獲取最初版本數據庫各個表的表結構:合并快照前的父盤因為寫入較早,使用第一塊掉線盤進行校驗獲取到這個文件的完整數據,然后提取出其中數據庫各個表的表結構。用戶方提供了最新版的數據庫建表腳本。
9、分別使用兩組不同表結構提取數據記錄并導入恢復環境中的mysql數據庫內,剔除各個表中因為表結構變更導致的亂碼數據,最后將兩組數據分別導出為.sql文件。
10、因為兩個版本的數據庫表結構不同,所以聯系了用戶方的應用工程師進行調試。調試完成后導入平臺,經過用戶方檢測后確認絕大部分數據已經恢復出來,認可數據恢復結果。本次數據恢復工作完成。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/16067.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/16067.shtml
英文地址,請注明出處:http://en.pswp.cn/web/16067.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

前端面試個人技能總結

1.html5新特性 語義化標簽:header footer nav section artical aside媒體標簽:qudio video (control autoplay loop ) source標簽表單新增屬性:輸入類型type:email url data month week color;新增屬性&…

slam14講(第9,10講 后端)

slam14講(第9,10講 后端) 后端分類基于濾波器的后端線性系統和卡爾曼濾波非線性系統和擴展卡爾曼濾波 BA優化H矩陣的稀疏性和邊緣化H矩陣求解的總結 位姿圖優化公式推導 基于滑動窗口的后端個人見解舊關鍵幀的邊緣化 后端分類 基于濾波器的后…

AtCoder Beginner Contest 355 A~F

A.Who Ate the Cake?(思維) 題意 已知有三個嫌疑人,有兩個證人,每個證人可以指出其中一個嫌疑人不是罪犯,如果可以排除兩個嫌疑人來確定犯人,輸出犯人的身份,如果無法確定,輸出"-1"。 分析 …

AT_abc351_c [ABC351C] Merge the balls 題解

題目傳送門 題目大意 你有一個空序列和 N N N 個球。第 i i i 個球 ( 1 ≤ i ≤ N ) (1 \leq i \leq N) (1≤i≤N) 的大小是 2 A i 2^{A_i} 2Ai?。 計算 N N N 操作后序列中剩余的球的個數。 你將進行 N N N 次運算。 在第 i i i 次操作中,你將第 i i…

springboot + Vue前后端項目(第十一記)

項目實戰第十一記 1.寫在前面2. 文件上傳和下載后端2.1 數據庫編寫2.2 工具類CodeGenerator生成代碼2.2.1 FileController2.2.2 application.yml2.2.3 攔截器InterceptorConfig 放行 3 文件上傳和下載前端3.1 File.vue頁面編寫3.2 路由配置3.3 Aside.vue 最終效果圖總結寫在最后…

TabAttention:基于表格數據的條件注意力學習

文章目錄 TabAttention: Learning Attention Conditionally on Tabular Data摘要方法實驗結果 TabAttention: Learning Attention Conditionally on Tabular Data 摘要 醫療數據分析通常結合成像數據和表格數據處理,使用機器學習算法。盡管先前的研究探討了注意力…

Hudi 多表攝取工具 HoodieMultiTableStreamer 配置方法與示例

博主歷時三年精心創作的《大數據平臺架構與原型實現:數據中臺建設實戰》一書現已由知名IT圖書品牌電子工業出版社博文視點出版發行,點擊《重磅推薦:建大數據平臺太難了!給我發個工程原型吧!》了解圖書詳情,…

vue3添加收藏網站頁面

結構與樣式 <template><div class"web_view"><ul><li v-for"web in webList" :key"web.title"><a :href"web.src" :title"web.title" target"_blank"><img :src"web.img&…

微信小程序基礎 -- 小程序UI組件(5)

小程序UI組件 1.小程序UI組件概述 開發文檔&#xff1a;https://developers.weixin.qq.com/miniprogram/dev/framework/view/component.html 什么是組件&#xff1a; 組件是視圖層的基本組成單元。 組件自帶一些功能與微信風格一致的樣式。 一個組件通常包括 開始標簽 和 結…

Cyber Weekly #8

賽博新聞 1、微軟召開年度發布會Microsoft Build 2024 本周&#xff08;5.22&#xff09;微軟召開了年度發布會&#xff0c;Microsoft Build 2024&#xff0c;發布了包括大殺器 Copilot Studio 在內的 50 項更新。主要包括&#xff1a; 硬件層面&#xff1a;與英偉達 & A…

3D牙科網格分割使用基于語義的特征學習與圖變換器

文章目錄 3D Dental Mesh Segmentation Using Semantics-Based Feature Learning with Graph-Transformer摘要方法實驗結果 3D Dental Mesh Segmentation Using Semantics-Based Feature Learning with Graph-Transformer 摘要 本文提出了一種新穎的基于語義的牙科網格分割方…

民國漫畫雜志《時代漫畫》第16期.PDF

時代漫畫16.PDF: https://url03.ctfile.com/f/1779803-1248612470-6a05f0?p9586 (訪問密碼: 9586) 《時代漫畫》的雜志在1934年誕生了&#xff0c;截止1937年6月戰爭來臨被迫停刊共發行了39期。 ps:資源來源網絡&#xff01;

代碼隨想錄訓練營總結

歷經60天的訓練營終于結束啦&#xff0c;感覺自己兩個月前做的這個決定非常正確&#xff0c;非常感謝卡哥和卡哥助手&#xff0c;從一個代碼沒有系統刷題沒有體系的小白到現在已經有了一些基礎&#xff0c;也具備一些刷題的習慣和手感&#xff0c;如果是我自己沒有規劃的刷可能…

【C++】二分查找:在排序數組中查找元素的第一個和最后一個位置

1.題目 難點&#xff1a;要求時間復雜度度為O(logn)。 2.算法思路 需要找到左邊界和右邊界就可以解決問題。 題目中的數組具有“二段性”&#xff0c;所以可以通過二分查找的思想進行解題。 代碼&#xff1a; class Solution { public:vector<int> searchRange(vect…

Camunda BPM主要組件

Camunda BPM是使用java開發的,核心流程引擎運行在JVM里,純java庫,不依賴其他庫或者底層操作系統。可以完美地與其他java框架融合,比如Spring。除了核心流程引擎外,還提供了一系列的管理,操作和監控工具。 1,工作流引擎 既適用于服務或者微服務編排,也適用于人工任務管…

Leetcode42題:接雨水

1.題目描述 給定 n 個非負整數表示每個寬度為 1 的柱子的高度圖&#xff0c;計算按此排列的柱子&#xff0c;下雨之后能接多少雨水。 示例1&#xff1a; 輸入&#xff1a;height [0,1,0,2,1,0,1,3,2,1,2,1] 輸出&#xff1a;6 解釋&#xff1a;上面是由數組 [0,1,0,2,1,0,1,…

hadoop節點添加與刪除測試

hadoop節點上下線 docker run -d --name hd1 -p 8888:8888 -p 2222:22 centos:basic init docker run -d --name hd2 -p 8889:8889 centos:basic init docker run -d --name hd3 centos:basic init# hosts echo "172.17.0.2 hadoop1 172.17.0.3 hadoop2 172.17.0.4 hadoo…

網絡協議:CSMA/CD 和 CSMA/CA

當多臺設備共享同一通信信道時&#xff0c;避免數據傳輸沖突至關重要。本文將探討兩種廣泛使用的協議&#xff1a;CSMA/CD&#xff08;Carrier Sense Multiple Access with Collision Detection&#xff09;和CSMA/CA&#xff08;Carrier Sense Multiple Access with Collision…

【C語言】二叉樹的實現

文章目錄 前言?一、二叉樹的定義&#x1f6b2;二、創建二叉樹&#x1f3a1;三、二叉樹的銷毀&#x1f389;四、遍歷二叉樹1. 前序遍歷2. 中序遍歷3. 后序遍歷4. 層序遍歷 &#x1f332;五、二叉樹的計算1. 計算二叉樹結點個數2. 計算二叉樹葉子結點的個數3. 計算二叉樹的深度4…