本文將深入剖析最新vSAN 8 U2版本中的亮眼特色功能,並透過實作示範解說在vSAN ESA叢集中啟用及部署vSAN Max集中式儲存機制,讓企業和組織的管理人員能夠立即上手,方便在內部資料中心內進行測試和研究vSAN Max新功能。
最新的vSAN 8 Update 2版本,在2023年VMware Explore大會中,隨著vSphere 8 Update 2版本一起正式發布。過去,vSAN便是將運算、儲存、網路整合後的HCI超融合環境,現在最新的vSAN 8 U2版本中,最亮眼的新功能之一就是集中式儲存的vSAN Max,如圖1所示。
值得企業組織注意的是,根據VMware官方最佳建議作法,vSAN Max單一叢集至少應部署「7台」叢集節點主機,雖然最多支援至「32台」,但最佳作法則是建議最多「24台」即可,在延伸叢集的部分,則建議至少應部署「14台」叢集節點主機。
雖然vSAN Max叢集規模只要擁有6台節點主機,便支援FTT=2(RAID-6)儲存原則,然而只要節點主機發生故障就會喪失相關資料物件的可用性。反觀,由7台節點主機組成的vSAN Max叢集規模,除了支援FTT=2(RAID-6)儲存原則外,當叢集節點主機發生故障時,也能夠確保資料物件的高可用性,這也是VMware最佳建議作法中,至少應部署7台節點主機組成vSAN Max叢集的主要原因。
當然,隨著vSAN Max叢集不斷擴充叢集節點主機時,除了整體可用資源線性增加外,面對叢集節點主機發生故障時,受影響的資源也將逐漸降低。例如,7台節點主機組成的vSAN Max叢集,面對災難事件時會影響14.3%的儲存資源(效能∕空間),而24台節點主機組成的vSAN Max叢集,面對災難事件時則降低至僅影響4.2%的儲存資源,如圖2所示。
vSAN 8 U2亮眼特色功能介紹
最新的vSAN 8 U2版本中提供了諸多的亮眼功能,以下分別加以說明。
vSAN Max與vSAN HCI Mesh的差異
在過去的vSAN版本中,VMware已經提出vSAN HCI Mesh機制,讓傳統vSphere叢集或vSAN超融合叢集能夠透過vSAN HCI Mesh機制,使用遠端的vSAN Datastore儲存資源,而最新的vSAN 8 U2版本中又推出vSAN Max的Storage-Only集中式儲存機制,這兩者之間有何不同呢?
首先,在「傳統HCI」(Traditional HCI)運作架構中,集合運算及儲存資源在vSAN超融合叢集中所有的叢集節點主機內,這種運作架構稱為「聚合資源」(Aggregates Resources),這種運作架構相對簡單,能夠充分滿足小型企業組織的需求。然而,對於中大型企業組織來說,就顯得彈性較為不足,舉例來說,可能運算資源已經用盡,但是儲存資源仍然充足,反之亦然。
過去,中大型企業組織會部署多組vSAN超融合叢集並整合HCI Mesh機制,也就是「跨叢集容量共享」(Cross-Cluster Capacity Sharing)架構,讓不同的vSAN超融合叢集之間,當某個vSAN超融合叢集發生儲存資源不足的情況時,其他vSAN超融合叢集便能提供或使用資源,雖然達到共享vSAN Datastore儲存資源的目的,但這樣的運作架構屬於分散式,而非集中式共用儲存資源方案,如圖3所示。此外,別忘了HCI Mesh還有最多「5個」遠端vSAN Datastore儲存資源共享的限制,難以滿足中大型企業組織不斷變化及擴增的專案需求。
因此,最新推出的vSAN Max便是集中式共用儲存資源機制,輕鬆地為一個或多個vSphere叢集提供儲存資源,讓運算資源和儲存資源之間能夠各司其職,形成「非聚合儲存」(Disaggregated Storage)運作架構,並使用vCenter Server管理平台統一進行管理作業,如圖4所示。
匹敵高階儲存設備的vSAN Max
在vSAN Max儲存架構中,必須採用最新推出且高效能的vSAN ESA超融合儲存架構,而非傳統的vSAN OSA超融合儲存架構,確保屆時建構的vSAN Max能夠發揮最大儲存資源。在整個vSAN Max叢集架構中,根據VMware最佳建議作法,部署24台叢集節點主機時,即可提供高達8.6PB的儲存空間,並提供高達340萬的IOPS儲存效能。
此外,vSAN Max也支援原有超融合叢集進階功能,例如延伸叢集(Stretched Cluster)、容錯網域(Fault Domains)、檔案服務(File Services)等等,重點是這些功能,都可以在管理人員熟悉的vCenter Server管理介面中完成,如圖5所示。
vSAN ESA儲存效能最佳化
前一版vSAN 8 U1中推出的vSAN ESA儲存架構,由於採用全NVMe高效能儲存裝置,讓vSAN ESA能夠提供非常高效能的儲存資源。最新的vSAN 8 U2版本中,則針對vSAN ESA儲存架構進行兩項改進,最佳化vSAN ESA整體儲存效能。
首先,最佳化在vSAN 8 U1版本中vSAN ESA的「日誌結構檔案系統」(Log-Structured Filesystem,LFS),包括新的「適應性寫入路徑」(Adaptive Write Path),確認傳入資料I/O的特徵,並根據情況使用兩個資料路徑之一寫入資料,也就是自動調校資料I/O的選擇路徑。一般情況下,預設寫入路徑會處理小型資料I/O,而大型資料I/O的寫入路徑,則用於處理較大的I/O或大量未完成的I/O,以便因應各種工作負載條件下提供高效能。
因此,vSAN 8 U2透過記憶體處理資料的方式來改善LFS處理效率,對於每個「物件」(Object)來說,調整後的LSF使用In-memory I/O Bank記憶體動態分配機制,能夠更高效率地寫入資料和中繼資料,並且容納更多資料傳入I/O,而非為每個物件分配固定數量的I/O Bank,所以LFS能夠順利地清除未使用的I/O Bank,如圖6所示。簡單來說,最佳化適應性寫入路徑機制後,在vSAN ESA儲存架構中使用RAID-6的儲存效能,能夠與vSAN OSA儲存架構中RAID-1的儲存效能相同。
改善後的vSAN LFS檔案系統,以及處理資料I/O的適應性寫入路徑最佳化,對於集中式儲存架構的vSAN Max也有所助益。同時,建構於vSAN ESA基礎之上的vSAN Max,由於能夠專注在處理儲存資源,而不像單純vSAN ESA超融合叢集,除了處理儲存資源外,還必須處理運算資源等工作負載,所以對於處理大量未完成的資料I/O或大型資料I/O的效率,能夠比單純vSAN ESA超融合叢集有更佳的儲存效能,如圖7所示。
支援垂直和水平擴充架構的vSAN Max
在傳統三層式虛擬化運作架構中,處理儲存資源的硬體儲存陣列設備,內含處理器、記憶體、容錯的儲存控制器等等,並且透過背板連接眾多儲存裝置,以及透過擴充機箱的方式來擴充儲存空間,並將這些儲存空間整合後,呈現給上層的vSphere工作負載以提供儲存I/O資源。
然而,這種採用垂直模組化擴充機制的缺點在於,僅能擴充儲存硬體設備的可用儲存空間,但是所有來至上層vSphere傳遞的儲存I/O工作負載,仍然是由本來的容錯儲存控制器處理,並且硬體儲存設備的儲存控制器在處理資料I/O的機制通常是「先到先服務」(First Come First Serve)的方式。
因此,當上層vSphere叢集工作負載不斷擴增的同時,隨著儲存控制器的快取空間用盡,造成硬體儲存設備的儲存控制器無法負荷,並且所有工作負載共享儲存控制器的緩衝空間,屆時除了發生嚴重的儲存I/O資源爭用外,一旦儲存控制器發生問題時,更會發生雞蛋放在同一個籃子的災難事件,如圖8所示。
反觀vSAN Max運作架構,原生設計於vSAN超融合叢集,同時支援「垂直擴充」(Scale-Up)和「水平擴充」(Scale-Out)運作架構,舉例來說,在vSAN Max叢集中,共有6台叢集節點主機,每台節點主機配置共300TB儲存容量,共有56個運算核心及100Gb傳輸網路,所以建構後的vSAN Max叢集,將會整合為1.8PB儲存資源空間,和336個運算核心及600Gb傳輸網路,一旦需求增加而新增叢集節點主機至vSAN Max叢集時,每新增一台節點主機便會增加300TB儲存容量、56個運算核心、100Gb頻寬,因此vSAN Max叢集資源可以隨著增加叢集節點主機,線性提升整體的運算、儲存、網路等資源,如圖9所示。
同時,這種水平擴充架構的另一個優勢在於,當vSAN Max叢集中節點主機發生故障時,並不像傳統三層式架構會導致大災難。舉例來說,在12台節點主機所組成的vSAN Max叢集中,如果其中一台節點主機發生故障時,對於vSAN Max叢集而言僅損失1/12的資源,上層的vSphere資料I/O需求將會繼續平均分散在其他存活11台節點主機上繼續運作。
除此之外,vSAN Max叢集也支援垂直擴充機制,一旦管理人員經過評估後,發現無須新增節點主機進行水平擴充,而是為每台現有的叢集節點主機擴充儲存裝置,即可擴充vSAN Max叢集整體儲存空間,達到垂直擴充機制,如圖10所示。
支援容錯網域的vSAN Max
對於小型企業組織來說,即便部署vSAN Max環境,而因為營運規模的關係,通常叢集節點主機數量並不會超過一個機櫃,然而對於中大型企業來說,部署的叢集節點主機數量經常會跨越不同的機櫃,此時便需要啟用「容錯網域」(Fault Domains)功能,才能在兼顧效能的同時又具備資料高可用性,如圖11所示。
例如,若在單一的vSAN叢集中,共有24台叢集節點主機並分布在6座機櫃內,在啟用容錯網域功能後,以vSAN儲存原則FTT=1 (RAID-1)為例,資料物件和見證都會寫入不同的機櫃和節點主機中,其中資料物件寫入機櫃2和機櫃4,見證則是寫入機櫃3當中,如圖12所示。
當機櫃2內存放資料物件的叢集節點主機發生故障,系統會在機櫃2內其他存活的叢集節點主機,將遺失的資料物件進行重建,倘若整個機櫃2發生災難,系統便會在其他存活的機櫃中,將遺失的資料物件進行重建,如圖13所示。
如果叢集節點主機數量不多,但又想具備類似容錯網域的功能時,有沒有更簡單的作法?舉例來說,vSAN Max叢集中共有7台叢集節點主機,分別放置在不同的機櫃當中,一旦實體伺服器這樣擺放之後,無須啟用容錯網域功能,也等同於具備機櫃感知的能力,值得注意的是,每座機櫃只能放一台叢集節點主機,如圖14所示。
值得注意的是,小型vSAN叢集並擺放於同一機櫃中也並非全無好處,舉例來說,叢集節點主機都處於同一機櫃時,vSAN儲存流量都保持在ToR/Leaf網路交換器即可。反觀中大型跨機櫃的vSAN叢集環境,由於跨越機櫃的關係,整體的vSAN儲存流量,必須至上層Spine網路交換器進行交換才行,如圖15所示。
建構實作環境
在本文實作環境中,將會組態設定已經部署6台節點主機的vSAN ESA叢集,搖身一變成為集中式儲存的vSAN Max叢集。為何部署6台節點主機?原因在於這樣的節點主機數量才足以支援,並且建立RAID-6(Erasure Coding)儲存原則,以便屆時能夠與OSA超融合叢集的RAID-1儲存原則,進行儲存效能I/O的互相比較。
啟用vSAN Max集中式儲存服務
在vCenter Server管理介面中,依序點選「vSAN ESA Cluster > Configure> vSAN > Services」,在vSAN Services頁面中,可以看到有vSAN HCI、vSAN Compute Cluster、vSAN Max等三個服務選項,點選其中的vSAN Max選項,如圖16所示,並採用預設值Single site vSAN cluster,然後點選下方的〔Configure〕按鈕。
隨後彈出Configure vSAN互動視窗,系統會自動檢查選擇的vSAN叢集是否為已經啟用並運作中的vSAN ESA叢集,否則無法繼續執行啟用vSAN Max服務的動作。在2 Services頁面中,可以依據需求來選擇是否啟用加密選項Data-At-Rest或Data-In-Transit,如圖17所示,以及vSAN ESA叢集預設便啟用的Auto-Policy management功能,確認無誤後按下〔Next〕按鈕。
在3 Claim disks頁面中,可以看到本文實作環境中,vSAN ESA叢集共有6台節點主機,每一台節點主機配置4個NVMe SSD儲存裝置,所以整個vSAN ESA叢集共有24個NVMe SSD儲存裝置,並且預設情況下宣告所有的NVMe SSD儲存裝置成為屆時vSAN Max的儲存資源池,如圖18所示。
在4 Create fault domains頁面中,由於vSAN Max也支援建立容錯網域機制,所以可依據需求按下「ADD」建立容錯網域,或採用預設值不建立容錯網域,按下〔Next〕按鈕繼續。
最後,在5 Review頁面中,再次確認組態設定值,若無誤便按下〔Finish〕按鈕,系統便立即為vSAN ESA叢集啟用vSAN Max服務。
使用vSAN Max儲存資源
順利啟用vSAN Max集中式儲存機制後,便可組態設定vSphere運算叢集,使用vSAN Max儲存資源。事實上,組態設定方式與過去vSAN HCI Mesh機制相同,主要差異在於,過去的vSAN HCI Mesh機制無論是Client Cluster或Server Cluster最多僅支援「5個」vSAN Datastore儲存資源。
點選本文實作環境中,負載運作VM虛擬主機等工作負載的Compute運算叢集,依序點選「Compute Cluster > Configure > vSAN > Services」,然後在vSAN Services頁面中點選「vSAN Compute Cluster」選項,如圖19所示,以及預設的Configure cluster without vSAN datastore選項,然後按下〔Configure〕按鈕繼續組態設定作業。
在彈出的Configure vSAN Compute Cluster視窗中,系統提醒將組態設定為vSAN運算叢集角色,稍後掛載使用的vSAN儲存資源將為遠端叢集,避免管理人員誤認儲存資源為本地端儲存資源,確認無誤後按下〔Apply〕按鈕以便套用生效。
回到vCenter Server管理介面中,可以看到Compute運算叢集中,vSAN組態設定區塊中多了Remote Datastores項目,點選後按下「Mount Remote Datastore」,在彈出的Select datastore視窗中,可以看到剛才啟用的vSAN Max儲存資源,點選後按下〔Next〕按鈕。值得注意的是,倘若在Select datastore視窗中無法看到剛才啟用的vSAN Max儲存資源,表示Compute運算叢集的VMkernel Port無法與vSAN Max儲存叢集進行通訊。
在Check compatibility頁面中,系統將針對剛才選擇的遠端vSAN Max儲存資源,進行多個項目的相容性檢查,如圖20所示,例如遠端vSAN Max儲存資源是否為支援格式的版本、Compute運算叢集和vSAN Max儲存資源之間的網路延遲時間是否低於5毫秒(ms)等等,確保能夠順利掛載和使用選擇的遠端vSAN Max儲存資源。
部署VM虛擬主機並使用vSAN Max儲存資源
現在,在Compute運算叢集中,無論是部署新的VM虛擬主機,或者先前部署並運作中的VM虛擬主機,只要執行Storage vMotion儲存資源遷移任務,在遷移VM虛擬主機的儲存資源時,都能選擇已經掛載完成的遠端vSAN Max儲存資源,並且套用具備彈性和高可用性的vSAN儲存原則。 舉例來說,在Compute運算叢集中,於新增VM虛擬主機的流程中,在4 Select storage步驟內,當選擇的儲存資源為掛載的vSAN Max儲存資源時,便能同時選擇套用至VM虛擬主機的vSAN儲存原則,以本文實作環境為例,便可以套用RAID6的儲存原則至新增的VM虛擬主機中,如圖21所示。
當Compute運算叢集部署完成VM虛擬主機後,點選vSAN-ESA叢集,可以看到啟用vSAN Max服務的vSAN-ESA叢集,已經內建儀表板功能並有vSAN Health、vSAN Performance、vSAN Client Clusters、vSAN Capacity等四大區塊顯示相關資訊。
在vSAN Health區塊中,除了顯示vSAN Max健康情況外,屆時若有效能上的問題時,還能點選「Troubleshoot」進行故障排除,或是點選View Trend Details時查看健康情況趨勢圖,如圖22所示。
在vSAN Performance區塊中會顯示儲存I/O效能表示數據,在vSAN Client Clusters區塊中,則會顯示目前有哪些vSphere運算叢集,或其他vSAN超融合叢集,掛載vSAN Max儲存資源。而在vSAN Capacity區塊中,將顯示vSAN Max整體儲存空間的使用資訊。
<本文作者:王偉任,Microsoft MVP及VMware vExpert。早期主要研究Linux/FreeBSD各項整合應用,目前則專注於Microsoft及VMware虛擬化技術及混合雲運作架構,部落格weithenn.org。>