1. 程式人生 > >vsan的容量設備故障和緩存設備故障分析

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

通過 故障 上進 如何 較高的 必須 因此 防止 dom

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

那麽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上的回寫操作時間可能是不同的。這是因為不同主機的情況不同,比如緩存空間填滿的速度、剩余空間的大小以及數據將存放在磁盤的什麽地方都可能是不同的。

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

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

3、預留額外容量以確保 vSAN 在出現主機故障或主機進入維護模式時恢復組件。例如,置備具有足夠容量的主機,以便留有足夠的可用容量供可在主機出現故障或維護期間成功進行重新構建組件。存在三個以上的主機時這非常重要,這樣您才有足夠的可用容量來重新構建故障的組件。如果主機出現故障,將在其他主機的可用存儲上進行重新構建,這樣可以允許再次出現故障。但是,在三主機群集中,如果將允許的故障數主要級別設置為 1,則 vSAN 不會執行重新構建操作,因為在一個主機出現故障後,群集中只剩下兩個主機。要允許故障後重新構建,至少必須有三個主機。

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

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

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

補救措施:要避免 SSD 擁堵,請調整所用的虛擬機磁盤的大小。為達到最佳效果,我們建議虛擬機磁盤(活動工作集)的大小不超過所有磁盤組寫入緩存累計大小的 40%。請註意,對於混合 vSAN 群集,寫入緩存的大小為緩存層磁盤大小的 30%。在全閃存群集中,寫入緩存的大小是緩存層磁盤的大小,但不應超過 600 GB。如果超限大量寫入,容易引起VSAN群集夯住,容量層磁盤也將會無法被訪問。

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