vSAN 超融合 vSAN ESA NVMe

快取層容量併入單一儲存集區 發揮NVMe裝置最高效能

vSAN 8新儲存架構開工 實戰ESA超融合叢集

2023-05-03
透過本文的深入剖析和實作演練,相信管理人員除了可以理解最新發佈的vSAN 8版本具備哪些亮眼特色功能之外,也能夠充分理解如何從無到有建構出最新發佈的vSAN ESA超融合叢集,輕鬆為企業和組織部署高效能高穩定性高擴充性的vSAN超融合叢集。

最新舉辦的VMware Explore 2022大會中,正式發佈最新的vSphere 8和vSAN 8版本。vSAN 8版本最大的改變,便是新增支援vSAN ESA(Express Storage Architecture)儲存架構,而過去管理人員熟悉的vSAN超融合技術則為vSAN OSA(Original Storage Architecture)儲存架構。

新增支援的vSAN ESA儲存架構,僅支援高效能的NVMe儲存裝置,至於其他SATA或SAS SSD固態硬碟儲存裝置則不支援,在vSAN儲存網路部分則建議至少配置25Gbps傳輸速率。或許管理人員會有這樣的疑惑,過去的vSAN架構也支援採用NVMe儲存裝置建構出All-Flash模式的vSAN超融合叢集,那麼新增支援的vSAN ESA儲存架構究竟有何不同?

簡單來說,傳統的vSAN OSA儲存架構,先將儲存裝置區分為「快取層」(Cache Tier)和「容量層」(Capacity Tier),並將快取層和容量層組合為「磁碟群組」(Disk Group),其中快取層僅用於資料快取和寫入使用,並無法真正納入儲存容量,而新式的vSAN ESA儲存架構,則採用單一儲存層級並導入「儲存集區」(Storage Pool)機制,所有NVMe儲存裝置容量都能使用,如圖1所示。

圖1  傳統vSAN OSA和新式vSAN ESA儲存架構比較示意圖。 (圖片來源:Announcing VMware vSAN 8 | VMware Virtual Blocks Blog)

值得注意的是,必須使用至少「vSAN Advanced」或更高的軟體授權版本,才能夠支援使用新式的vSAN ESA儲存架構,若僅採購vSAN Standard軟體授權,雖然使用最新的vSAN 8版本,也僅支援建構傳統vSAN OSA儲存架構的超融合叢集。詳細軟體授權和功能支援資訊,可參考VMware vSAN Licensing Guide文件。

雖然vSAN 8推出新式ESA儲存架構,但針對傳統的OSA儲存架構也有所提升。在過去的vSAN OSA儲存架構中,每個磁碟群組的「寫入緩衝大小」(Write Buffer Size)為「600GB」,表示每個磁碟群組中最多僅能宣告使用600GB儲存空間,所以大於此限制的快取層儲存空間便無法有效利用。

最新的vSAN 8版本OSA儲存架構,將寫入緩衝大小提升至「1.6TB」,這表示OSA儲存架構能夠更提升資料讀取和寫入效能,因為可以儲存的讀取快取和寫入緩衝區的資料量變多了,同時也可以減少容量層的I/O需求,以及vSAN元件的重新同步時間,如圖2所示。

圖2  vSAN 8 OSA儲存架構寫入緩衝大小由600GB提升至1.6TB。 (圖片來源:Increased Write Buffer Capacity for the vSAN 8 Original Storage Architecture | Vmware)

vSAN 8 ESA儲存架構亮眼特色功能介紹

事實上,最新版本的vSAN 8 ESA儲存架構,並非僅是支援NVMe儲存裝置和採用儲存集區,而是從底層許多技術進行增加及改進,與傳統vSAN OSA儲存架構相較下,更能充分發揮NVMe儲存裝置的效能。

RAID-5/6 vs RAID-1

在傳統vSAN OSA儲存架構中,若希望節省儲存空間,則採用RAID-5/6容錯機制,保護VM虛擬主機工作負載的vSAN元件,缺點是儲存效能稍嫌不足,而若是希望獲得較高的儲存效能,可以採用RAID-1容錯機制,但缺點是消耗較多的儲存空間,而新式vSAN ESA儲存架構,則採用RAID-5/6容錯機制,不但能提供不輸給RAID-1的儲存效能,還可以在儲存效能和節省儲存空間之間達到最大化。

