vsan的容量設備故障和緩存設備故障分析

容量設備故障解析:
磁盤故障多是任何存儲環境中最多見的故障了,vsan也不例外。磁盤組是vSAN的管理結構,其中包括一個緩存設備和一個或多個容量設備,其容量設備的磁盤多爲SATA盤。一臺主機能夠爲VSAN提供最多 5 個磁盤組:每一個磁盤組須要 1 個 SDD 以及最少 1 個、最多 6 個HDD。每一個主機的最多 HDD 數爲 5 x 6 = 30。每一個主機的最多 SSD 數爲 5 x 1 = 5。
在平常運維中,通常採用精簡配置,虛擬機的虛擬磁盤僅佔用實際數據的使用空間,大量地節省了成本。可是,在無人監控、空間快速增加的狀況下,可能會發生存儲空間超額分配,引起業務應用性能降低,甚至沒法工做。web

那麼VSAN如何處理容量磁盤故障呢?若是故障發生時,正好在磁盤上有一個讀或寫的操做會發生什麼呢?下面解析下vsan的容量設備故障。
vsan的容量設備故障和緩存設備故障分析
如圖,好比exsi-03上的一個容量存儲組件返回一個讀錯誤,那麼VSAN就會去檢查是否存在副本組件,若是有則從那個副本上讀取。默認狀況下,每一個對象被建立時都配置成FTT爲1,這意味着每一個對象總有2個徹底同樣的副本組件可用。故障發生在讀取時,有2種不一樣的狀況,第一種狀況能夠修復,第二種狀況則沒法修復。當問題是能夠修復的時候,I/O錯誤會被彙報給對象的屬主,對象的屬主則會發起組件重構。當組件重構完成時,故障組件會被刪除。然而,若是由於某種緣由,沒有副本組件存在時,VSAN就會報告這個虛擬機出現了I/O錯誤。
若是是返回一個寫錯誤,也會傳送到對象屬主,組件會被標註爲「已降級」並會在VSAN羣集中另外的磁盤上觸發組件重構。當組件重構完成時,羣集目錄會被更新。注意,閃存設備(它沒有出錯)會繼續用緩存來提供讀取服務。
最初的vsan版本中,在某一個組件或多個組件因故障而處以重建過程當中時,vsphere web客戶端並無顯示有多少數據須要同步。但從vsan6.0起,vsphere web客戶端提供了在故障發生時監控數據同步情況的功能,好比它會顯示正在從新同步的組件數量、從新同步的剩餘字節數以及完成從新同步所須要的時間。
注:當磁盤容量全滿時,vSAN會暫停寫數據併爲寫請求申請新的磁盤空間,若是未及時添加新的磁盤,則vsan寫操做會出現錯誤,引起虛擬機I/O錯誤。算法

緩存設備故障解析:
若是緩存設備SSD不可訪問會發生什麼狀況?當緩存設備不可訪問時,同一個磁盤組中那個緩存設備支持的全部容量設備都會沒法被訪問。緩存設備故障等同於緩存設備背後的全部容量設備故障。從本質上說,當一個緩存設備故障時,整個磁盤組被認爲是「已降級的」。若是VSAN羣集中有多餘的容量,它就會試圖在另外一臺主機或磁盤上從新配置存儲對象。所以,從架構決策角度看,根據使用的主機類型不一樣,建立多個小的磁盤組可能會比單個大磁盤組好,由於一個磁盤組能夠被視爲一個故障域。
注:VSAN採用電梯算法週期性地將緩存層內寫緩存中的數據按照地址順序「沖刷」進磁盤中,這是一個能進行自我調整的算法,它決定了SSD回寫到磁盤的頻率。當exsi-01虛擬機中的應用程序發起一個寫操做時,對象屬主會克隆這個寫操做。併發的寫請求經過萬兆網絡發往exsi-02和exsi-03上的寫緩存,當數據寫入緩存時,寫就被確認了,此時SSD上的準備操做就完成了。屬主等待全部2臺主機的ACK信號後完成I/O。稍後這個寫入會做爲批量處理的一部分最終回寫到磁盤上。各主機的回寫操做都是相互獨立的,也就是說,exsi-02和exsi-03上的回寫操做時間多是不一樣的。這是由於不一樣主機的狀況不一樣,好比緩存空間填滿的速度、剩餘空間的大小以及數據將存放在磁盤的什麼地方均可能是不一樣的。緩存

