IBMV7000虛擬存儲數據恢復技術解決方案

虛擬存儲故障數據恢復是一個高難度的技術實現,傳統的企業級存儲採用普通的Raid級別分配LUN空間,基本平行線性分佈空間,而虛擬存儲技術,LUN的空間分佈是動態實現的,可以把很多個物理硬盤放在大的盤池中,LUN的空間分配根據需要從盤池中獲取相應的空間。一旦整個虛擬存儲出現故障,要找出LUN的空間分配,則需要把LUN的地址描述信息找出來,才能還原LUN的真實空間分佈。

IBMV7000虛擬存儲數據恢復技術解決方案

達思數據恢復中心多次處理IBMV7000存儲故障的數據恢復,小編整理出來供大家參考。

  1、 IBMV7000虛擬存儲數據恢復的故障描述:

在IBM V7000上引入兩個外部磁盤,每個mdisk大小12TB左右,把這兩個mdisk劃分在一個盤池中,然後從這個盤池中劃分出兩個LUN,第一個15TB,第二個LUN10TB,這兩個LUN採用精簡模式分配空間。由於誤操作,把硬盤池刪除掉,導致兩個LUN數據丟失,不能訪問,需要進行數據恢復。

  2、 IBMV7000虛擬存儲數據恢復磁盤劃分原理:

“虛擬”兩個字是IBM V7000存儲的精髓,特別是對精簡模式的LUN的劃分,假如你劃分一個15TB的LUN,精簡模式,這個LUN實際在這個盤池中,最小分配768KB就足夠了,隨着對LUN格式化,寫入數據,這個空間就會慢慢增加,而這個增加的存儲空間,就會有相應的信息來記錄,這個就是map指針記錄表。

LUN的最上一級map指針,記錄着這個LUN使用了哪些extents,而extent是從這個盤池中獲取的,這個案例一個extent是1GB。在盤池中的每個mdisk,會劃分成諾幹個extent,從小到大進行編號,當LUN在分配空間時,就會在map表中記錄,哪些mdisk的哪些extents給這個LUN使用。而一個extent的內部,又分成諾幹個512扇區的空間,這一層還有一個map表,記錄着哪些512扇區給LUN的那個邏輯地址上使用,因爲512sec在整個盤池中實在是太多了,就使用間接指針的方式來記錄,空間越大,間接指針的'級別就用得越高,比如15TB的LUN,間接指針就會用到4級,才能描述整個LUN的512sec數量級位置。

這就是所謂的虛擬概念,就像銀行的信用卡額度,你用多少錢,就分配給你多少錢,不會一次性把這個額度的錢都給你,讓你去消費,而是你用多少,他就給你多少,在這個額度範圍內,銀行會有記錄,記錄這些錢什麼時間用,使用多少,這個就相當於LUN的空間分配一樣。賬單都是記載在銀行的數據庫裏,LUN的空間分配是記錄在V7000控制器上。

  3、 IBMV7000刪除盤池原理:

刪除盤池,連帶這個盤池中的LUN信息也會刪除掉,LUN的空間分配map表也會從控制器中清除掉,如果一個LUN在分配空間時,採用非精簡模式,這個LUN的空間在mdisk上的劃分是連續的,即便沒有空間分配map表,也可以從mdisk中的連續空間上獲取原先LUN使用的extents,這樣刪除盤池以後,數據恢復就相對容易一些。而我們要恢復的LUN都採用精簡模式分配空間,沒了extents的map表,在還原這個LUN的空間分配時,是有很大的難度。就像銀行的賬單被刪除了,銀行卡還在,你是沒有辦法直接把你消費記錄打印出來的,除非你能保留所有的消費憑證,比如銀行消費短信,紙質記錄等等,你才能租略統計出你的消費記錄。LUN的分配地址空間也一樣,沒了記錄,只能根據mdisk內部指針收集、統計、排查,最後纔有可能還原出來。

  4、 關鍵點:IBM V7000虛擬存儲的數據恢復解決方案:

根據以上原理的分析,要能成功恢復出數據,必須把LUN的空間分配弄清楚,纔有可能數據恢復成功。IBM V7000虛擬存儲是個比較新的概念,首先要弄清楚存儲架構,我們畢竟不是這個產品的設計者,對它知道的不多,要了解盤池,瞭解extents,瞭解LUN的劃分原理,瞭解指針結構等等,這個分析得從v7000測試開始,反覆測試,反覆分析,才能得出相對可靠的結論,這個過程花費了很長時間。

現在的工作是,把這兩個mdisk上的所有級別的指針地址位置,指針內容,指針級別都收集出來,做到準確無誤,這個工作基本完成。後面的工作就是想辦法把這些指針內容,通過統計方式,把LUN空間還原出來,這個工作是數據恢復的最後階段,能否恢復成功,就看統計連接技術,因爲空間大,指針多,難度大,時間會不確定!

  5、 總結:

IBMV7000研究到現在,總算把整個底層存儲結構弄明白,弄明白後,還是沒能見到曙光,還需要投入大量的體力腦力勞動,纔有可能成功。

舉個例子:練習兵乓球時,有個發球機,裏面裝着2萬個球,白球1萬個,黃球1萬個,白球和黃球都從1-1萬編號,有兩個人在練習,發球機看誰空閒就把球發給誰,隨機發球,發球機會記錄哪個球發給誰,當把球都發出去了,地上就是滿地的2萬個球,我們從發球機上的記錄可以看出哪個球發給哪個人。不幸的是,有一次發球機發完所有的球后,發生電路短路,燒掉了,所有記錄沒了,請問,我們還有什麼辦法分辨出哪個球發給哪個人麼?

我想大多數人會回答:不能!

但是有一個人經過多方思索和考察,說他能!這個人的解決辦法是什麼呢?各位可以想想。

答案:這個人經過觀察,發現這個練球室裝有4個攝像頭,他說就可以根據這4個攝像頭的錄像回放,從不同角度觀察每次發球的細節,然後手工記錄下來,就能還原整個發球記錄信息!這個工作需要花費大量的時間和精力!

數據恢復技術也是一樣的道理,從不同角度,不同思維,去尋求相應的解決辦法。

在數據恢復技術上研究IBMV7000就像在研究一個未知的課題,你只能根據經驗、技術、創新思維等等往前挖掘新的信息,然後在不斷的推進,直到最後撥雲見晴天。這不是一個普通的數據恢復案例,這是一個國際計算機巨頭IBM設計出來的專業虛擬化存儲,要想在短期內去吃透,沒有深厚的底層結構分析經驗,是不可能完成的。我相信,IBM工廠級即便是產品設計者,對於這種恢復技術,未必能實現成功恢復,他們甚至直接給出否定的答案:不能恢復!按照我的理解,這個只能從旁門技術去實現數據重現,數據恢復技術的魅力大概如此!