此外,同樣採用RAID-5容錯機制,傳統vSAN OSA儲存架構和新式vSAN ESA儲存架構,在儲存空間節省方面也所有不同。在傳統vSAN OSA儲存架構中,提供3+1的RAID-5容錯機制,這表示保護資料的方式是由3個「資料位元」(Data bits)加上1個「同位位元」(Parity bit)組成,所以至少必須要跨越「4台」vSAN叢集節點主機,才能達到資料保護的目的,並且能夠容忍單台vSAN叢集節點主機發生故障,儲存容量則是主要資料的「1.33倍」,當VM虛擬主機的VMDK硬碟大小為100GB時,則需要耗用133GB的vSAN儲存空間,如圖3所示。

圖3  傳統vSAN OSA儲存架構3+1的RAID-5容錯機制示意圖。 (圖片來源:Adaptive RAID-5 Erasure Coding with the Express Storage Architecture in vSAN 8 | Vmware)

新式的vSAN ESA儲存架構則提供兩種不同的RAID-5容錯機制,當vSAN叢集節點主機數量較少時,可以採用FTT=1的2+1 RAID-5容錯機制,也就是2個「資料位元」(Data bits)加上1個「同位位元」(Parity bit)組成,只要跨越「3台」vSAN叢集節點主機就能達到資料保護的目的,儲存容量則是主要資料的「1.5倍」,如果VM虛擬主機的VMDK硬碟大小為100GB,則須耗用150GB的vSAN儲存空間,如圖4所示。

圖4  新式vSAN ESA儲存架構FTT=1的2+1 RAID-5容錯機制示意圖。 (圖片來源:Adaptive RAID-5 Erasure Coding with the Express Storage Architecture in vSAN 8 | Vmware)

倘若vSAN叢集節點主機數量較多時,可以採用FTT=1的4+1 RAID-5容錯機制,也就是4個「資料位元」(Data bits)加上1個「同位位元」(Parity bit)組成,必須跨越「5台」vSAN叢集節點主機才能達到資料保護的目的,儲存容量則是主要資料的「1.25倍」,如果VM虛擬主機的VMDK硬碟大小為100GB,則僅需要耗用125GB的vSAN儲存空間,如圖5所示。

圖5  新式vSAN ESA儲存架構FTT=1的4+1 RAID-5容錯機制示意圖。 (圖片來源:Adaptive RAID-5 Erasure Coding with the Express Storage Architecture in vSAN 8 | Vmware)

增強壓縮機制

在最新vSAN 8 ESA超融合技術中,針對資料壓縮機制重新設計並增強處理效能,在資料寫入壓縮方面,只需要針對主要資料壓縮一次即可,而非每個資料副本也要進行壓縮,此舉除了有效降低CPU處理器的工作負載外,同時也降低寫入資料量和vSAN儲存流量,而在資料讀取方面,則直接讀取壓縮狀態的資料,無須解壓縮後進行讀取,同樣減少vSAN叢集節點主機之間的vSAN儲存流量。

具體來說,新的壓縮機制將資料大小的壓縮單元縮小到4KB,整體壓縮比達到8:1,與傳統vSAN OSA儲存架構相比提升了4倍,如圖6所示。

圖6  新式vSAN 8 ESA儲存架構壓縮機制運作示意圖。 (圖片來源:vSAN 8 Compression - Express Storage Architecture | Vmware)

智慧調整vSAN網路流量

在傳統的vSAN OSA儲存架構中,倘若vSAN儲存流量發生資源爭奪的情況,例如VM虛擬主機I/O工作負載,與重新同步元件的Resync I/O工作負載同時發生時,便很有可能因為資源爭奪的情況而造成vSAN儲存效能降低,甚至影響VM虛擬主機的工作負載。新式的vSAN ESA儲存架構,新增智慧型vSAN網路流量調整機制,在vSAN儲存流量沒有發生資源爭奪時,每種類型的vSAN流量都可以盡可能使用網路頻寬,一旦發生資源爭奪的情況,便會自動檢測並限制優先層級較低的vSAN流量。

因此,同樣發生上述的vSAN儲存流量發生資源爭奪時,新式的vSAN ESA儲存架構將會把重新同步元件的Resync I/O工作負載,限制在使用網路頻寬不超過20%,而讓優先層級較高的VM虛擬主機I/O工作負載,能夠使用80%的網路頻寬,如圖7所示。

圖7  新式vSAN ESA儲存架構智慧型vSAN網路流量調整機制示意圖。 (圖片來源:Adaptive Network Traffic Shaping with the vSAN Express Storage Architecture | Vmware)

B-Tree高效能快照機制

過往的vSAN版本中,雖然針對VM虛擬主機工作負載的「快照」(Snapshot)不斷改善,例如vSAN 5.5版本的VMFS快照以及vSAN 6.0的vsanSparse快照機制都是為了增強和改善快照效能,然而長時間儲存的快照合併作業一直是個難解的問題,如圖8所示。

