IBM V7000底層結構及資料恢復案例詳解

2022-04-03 03:22:24 字數 2014 閱讀 8898

ibm_v7000(全名ibm storwize v7000)是ibm推出的新一代中端儲存系統,儘管定位中端,storwize v7000卻提供了以往高階儲存才具備的強大儲存管理功能。其常見型號有ibm storwize v3700,ibm storwize v5000以及ibm storwize v7000。其底層儲存結構支援riad 0,raid 10,raid5以及raid 6。上層的卷支援普通卷,精簡模式的卷,映象模式的卷以及精簡映象模式的卷。雖然在整體儲存結構上v7000做的很不錯,但某些物理故障或其他操作可能會對卷或儲存造成破壞,因此對系列儲存的資料恢復技術才有了用武之地。

【配置ibm_v7000】

1、 使用管理ip連線ibm_v7000,輸入使用者名稱(預設:superuser)和密碼(密碼:passw0rd)。

2、預設是沒有任何配置的,需要先配置mdisk,池以及卷,然後新增主機對映卷。

3、建立mdisk,mdisk的型別有raid0,raid0,raid5以及raid6。

4、建立池,可以將多個mdisk劃分到乙個池中。

5、建立卷,卷是在池的基礎之上配置的,卷的型別有通用,自動精簡,映象以及精簡映象。

6、建立主機並對映卷,主機的型別有光纖通道的主機和iscsi的主機。

至此整個配置的大致流程就算完了,但是我們並不知道分配給主機的邏輯卷,實際在磁碟是如何分布的。那它們是如何分布的呢?詳解下文的結構與原理,其結構和hp lefthand系列的儲存產品很像,詳見作者文章hp-lefthand底層結構詳解及儲存災難資料恢復

【結構及原理】

其實ibm_v7000的底層原理並不複雜,整個儲存結構一共分為四層。

第一層:既物理硬碟,是實際存放資料的地方。

第二層:ibm_v7000中命名為mdisk,其實就raid,是多個物理磁碟的集合。

第三層:池,是將多個mdisk組合成乙個大的邏輯容器。

第四層:卷,從池中分配出來的空間,面向使用者的儲存單位,卷不可以跨池。

結構圖如下:

從整體的儲存結構上看,磁碟才是資料最終存放的地方。而所謂的mdisk,池和卷都是將物理磁碟虛擬化了而已。在物理磁碟這一層,資料是以小塊為單位(block)儲存的,n多個磁碟組成了乙個mdisk,既存放在mdisk中的資料會分成n多個block平均分布在所有磁碟上。在mdisk這一層,資料是以段為單位儲存的,多個mdisk組成了乙個池,既在池中建立的捲會被分成若干個段放到不同的mdisk中,不同卷的型別分布在池中的方式也不同,不過最終還是以段為單位儲存在midsk中的。

整個儲存過程則是使用者將資料存放到卷中,而捲又會被分割成若干個段分布在不同mdisk中,而mdisk又會將段分成若干個塊分布在不同的磁碟中。最終資料全部是以塊為單位分布在不同的磁碟中。

【資料恢復案例】

1、儲存架構

儲存型號:ibm_v7000

磁碟數量:24塊600g sas磁碟

mdisk數量:2個mdisk,都是raid 5

卷數量:2個2t的通用模式,1個3t精簡模式。

2、故障原因

因磁碟老化導致mdisk中有幾塊磁碟掉線,導致mdisk不可用造成上層卷無法訪問。而因只設定了乙個全域性熱備,在磁碟掉線後管理人員沒有及時更換磁碟才造成整個故障的發生。

3、解決方案

先映象所有磁碟,然後分析哪些磁碟是一組mdisk。

找出屬於同一組mdiskd磁碟,然後分析是否存在磁碟掉線的情況。

如果存在掉線磁碟,則在mdisk組中除掉此磁碟。

生成mdisk,接著分析mdisk之間的結構。

生成池,接著分析卷的結構,因不同卷的型別不一樣,所以儲存結構也不一樣。

分析完卷的結構後就可以生成每個卷的資料了。

4、資料恢復成功

由於只是mdisk中有幾塊磁碟掉線了,沒有再做其他操作。所以整個資料恢復的很完整,客戶也很滿意。

由於對ibm v7000系列儲存的底層結構研究的很透徹,所以對此系列儲存的故障,資料幾乎都可以挽救。但是,有一種情況資料是無法挽救的,所有磁碟被重建了。因為在建立完mdisk之後,系統會對mdisk做初始化,也就是清零。如下圖

因此,如果是儲存被重建了,並且還被初始化完了,那基本就沒戲了。

IBM V7000底層結構及伺服器資料恢復案例詳解

ibm原理詳解 ibm v7000 全名ibm storwize v7000 是ibm推出的新一代中端儲存系統,儘管定位中端,storwize v7000卻提供了以往高階儲存才具備的強大儲存管理功能。其常見型號有ibm storwize v3700,ibm storwize v5000以及ibm s...

Redis基本資料結構及底層實現

redis 所有值物件在內部都定義為 redisobject typedef struct redisobjectredis字串物件 sds struct sdshdr intset typedef struct intsetziplist type struct ziplist hashtable...

FPGA底層原理結構及內部資源

總結博主剛開始接觸fpga時是在大三上eda實驗課,當時就對這種這種晶元的強大好奇,當時實驗課用的vhdl語言,當時覺得這種並行的語言很有趣。後續又自學了verilg,從此就邁上了這條不歸路,經過幾年學習總感覺沒啥進步,當初以為自己會用verilog就代表懂了fpga,對於fpga結構了解很少。本博...