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