圖8  傳統vSAN儲存架構快照機制運作示意圖。 (圖片來源:Scalable, High-Performance Native Snapshots in the vSAN Express Storage Architecture | Vmware)

新式vSAN ESA儲存架構,處理快照時並非採用傳統vDisk虛擬硬碟的互相參照機制,而是改為採用B-Tree的方式處理,相較於過去傳統的快照機制,在刪除快照時間上,B-Tree新式機制比傳統快上「100倍」,有效改善快照處理時間,如圖9所示。

圖9  新式vSAN ESA儲存架構改採用B-Tree機制處理快照示意圖。 (圖片來源:Scalable, High-Performance Native Snapshots in the vSAN Express Storage Architecture | Vmware)

實戰vSAN 8 ESA超融合叢集

接下來將實作演練最新vSAN 8 ESA超融合儲存架構,除了採用最新vCenter Server 8管理平台外,共有3台vSAN叢集節點主機,每台vSAN叢集節點主機,除了安裝ESXi虛擬化平台系統的硬碟外,還額外配置4顆600GB NVMe儲存裝置。

手動建立DataCenter和Cluster

在本文實作環境中,不會採用Cluster QuickStart自動化部署機制,而是改為採用手動操作逐一建立的方式,例如手動建立DataCenter、Cluster、vDS分佈式虛擬交換器、vSAN VMkernel Port等等,以便帶領大家能夠一步一步打造出vSAN ESA超融合叢集。

首先登入vCenter Server 8管理平台,然後建立vSAN 8 ESA超融合叢集使用的DataCenter和Cluster。值得注意的是,在建立vSAN Cluster時先建立空的叢集而不要啟用任何進階特色功能,例如vSphere DRS、vSphere HA、vSAN,等到後續運作環境完備,再啟用這些叢集等級的進階特色功能,如圖10所示。

圖10  建立vSAN-Cluster但先不啟用叢集等級的進階特色功能。

在管理介面中,依序點選「vCenter Server > DataCenter > vSAN-Cluster > Actions > Add Hosts」,鍵入第1台vSAN叢集節點主機的連線資訊後按下〔Add Host〕按鈕,接著勾選上方的「Use the same credentials for all hosts」,表示採用相同的管理者帳號和密碼,納管3台vSAN叢集節點主機,按下〔Next〕按鈕後,系統將會自動彈出這3台vSAN叢集節點主機的SHA1指紋檔內容,按下〔OK〕按鈕接受後至下一個納管步驟。

在2. Host Summary納管步驟中,確認vSAN叢集節點主機資訊無誤後按下〔Next〕按鈕,在3. Import Image納管步驟中,採用預設值Don't import an image選項即可,最後在4. Review步驟中確認正確後按下〔Finish〕按鈕,即可將3台vSAN叢集節點主機加入至vSAN-Cluster叢集中,如圖11所示。預設情況下加入的vSAN叢集節點主機,將會自動進入「維護模式」(Maintenance Mode),管理人員可以將其設定為離開維護模式。

圖11  將3台vSAN叢集節點主機加入至vSAN-Cluster納管。

組態設定vSAN VMkernel Port

在vSAN超融合運作架構中,每台vSAN叢集節點主機必須規劃專用於vSAN儲存流量的VMkernel Port,確保vSAN超融合叢集中每台vSAN叢集節點主機,都能夠透過這個專用的vSAN儲存流量VMkernel Port,彼此交換和儲存相關vSAN元件。

點選「vSAN8-N01」,這是本文實作環境中規劃的第1台vSAN叢集節點主機,然後依序點選「Configure > Networking > VMkernel adapters > Add Networking」選項,在彈出視窗中選擇「VMkernel Network Adapter」項目後按下〔Next〕按鈕。在2. Select target device頁面中,先選擇將vSAN VMkernel Port建立在預設現有的vSS標準式虛擬交換器vSwitch0上,稍後將會建立vDS分佈式虛擬交換器,並且將vSAN VMkernel Port遷移至vDS Port Group中。選擇「Select an existing standard switch > vSwitch0」選項後,按下〔Next〕按鈕。

在3. Port properties頁面中,於Network label欄位中填入「vSAN-VMkernel」名稱,以利後續管理上辨別用途。接著,在下方Enabled services選項中勾選「vSAN」項目,確保啟用vSAN儲存流量並按下〔Next〕按鈕,如圖12所示。

圖12  命名為vSAN-VMkernel並勾選vSAN選項確保啟用vSAN儲存流量。