補充:
容量大小設置準則
一、至少留有 30% 的未使用空間,以防止 vSAN 從新平衡存儲負載。只要單個容量設備上的消耗達到 80% 或以上,vSAN 就會從新平衡羣集中的組件。從新平衡操做可能會影響應用程序的性能。要避免這些問題,存儲消耗應低於 70%。網絡

二、規劃額外容量,用於處理潛在故障或替換容量設備、磁盤組和主機。當某個容量設備沒法訪問時,vSAN 會在羣集中的其餘設備中恢復組件。當閃存緩存設備出現故障或移除時,vSAN 會從整個磁盤組中恢復組件。架構

三、預留額外容量以確保 vSAN 在出現主機故障或主機進入維護模式時恢復組件。例如,置備具備足夠容量的主機,以便留有足夠的可用容量供可在主機出現故障或維護期間成功進行從新構建組件。存在三個以上的主機時這很是重要,這樣您纔有足夠的可用容量來從新構建故障的組件。若是主機出現故障,將在其餘主機的可用存儲上進行從新構建,這樣能夠容許再次出現故障。可是,在三主機羣集中,若是將容許的故障數主要級別設置爲 1,則 vSAN 不會執行從新構建操做,由於在一個主機出現故障後,羣集中只剩下兩個主機。要容許故障後從新構建,至少必須有三個主機。併發

四、提供足夠的臨時存儲空間,以便在 vSAN 虛擬機存儲策略中進行更改。動態更改虛擬機存儲策略時,vSAN 可能會爲組成對象的副本建立一個佈局。當 vSAN 實例化這些副本並將其與原始副本進行同步時,羣集必須臨時提供額外空間。運維

五、若是規劃使用軟件校驗和或去重和壓縮等高級功能,請保留額外的空間以處理操做開銷。ide

問題補充:
SSD 擁堵問題引起VSAN夯住。這時特定磁盤組的寫入 IO 的活動工做集顯著大於該磁盤組緩存層的大小時,一般會引起 SSD 擁堵,繼而引起VSAN羣集夯住。在混合和全閃存 vSAN 羣集中,數據首先寫入到寫入緩存(也稱爲寫入緩衝區)。一個稱爲降級轉儲的進程會將數據從寫入緩衝區移至容量磁盤。寫入緩存承受較高的寫入速率,從而確保寫入性能不受容量磁盤的限制。不過,若是以很是快的速率填充寫入緩存,降級轉儲進程可能跟不上到達 IO 的速率。在這種狀況下,會引起 SSD 擁堵,須要指示 vSAN DOM 客戶端層將 IO 減速到 vSAN 磁盤組能夠處理的速率。佈局

補救措施:要避免 SSD 擁堵,請調整所用的虛擬機磁盤的大小。爲達到最佳效果,咱們建議虛擬機磁盤(活動工做集)的大小不超過全部磁盤組寫入緩存累計大小的 40%。請注意,對於混合 vSAN 羣集,寫入緩存的大小爲緩存層磁盤大小的 30%。在全閃存羣集中,寫入緩存的大小是緩存層磁盤的大小,但不該超過 600 GB。若是超限大量寫入,容易引發VSAN羣集夯住,容量層磁盤也將會沒法被訪問。性能

本文同步分享在 博客「xjsunjie」(51CTO)。
若有侵權,請聯繫 support@oschina.cn 刪除。
本文參與「OSC源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。

相關文章
相關標籤/搜索