VSAN是一種以vSphere內(nèi)核為基礎(chǔ)進(jìn)行開發(fā)、可擴(kuò)展的分布式存儲(chǔ)架構(gòu)。VSAN通過在vSphere集群主機(jī)當(dāng)中安裝閃存和硬盤來構(gòu)建VSAN存儲(chǔ)層,由VSAN進(jìn)行控制和管理,形成一個(gè)供vSphere集群使用的統(tǒng)一共享存儲(chǔ)層。
創(chuàng)新互聯(lián)網(wǎng)絡(luò)公司擁有十余年的成都網(wǎng)站開發(fā)建設(shè)經(jīng)驗(yàn),上1000家客戶的共同信賴。提供成都網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì)、網(wǎng)站開發(fā)、網(wǎng)站定制、外鏈、建網(wǎng)站、網(wǎng)站搭建、響應(yīng)式網(wǎng)站開發(fā)、網(wǎng)頁設(shè)計(jì)師打造企業(yè)風(fēng)格,提供周到的售前咨詢和貼心的售后服務(wù)vSphere基礎(chǔ)架構(gòu)中的存儲(chǔ)正在發(fā)生變化,傳統(tǒng)的基于LUN的存儲(chǔ)管理機(jī)制將存儲(chǔ)能力應(yīng)用于數(shù)據(jù)存儲(chǔ)級(jí)別。底層存儲(chǔ)陣列不了解虛擬化,也不了解文件系統(tǒng)。VMware的下一代策略驅(qū)動(dòng)存儲(chǔ)方式不再基于傳統(tǒng)的VMFS存儲(chǔ)卷,而是基于對(duì)象存儲(chǔ)系統(tǒng)模型,基于虛擬數(shù)據(jù)存儲(chǔ)或者分布式數(shù)據(jù)存儲(chǔ),
VSAN數(shù)據(jù)存儲(chǔ)是一個(gè)對(duì)象存儲(chǔ),以文件系統(tǒng)的形式呈現(xiàn)給vSphere主機(jī),這個(gè)對(duì)象存儲(chǔ)服務(wù)會(huì)從啟用VSAN集群中的每臺(tái)主機(jī)上加載卷。將他們展現(xiàn)為單一的、在所有節(jié)點(diǎn)上可見的分布式共享數(shù)據(jù)存儲(chǔ),VSAN簡化了存儲(chǔ)配置,對(duì)于虛擬機(jī)來說,只有一個(gè)數(shù)據(jù)存儲(chǔ),這個(gè)分布式數(shù)據(jù)存儲(chǔ)來自VSAN集群中每一臺(tái)vSphere主機(jī)上的存儲(chǔ)空間,通過磁盤組進(jìn)行配置,在單獨(dú)的存儲(chǔ)實(shí)體中存儲(chǔ)所有的虛擬機(jī)文件,這種數(shù)據(jù)存儲(chǔ)的方式相對(duì)來說已經(jīng)很安全了,但是在出現(xiàn)閃存盤或者是容量盤出現(xiàn)故障的時(shí)候,數(shù)據(jù)會(huì)往其他的節(jié)點(diǎn)轉(zhuǎn)移,在轉(zhuǎn)移的時(shí)候過程中,也有可能出現(xiàn)其他的故障,我公司近期解決了一個(gè)VSAN存儲(chǔ)崩潰,虛擬機(jī)無法訪問的故障。
出現(xiàn)故障是四臺(tái)dell的服務(wù)器組成的VSAN集群,每臺(tái)服務(wù)器上兩個(gè)磁盤組,一個(gè)磁盤組是一個(gè)SSD硬盤帶5塊SAS硬盤,SSD做閃存,SAS做容量盤,其中一個(gè)節(jié)點(diǎn)上的一個(gè)磁盤組中的容量盤出現(xiàn)故障離線,這個(gè)時(shí)候VSAN進(jìn)行數(shù)據(jù)重構(gòu)遷移,在很不趕巧的時(shí)候,這個(gè)時(shí)候由于停電導(dǎo)致數(shù)據(jù)遷移沒有完成,在來電的時(shí)候,其中另外一個(gè)磁盤組中的容量盤也由兩塊故障離線了,導(dǎo)致整個(gè)數(shù)據(jù)存儲(chǔ)出現(xiàn)故障,VSAN的管理控制臺(tái)可以登陸,但是所有的虛擬機(jī)都無法訪問了。
先把四個(gè)節(jié)點(diǎn)的所有硬盤都做個(gè)只讀的鏡像,包含SSD閃存盤和SAS容量盤,還有三塊因故障離線的硬盤,備份完成之后,把所有的原盤都還原到服務(wù)器上,開始對(duì)鏡像文件來進(jìn)行分析底層數(shù)據(jù)存儲(chǔ)結(jié)構(gòu),來確認(rèn)虛擬機(jī)所在硬盤的分布信息,因?yàn)楝F(xiàn)有的虛擬化程序沒有針對(duì)VSAN的架構(gòu)來恢復(fù)虛擬機(jī)的,工程師在分析底層數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)的時(shí)候,也在做相應(yīng)的程序開發(fā),來測試數(shù)據(jù)分布信息的準(zhǔn)確性。
單獨(dú)分析每個(gè)節(jié)點(diǎn)上的兩個(gè)磁盤組,看下磁盤組內(nèi)的閃存硬盤和容量盤之間的對(duì)應(yīng)關(guān)系,每塊硬盤都有一個(gè)唯一標(biāo)識(shí)進(jìn)行磁盤間的對(duì)應(yīng),根據(jù)硬盤的ID信息,判讀磁盤組里面的硬盤ID信息。
1、在每塊硬盤上獲取磁盤的UUID和磁盤組的UUID
2、根據(jù)每個(gè)磁盤組中的容量盤的組件信息獲取此容量盤的組件信息
3、根據(jù)組件信息中記錄的組件的MAP位置提取組件位圖。
4、根據(jù)組件的位圖提取組件數(shù)據(jù)和緩存數(shù)據(jù)
5、根據(jù)組件的描述信息獲取組件所屬對(duì)象及組件順序,并把組件合并成對(duì)象
6、根據(jù)對(duì)象,提取數(shù)據(jù)。
對(duì)象也可以看成一個(gè)卷,也可以理解成是一個(gè)邏輯卷,每個(gè)存在于數(shù)據(jù)存儲(chǔ)上的VSAN對(duì)象都是由多個(gè)組件構(gòu)成,這些組件分布于集群主機(jī)上配置的磁盤組中,在恢復(fù)的過程中,組件的信息提取是關(guān)鍵的步驟,因?yàn)榻M件是每個(gè)對(duì)象的重要組成部分,本次故障組件損壞的很少,恢復(fù)出來的虛擬機(jī)都能正常啟動(dòng),這次故障解決在分析組件位圖和磁盤對(duì)應(yīng)關(guān)系用來比較長的時(shí)間,但是最后把所有的技術(shù)難題都解決了,恢復(fù)出來的虛擬機(jī)都正常啟動(dòng),圓滿解決了VSAN出現(xiàn)故障導(dǎo)致數(shù)據(jù)丟失的恢復(fù)。