在4. IPv4 settings頁面中,組態設定此vSAN VMkernel Port的IP位址,本文實作採用「192.168.1.31/24」,按下〔Next〕按鈕,進入5. Ready to complete頁面,檢視相關資訊確認無誤後按下〔Finish〕按鈕即可。接著,採用相同的操作步驟,為vSAN8-N02和vSAN8-N03組態設定vSAN VMkernel Port,並且指派採用「192.168.1.32、192.168.1.33」的IP位址,如圖13所示。

圖13  組態設定另外2台vSAN叢集節點主機的vSAN VMkernel Port。

建立vSAN專用vDS分佈式虛擬交換器

雖然採用vSS標準式虛擬交換器也能夠建構和部署vSAN超融合叢集,然而對於後續維運管理及組態設定的便利性則稍嫌不足,並且針對vSAN超融合叢集的可擴充性考量,若採用vSS標準式虛擬交換器,當後續需要加入新的vSAN叢集節點主機至vSAN超融合叢集時,將會多出許多額外的組態設定工作,浪費管理人員寶貴的時間。

因此,在建構和部署vSAN超融合叢集初期,便建立vSAN專用的vDS分佈式虛擬交換器為佳。在vCenter Server管理介面中,依序點選「Home > Networking > vCenter Server > Datacenter > Actions > Distributed Switch > New Distributed Switch」選項,在彈出的精靈視窗中,首先於Name欄位鍵入「vSAN-DSwitch」,然後按下〔Next〕按鈕。

在2. Select version頁面中,選擇vDS分佈式虛擬交換器採用的版本,在本文實作環境中採用最新的「8.0.0」版本,如圖14所示。實務上,管理人員必須視管理的vSphere虛擬化環境版本選擇,舉例來說,如果原有運作的vSphere叢集中採用7.0.2版本並且尚未升級至新版,那麼應該為了相容性考量,同樣採用舊版的7.0.2版本,後續再找機會進行vDS版本升級作業。

圖14  採用最新8.0.0 vDS分佈式虛擬交換器版本。

在3. Configure settings頁面中,大部分選項採用系統預設值即可,而在Port group name欄位中鍵入「vSAN-DPortGroup」名稱,以利後續維運管理時進行辨別。在4. Ready to complete頁面中,則確認相關資訊無誤後按下〔Finish〕按鈕。

vDS分佈式虛擬交換器建立完成後,便可以將3台vSAN節點主機加入,以及進行vSAN VMkernel Port遷移作業。在vCenter Server管理介面中,依序點選「Networking > Datacenter > vSAN-DSwitch > Actions > Add and Manage Hosts」選項,在彈出的精靈視窗1. Select task頁面中,選擇「Add hosts」選項後按下〔Next〕按鈕。在2. Select hosts頁面中,將會列出DataCenter中所有的ESXi主機,僅勾選3台vSAN叢集節點主機即可,再按下〔Next〕按鈕。

在3. Manage physical adapters頁面中,本文實作中的每台vSAN叢集節點主機,共配置2張10Gb網路卡,其中vmnic0用於管理和遷移等流量,而vmnic1則配置為專用於vSAN儲存網路,所以在vmnic1的Assign uplink下拉選單中選擇「Uplink1」,當確認選擇vmnic1為Uplink1時,則原有In use by switch欄位值,將從原本的3 hosts / 0 switches轉變為「This switch」,表示vmnic1實體網路卡,已經指派給vDS分佈式虛擬交換器使用。

在4. Manage VMkernel adapters頁面中,將顯示每台vSAN叢集節點主機的VMkernel Port,在本文實作中,每台vSAN叢集節點主機有2個VMkernel Port,vmk0用於管理和遷移用途,而vmk1則是剛才所建立、專用於vSAN儲存流量的VMkernel Port,可以點選vmk1進行再次確認,確認後點選Destination port group欄位中的ASSIGN PORT GROUP文字,系統便會跳至是否將vmk1指派至vDS分佈式虛擬交換器中的vSAN-DPortGroup,按下〔ASSIGN〕確認指派。回到頁面中,vmk1的In use by switch欄位值為「This switch」,而Destination port group欄位則是「vSAN-DPortGroup」,也就是將原本在vSwitch0標準式虛擬交換器中的vSAN VMkernel Port,遷移至vDS分佈式虛擬交換器中的vSAN-DPortGroup,如圖15所示。

圖15  將vSAN VMkernel Port從vSS標準式虛擬交換器遷移至vDS分佈式虛擬交換器。

