本章講述了Virtual SAN底層的架構細節。我們已經提起過不少vSAN架構的內容,包括使用閃存作為I/O的緩存、將vSAN功能展現出來的VASA角色、虛擬機存儲策略、見證盤以及對于直通 RAID控制器的需求等等。
本章將深入探討這些特性,并介紹由vSAN引入的一些新的架構概念和術語。盡管大多數vSphere管理員不會接觸這些底層的結構,但是對組成vSAN的服務具有一些大致的了解對排錯或分析日志文件還是有用的。在探討這些底層細節之前,讓我們首先來介紹一個vSAN的核心概念:分布式RAID。
1 分布式RAID
vSAN通過使用分布式RAID(或換句話說,網絡上的RAID),為虛擬機提供高可用性和最佳的性能。從可用性角度來說,分布式RAID意味著vSAN環境可以容忍一臺或多臺ESXi主機(或主機上的組件例如磁盤)故障而繼續為其上所有的虛擬機提供其全部功能。而為了確保虛擬機性能最佳,vSAN分布式RAID提供了將虛擬磁盤散布到多個物理磁盤和主機上去的能力。
然而,值得說明的一點是,通過使用存儲策略,虛擬機的可用性和性能現在可以針對單臺虛擬機來設置,事實上,更精確的說法是可以針對單塊虛擬磁盤來設置。管理員可以通過存儲策略來定義一臺虛擬機可以容忍多少主機故障或者多少磁盤故障,并可以定義一塊虛擬磁盤可以散布到多少主機和磁盤上。如果通過把允許的故障數設為0來特別選擇不在存儲策略中配置可用性要求,那么主機或磁盤的故障就肯定會影響虛擬機的可用性。
在早期的發布版本中,vSAN在主機之間只使用RAID-1(同步鏡像)來滿足對系統中存儲對象的可用性和可靠性的要求。虛擬機存儲對象的鏡像拷貝(副本)數量取決于虛擬機存儲策略,特別是允許的故障數要求。根據虛擬機存儲策略的不同,一塊虛擬磁盤最多可在一個vSAN上擁有3個副本。默認情況下,vSAN總是會在部署虛擬機的時候將允許的故障數設置為1,即對每個部署在vSAN數據存儲上的虛擬機,其虛擬機存儲對象都有一個副本拷貝,這就是關聯在vSAN數據存儲上的默認策略。不過這可以在虛擬機置備時通過選擇不同的策略來改變。
vSAN 6. 2引入了2種新的RAID類型:第一個是RAID-5,第二個是RAID-6。當虛擬機存儲策略中的容錯方法(failure tolerance method)設置成“容量”而不是默認的“性能”的時候才會被創建出來。引入這些新的分布式RAID類型的目的是為了節省空間使用。RAID-5和RAID-6都不使用鏡像而是使用分布式校驗機制來保護數據。對于RAID-5,數據分布在3臺ESXi主機的3塊硬盤上,計算出來的校驗數據則存放在第4臺ESXi主機的第4塊硬盤上。校驗數據并不是總存放在同一臺主機的同一塊硬盤上,而是分布式的,如圖1所示。
圖1 分布式校驗的RAID-5部署
RAID-5配置可以容忍一個主機故障,RAID-6則是設計用來容忍兩個主機故障的。在RAID-6配置中,數據分布在4臺ESXi主機上的4塊硬盤上,而計算出來的校驗數據則保存在另外兩臺ESXi主機上的另兩塊硬盤上。這樣,如果你想要使用RAID-6配置的話,總共需要6臺ESXi主機。校驗數據還是分布式存放的,如圖5-2所示。
圖2 分布式校驗的RAID-6部署
可以節省的空間計算如下:用RAID-1方式部署一個100GB的VMDK對象來容忍一個故障需要在vSAN數據存儲上消耗總共200GB容量;用RAID-5方式會消耗133.33GB。類似的,如果用RAID-1方式部署一個100GB的VMDK對象來容忍兩個故障,需要在vSAN數據存儲上消耗總共300GB的容量;用RAID-6方式則消耗總共150GB容量。
如在第四章中討論過的,管理員現在需要在性能和容量之間進行選擇。如果性能是管理員絕對最終目標,那么容錯方法應該使用RAID-1(仍是默認值)。如果管理員不需要性能最好,而更關心容量的使用,那么容錯方法或許應該選擇RAID-5/6。
根據每個對象的磁盤帶數的策略設置,一個虛擬磁盤對象可能會被條帶化到很多物理磁盤上來達到期望的性能要求。可以通過RAID-0增強虛擬機存儲對象的性能,不過條帶配置并不總是增強性能的必要條件。在本章稍后我們將解釋原因,并說明在什么時候在虛擬機存儲策略中增加VMDK的條帶寬度可以帶來性能提升。
核心關注:拓步ERP系統平臺是覆蓋了眾多的業務領域、行業應用,蘊涵了豐富的ERP管理思想,集成了ERP軟件業務管理理念,功能涉及供應鏈、成本、制造、CRM、HR等眾多業務領域的管理,全面涵蓋了企業關注ERP管理系統的核心領域,是眾多中小企業信息化建設首選的ERP管理軟件信賴品牌。
轉載請注明出處:拓步ERP資訊網http://www.guhuozai8.cn/
本文標題:vSAN架構細節-分布式RAID
本文網址:http://www.guhuozai8.cn/html/solutions/14019321356.html