【ibm原理詳解】
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系列的儲存產品很像,
【結構及原理】
其實ibm_v7000的底層原理並不複雜,整個儲存結構一共分為四層。
第一層:既物理硬碟,是實際存放資料的地方。
第二層:ibm_v7000中命名為mdisk,其實就raid,是多個物理磁碟的集合。
第三層:池,是將多個mdisk組合成乙個大的邏輯容器。
第四層:卷,從池中分配出來的空間,面向使用者的儲存單位,卷不可以跨池。
結構圖如下:
從整體的儲存結構上看,磁碟才是資料最終存放的地方。而所謂的mdisk,池和卷都是將物理磁碟虛擬化了而已。在物理磁碟這一層,資料是以小塊為單位(block)儲存的,n多個磁碟組成了乙個mdisk,既存放在mdisk中的資料會分成n多個block平均分布在所有磁碟上。在mdisk這一層,資料是以段(section)為單位儲存的,多個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 v7000 全名ibm storwize v7000 是ibm推出的新一代中端儲存系統,儘管定位中端,storwize v7000卻提供了以往高階儲存才具備的強大儲存管理功能。其常見型號有ibm storwize v3700,ibm storwize v5000以及ibm storwize ...
FPGA底層原理結構及內部資源
總結博主剛開始接觸fpga時是在大三上eda實驗課,當時就對這種這種晶元的強大好奇,當時實驗課用的vhdl語言,當時覺得這種並行的語言很有趣。後續又自學了verilg,從此就邁上了這條不歸路,經過幾年學習總感覺沒啥進步,當初以為自己會用verilog就代表懂了fpga,對於fpga結構了解很少。本博...
Redis基本資料結構及底層實現
redis 所有值物件在內部都定義為 redisobject typedef struct redisobjectredis字串物件 sds struct sdshdr intset typedef struct intsetziplist type struct ziplist hashtable...