在5. Migrate VM networking頁面中,因為目前的vSAN超融合叢集中並沒有任何VM虛擬主機網路,所以無須遷移任何VM虛擬主機網路設定,直接按下〔Next〕按鈕。在6. Ready to complete頁面中,則確認相關組態設定資訊,若無誤則按下〔Finish〕按鈕完成組態設定作業。

啟用vSAN ESA超融合叢集

vSAN叢集節點主機和運作環境前置作業完成後,在vCenter Server管理介面,依序點選「vSAN-Cluster > Configure > vSAN > I need a local vSAN datastore > Standard vSAN cluster > Configure」選項。

在彈出的精靈視窗1. vSAN ESA頁面中,首先啟用上方的「vSAN ESA」選項,在這個程序中,系統將進行二個項目的檢查作業,首先是採用的NVMe儲存裝置是否為VMware certified,第二項檢查則是確認vSAN叢集節點主機採用的網路卡傳輸速率,在VMware vSAN最佳建議作法中,專用於vSAN儲存網路的網路卡傳輸速率,建議至少為「25 Gbps」。

在2. Service頁面中,倘若vSAN叢集節點主機採用的網路卡支援RDMA特色功能,記得勾選RDMA support項目。在3. Cliam disks頁面中,因為本文實作採用的NVMe儲存裝置型號尚未取得VMware Certified,所以vSAN ESA Compatible相容性檢查欄位值為「Incompatible」,但是並不影響實作演練的進行,勾選「Cliam」項目表示使用所有vSAN叢集節點主機中的NVMe儲存裝置,勾選後上方便會顯示vSAN Capacity 7.03TB,表示3台vSAN叢集節點主機、共12顆600GB NVMe儲存裝置皆正確無誤宣告給vSAN超融合叢集使用,如圖16所示。

圖16  成功宣告所有NVMe儲存裝置給vSAN超融合叢集使用。

在4. Create fault domains頁面中,採用系統預設值即可。在5. Review頁面中,則確認相關組態設定資訊,若無誤按下〔Finish〕按鈕,完成組態設定作業。

管理人員可以從下方Recent Tasks工作列中看到系統建構vSAN超融合叢集的工作流程,其中Reconfigure vSAN cluster項目是整個建構進度百分比,中間會有許多組態設定程序,例如Reconfigure cluster和Update vSAN configuration,最後則是將每台vSAN叢集節點主機中的NVMe儲存裝置,加入至vSAN ESA超融合叢集中的儲存集區Add disk(s) to storage pool等等工作項目。

當vSAN ESA超融合叢集建構完成後,可以切換至「vSAN-Cluster > Monitor > vSAN > Skyline Health」,查看系統針對vSAN ESA超融合叢集的健康檢查情況,可以看到通過所有的健康檢查項目,如圖17所示。

圖17  順利建構vSAN ESA超融合叢集並通過所有健康檢查項目。

建立VM虛擬主機和vSAN網路測試

順利建構vSAN ESA超融合叢集後,在正式上線營運並提供服務之前,建議採用內建的「主動測試」(Proactive Tests)功能,測試vSAN ESA超融合叢集在建立VM虛擬主機工作負載,以及在vSAN儲存網路方面是否符合需求。

在vCenter Server管理介面中,依序點選「vSAN-Cluster > Monitor > vSAN > Proactive Tests > VM Creation Test > Run Test」,此時系統將會彈出視窗,說明建立VM虛擬主機工作負載測試程序的一些事宜,確認開始測試後按下〔Run〕按鈕。

此時,在下方工作列中可以看到系統自動在每台vSAN叢集節點主機中,建立VM虛擬主機然後再刪除VM虛擬主機。通過測試後,便會在頁面中顯示每台vSAN叢集節點主機的測試情況為success,以及整體測試情況為通過測試的Passed,如圖18所示。接著,展開Network Performance Test項目後,同樣按下〔Run Test〕按鈕進行vSAN儲存網路測試,系統將會彈出視窗,說明vSAN儲存網路測試程序的一些事宜,確認開始測試後按下〔Run〕按鈕。從測試結果中可以看到,vSAN叢集節點主機之間的vSAN儲存網路傳輸速率和測試情況,如圖19所示。

圖18  每台vSAN叢集節點主機皆通過建立和刪除VM虛擬主機工作負載測試。
圖19  每台vSAN叢集節點主機皆通過vSAN儲存網路測試。

<本文作者:王偉任,Microsoft MVP及VMware vExpert。早期主要研究Linux/FreeBSD各項整合應用,目前則專注於Microsoft及VMware虛擬化技術及混合雲運作架構,部落格weithenn.org。>


追蹤我們Featrue us

本站使用cookie及相關技術分析來改善使用者體驗。瞭解更多

我知道了!