今天給你們介紹一的是一款常見存儲設備-Vsan的結構原理,相對而言技術性文字較多。VSAN是一種以vSphere內核做爲基礎開發出來的一款能夠擴展使用的分佈式存儲架構。這款存儲在vSphere集羣主機中安硬盤及閃存構建出VSAN存儲層,經過存儲進行管理與控制,最終造成一個共享存儲層。
伴隨着計算機網絡的快速發展,vsan的存儲結構也在不斷的更新換代過程當中,傳統的存儲管理機制中的底層存儲不瞭解虛擬化和文件系統,新一代的存儲管理機制將更新爲基於對象存儲系統、虛擬數據存儲、分佈式存儲。下圖爲vsan的存儲結構及存儲管理機制示意圖。
VSAN數據存儲是一個對象存儲,以文件系統的形式呈現給vSphere主機,這個對象存儲服務會從啓用VSAN集羣中的每臺主機上加載卷。將他們展示爲單一的、在全部節點上可見的分佈式共享數據存儲,VSAN簡化了存儲配置,對於虛擬機來講,只有一個數據存儲,這個分佈式數據存儲來自VSAN集羣中每一臺vSphere主機上的存儲空間,經過磁盤組進行配置,在單獨的存儲實體中存儲全部的虛擬機文件,這種數據存儲的方式相對來講已經很安全了,可是在出現閃存盤或者是容量盤出現故障的時候,數據會往其餘的節點轉移,在轉移的時候過程當中,也有可能出現其餘的故障,下面爲你們介紹近期恢復成功的一個vsan存儲數據恢復案例。
出現故障是四臺dell的服務器組成的VSAN集羣,每臺服務器上兩個磁盤組,一個磁盤組是一個SSD硬盤帶5塊SAS硬盤,SSD作閃存,SAS作容量盤,其中一個節點上的一個磁盤組中的容量盤出現故障離線,這個時候VSAN進行數據重構遷移,在很不趕巧的時候,這個時候因爲停電致使數據遷移沒有完成,在來電的時候,其中另一個磁盤組中的容量盤也由兩塊故障離線了,致使整個數據存儲出現故障,VSAN的管理控制檯能夠登錄,可是全部的虛擬機都沒法訪問了。
先把四個節點的全部硬盤都作個只讀的鏡像,包含SSD閃存盤和SAS容量盤,還有三塊因故障離線的硬盤,備份完成以後,把全部的原盤都還原到服務器上,開始對鏡像文件來進行分析底層數據存儲結構,來確認虛擬機所在硬盤的分佈信息,由於現有的虛擬化程序沒有針對VSAN的架構來恢復虛擬機的,北亞的工程師在分析底層數據存儲結構的時候,也在作相應的程序開發,來測試數據分佈信息的準確性。
單獨分析每一個節點上的兩個磁盤組,看下磁盤組內的閃存硬盤和容量盤之間的對應關係,每塊硬盤都有一個惟一標識進行磁盤間的對應,根據硬盤的ID信息,判讀磁盤組裏面的硬盤ID信息。
一、在每塊硬盤上獲取磁盤的UUID和磁盤組的UUID
二、根據每一個磁盤組中的容量盤的組件信息獲取此容量盤的組件信息
三、根據組件信息中記錄的組件的MAP位置提取組件位圖。
四、根據組件的位圖提取組件數據和緩存數據
五、根據組件的描述信息獲取組件所屬對象及組件順序,並把組件合併成對象
六、根據對象,提取數據。
對象也能夠當作一個卷,也能夠理解成是一個邏輯卷,每一個存在於數據存儲上的VSAN對象都是由多個組件構成,這些組件分佈於集羣主機上配置的磁盤組中,在恢復的過程當中,組件的信息提取是關鍵的步驟,由於組件是每一個對象的重要組成部分,本次故障組件損壞的不多,恢復出來的虛擬機都能正常啓動,此次故障解決在分析組件位圖和磁盤對應關係用來比較長的時間,可是最後把全部的技術難題都解決了,恢復出來的虛擬機都正常啓動,圓滿解決了VSAN出現故障致使數據丟失的恢復。緩存