網管人雜誌
本文刊載於 網管人雜誌第 190 期 - 2021 年 11 月 1 日出刊,NetAdmin 網管人雜誌 為一本介紹 Trend Learning 趨勢觀念、Solution Learning 解決方案、Technology Learning 技術應用的雜誌,下列筆記為本站投稿網管人雜誌獲得刊登的文章,網管人雜誌於每月份 1 日出刊您可於各大書店中看到它,或透過城邦出版人讀者服務網進行訂閱。本文目錄
前言
從 VMware vSphere 7 版本開始,VMware 官方便公佈後續版本的發佈週期為「6 個月」。最新的 vSAN 7 Update 2 版本,已經在 2021 年 3 月正式發佈,與 vSphere 7 Update 2 相同的是,雖然看似為小版本更新,但是實際上在整個 vSAN 超融合叢集運作架構中,除了原本特色功能的提升之外,更新增許多亮眼特色新功能,幫助企業和組織打造更穩定和強大的 vSAN 超融合叢集基礎架構。
舉例來說,過去版本的 vSAN 超融合叢集環境,無法在小型規模的 2-Nodes vSAN 叢集,以及中大型規模的「延伸叢集」(Stretched Cluster)中,整合新增的 vSAN File Services 特色功能。現在,最新版本的 vSAN 7 Update 2,無論 2-Nodes vSAN 叢集或延伸叢集,都已經完全整合並支援 vSAN File Services 特色功能(如圖 1 所示)。
圖 1、新版 vSAN 7 Update 2 延伸叢集支援 File Services 功能運作架構示意圖
vSAN 7 Update 2 亮眼特色功能
正式支援 RDMA 低延遲機制
事實上,從 vSphere 6.7 版本開始,VMware 官方便開始逐漸支援各種 RDMA 的應用情境。然而,透過 vSAN 技術所搭建 HCI 超融合基礎架構環境中,影響 VM 虛擬主機儲存效能關鍵的 vSAN 網路流量,卻遲遲尚未正式支援 RDMA 低延遲機制,仍然採用傳統的 TCP/IP 進行 vSAN 網路流量的傳輸作業。
現在,最新的 vSAN 7 Update 2 版本,已經正式支援 RoCE(RDMA over Converged Ethernet)中 RoCE v1 和 RoCE v2 版本,簡單來說,RoCE v1 版本屬於 Layer 2 資料連結層級,而 RoCE v2 版本則為 Layer 3 支援路由機制的網路層級(如圖 2 所示)。
請注意,目前僅支援 RDMA 中整合 UDP 協定的 RoCE 技術,尚未支援整合 TCP 協定的 iWARP(Internet Wide-area RDMA Protocol)技術。
圖 2、RDMA 運作架構示意圖
因此,和過去採用傳統 TCP/IP 的 vSAN 叢集相較之下,採用 RDMA 技術的 vSAN 超融合叢集,更能提供低延遲高吞吐量和高 IOPS 儲存效能,同時還能有效降低每個讀取和寫入的 I/O 操作,導致 vSAN 節點主機 CPU 運算資源的額外開銷。
原則上,在 vSAN 超融合叢集架構中,vSAN 節點主機只要配置支援 RoCE v2 的 RDMA 網路卡 (如圖 3 所示),並且搭配支援 RoCE v2 的網路交換機,即可在 vSphere Client 管理介面中,一次性針對所有的 vSAN 節點主機網路功能啟用 RDMA support 機制(如圖 4 所示),倘若有 vSAN 節點主機 RDMA 運作異常,導致 RDMA 無法順利運作時,則 vSAN 叢集會自動恢復成原有傳統的 TCP/IP 網路進行傳輸。
啟用 RDMA 機制後,管理人員可在 Skyline Health 中,透過 RDMA Configuration Health 項目,查看 RDMA 機制的健康情況。
圖 3、為 vSAN 節點主機配置支援 RoCE 技術的 RDMA 網路卡
圖 4、一次性針對所有的 vSAN 節點主機網路功能啟用 RDMA support 機制
共享式 vSAN Datastore 儲存資源
在前一版 vSAN 7 Update 1 版本中,vSAN HCI Mesh 僅支援 Server Cluster 和 Client Cluster 機制,也就是只能在不同的 vSAN 超融合叢集之間,互相使用對方的 vSAN Datastore 儲存資源(如圖 5 所示),而企業和組織資料中心內,原有已經建置的傳統 vSphere 叢集,則無法享受 vSAN HCI Mesh 技術所帶來的好處。
圖 5、在 vSAN 7 Update 1 版本中,僅支援 Server Cluster 和 Client Cluster 機制
現在,新版 vSAN 7 Update 2 運作架構中,除了原有 Server Cluster 和 Client Cluster 支援度增強以外,更支援整合傳統 vSphere 叢集,也能使用遠端 vSAN Datastore 儲存資源。簡單來說,傳統 vSphere 叢集可以將遠端 vSAN Datastore 儲存資源,當成過去連接和掛載傳統硬體儲存設備一樣,不同的是能夠充分享受到 vSAN 儲存原則的優點,讓 VM 虛擬主機能夠使用傳統 vSphere 叢集的運算資源,在儲存資源方面則是套用具備彈性的 vSAN 儲存原則(如圖 6 所示)。
HCI Mesh Compute Cluster 只須購買傳統的 vSphere 軟體授權,無須額外購買 vSAN 軟體授權,便能直接使用遠端 vSAN Datastore 儲存資源。
圖 6、vSAN HCI Mesh Compute Cluster 整合 vSAN 儲存原則示意圖
網路流量監控再升級
隨著 vSAN 超融合叢集功能不斷提升,除了支援 RDMA 低延遲技術之外,新版 vSAN HCI Mesh 機制,更讓傳統 vSphere 叢集也能直接使用 vSAN Datastore 儲存資源。可想而知,這一切都必須仰賴良好且穩定和高速傳輸的網路環境,倘若網路環境不理想時,輕者可能造成 VM 虛擬主機運作效能不佳,嚴重時則可能會不當觸發 vSphere HA 中的 Datastore with APD 機制,導致 VM 虛擬主機發生非預期的關機或重新啟動事件。
因此,在 vSAN 7 Update 2 版本中,針對網路流量監控的部份新增多項指標和檢查機制,例如,CRC error、transmit error、receive error、ARP drops、TCP zero frames……等監控指標和檢查機制(如圖 7 所示),幫助管理人員更快速找出網路環境中出問題的環節在哪裡。
有關上述監控指標和檢查機制的詳細資訊,請參考 VMware KB2144493 知識庫文章內容。
圖 7、新增多項指標和檢查機制,幫助管理人員更快速找出問題環節
這些新增的監控指標,除了隨時顯示在效能圖表當中方便查找,並讓管理人員可以匯出各種格式製作異常報告之外,更能針對各項異常的監控指標建立告警門檻值(如圖 8 所示),以便網路傳輸異常數據升高超過設定的門檻值時,自動觸發告警機制通知管理人員即時進行處理。
目前,效能圖表支援匯出的格式有 JPEG、PNG、SVG、CSV 等四種格式。
圖 8、針對各項異常的監控指標建立告警門檻值
不斷增強的 Stretched Cluster
隨著 vSAN 超融合叢集功能不斷演進,「延伸叢集」(Stretched Cluster)功能同樣也不斷增強。在新版 vSAN 7 Update 2 運作環境中,除了延伸叢集中主要站台和次要站台,每個站台支援最多擴充至 20 台 vSAN 節點主機的規模之外,延伸叢集已經完整支援 vSphere DRS 負載平衡機制。
由於延伸叢集的架構複雜性,除了必須考慮各種故障情況之外,還必須考慮災難復原後的最佳運作機制。現在,新版 vSAN 7 Update 2 將「資料放置」(Data Placement)機制,與 vSphere DRS 負載平衡機制完全整合,以便延伸叢集發生災難事件並修復完成後,vSphere DRS 能夠先將 VM 虛擬主機保持在同一個站台,直到所有物件和資料已經重新同步完成之後,才透過 vSphere DRS 的負載平衡規則,將 VM 虛擬主機遷移至適當的站台,確保物件和資料在重新同步期間,不會進行無謂的 VM 虛擬主機負載平衡作業,有效減少不同站台之間跨 ISL(Inter-Site Link)的讀取操作,並讓物件和資料重新同步時間大幅縮短(如圖 9 所示)。
圖 9、新版 vSAN 7 Update 2 延伸叢集整合 vSphere DRS 運作架構示意圖
實戰 – vSAN HCI Mesh
在開始實戰演練 vSAN HCI Mesh 運作環境之前,先了解運作 vSAN HCI Mesh 的環境需求和相關限制,避免後續實作時未滿足需求或踩到限制而遭遇到非預期的錯誤。
首先,在「Client Cluster」和「Server Cluster」的部份,分別支援最多「5個」vSAN Datastore 儲存資源(如圖 10 所示)。連接 vSAN Datastore 儲存資源主機數量的部份,在 vSAN 7 Update 1 版本時最多支援 64 台 vSAN 節點主機,在新版 vSAN 7 Update 2 版本中,提升至最多支援「128 台」vSAN 節點主機。
「使用」遠端 vSAN Datastore 儲存資源的叢集稱為 Client Cluster,「提供」本地端 vSAN Datastore 儲存資源給遠端叢集使用稱為 Server Cluster。
圖 10、vSAN HCI Mesh 和 Server Cluster 及 Client Cluster 架構支援度示意圖
值得注意的是,套用於 VM 虛擬主機的「儲存原則」(Storage Policy),必須以 Server Cluster 採用的 vSAN 儲存原則為準(如圖 11 所示),而非使用遠端 vSAN Datastore 儲存資源的 Client Cluster 進行套用,舉例來說,VM 虛擬主機套用 RAID-6 FTT=2 的儲存原則時,代表 Server Cluster 叢集中至少包含 6 台以上的 vSAN 節點主機。
圖 11、vSAN HCI Mesh 整合 vSAN 儲存原則運作架構示意圖
暫時停用 vSphere HA
在組態設定 vSAN HCI Mesh 機制之前,建議先將 vSAN 叢集中的 vSphere HA 高可用性機制暫時停用(如圖 12 所示),以避免在組態設定過程中不慎觸發 vSphere HA 高可用性機制,產生非預期的高工作負載量,並可能中斷和影響 VM 虛擬主機中持續運作的服務或應用程式。
圖 12、暫時停用 vSphere HA 高可用性機制,避免組態設定 vSAN HCI Mesh 機制時影響穩定性
專屬的 vSAN VMkernel Port
在 vSAN HCI Mesh 運作架構中,無論採用 Server Cluster 或 Client Cluster 或者 Compute Cluster,建議管理人員都必須為這些 vSAN 節點主機或 ESXi 主機,組態設定專用於連接和掛載用途,遠端 vSAN Datastore 儲存資源的 vSAN VMkernel Port 。
vSAN HCI Mesh 架構的跨叢集流量為「RDT over TCP/IP」,和原有傳統 vSAN 叢集的網路流量,採用近乎完全相同的 TCP/IP 網路協定堆疊架構。
由於 vSAN HCI Mesh 為跨叢集架構,建議部署 NIC Teaming 容錯機制,採用專屬的 vDS Switch 分佈式交換器,並搭配 NIOC 網路流量管理機制之外,為了避免因為跨叢集之間的網路延遲,影響 VM 虛擬主機運作效能,至少應採用 10 Gbps 網路卡建議則是 25 Gbps 網路卡。
當網路延遲時間超過 5 ms 時,將會觸發系統的告警機制。
此外,除了原有建議採用的 Layer 2 資料連結層之外,也支援 Layer 3 具備路由機制的網路層。因此,管理人員在新增專屬用於 vSAN HCI Mesh 的 VMkernel Port 時,可以勾選「override default gateway for this adapter」項目,並指定所要採用的預設閘道 IP 位址,即可支援 Layer 3 具備路由機制的網路層(如圖 13 所示)。
從 vSAN 7 Update 1 版本開始,便支援 vSAN HCI Mesh 整合 Layer 3 具備路由機制的網路層。
圖 13、組態設定 vSAN HCI Mesh 專屬 VMkernel Port 時,啟用 Layer 3 路由機制
掛載遠端 vSAN Datastore 儲存資源
在本文實作環境中,除了 vCenter Server 管理用途專用的「MGMT-Cluster」之外,還建立二個 vSAN 超融合叢集,分別是「vSAN-Cluster-A」和「vSAN-Cluster-B」(如圖 14 所示),建立的 vSAN Datastore 儲存資源,分別為「vsanDatastore-A」和「vsanDatastore-B」。
圖 14、管理用途叢集和 vSAN 超融合叢集運作環境示意圖
當 vSAN 叢集環境部署完成後,依序點選「Datacenter > vSAN Cluster > Configure > vSAN > Remote Datastores」,即可看到 vSAN Datastore 儲存資源相關資訊,在目前的 vSAN-Cluster-A 叢集中,可以看到只有本地端的「vsanDatastore-A」儲存資源(如圖 15 所示)。
請注意,部署的 vSAN 叢集環境必須為 vSAN 7 Update 1 和後續版本,才能在 vSAN 叢集設定中看到「Remote Datastores」組態設定子項目。
圖 15、準備連接和掛載遠端 vSAN Datastore 儲存資源
確認無誤後,按下「Mount Remote Datastore」連結,系統將會彈出 Select datastore 視窗,在本文實作環境中,請選擇另一個 vSAN 叢集「vSAN-Cluster-B」的儲存資源「vsanDatastore-B」後(如圖 16 所示),按下 Next 鈕繼續 Client Cluster 組態設定流程。
請注意,目前 vSAN HCI Mesh 運作機制,尚未支援跨不同 vCenter Server 管理主機,因此系統僅會顯示受到同一台 vCenter Server 所管理的其它 vSAN 叢集。
圖 16、選擇準備連接和掛載的遠端 vSAN 叢集儲存資源
在 Check compatibility 頁面中,系統將會針對上一個步驟選擇的遠端 vSAN Datastore 儲存資源,進行多個項目的相容性檢查(如圖 17 所示),例如,遠端 vSAN Datastore 儲存資源是否為支援格式的版本、vSAN 叢集是否已經達到 5 個 Client Cluster 的掛載上限……等,確保能夠順利掛載和使用選擇的遠端 vSAN Datastore 儲存資源。
倘若 vSAN 節點主機「停用 IPv6」網路堆疊,那麼系統將無法進行相容性檢查作業,並且顯示「Failed to run the remote datastore mount pre-checks」錯誤訊息。
圖 17、通過系統相容性檢查,確保順利掛載和使用遠端 vSAN Datastore 儲存資源
至此,管理人員可以在 Remote Datastore 視窗中,看到多出「vsanDatastore-B」儲存資源(如圖 18 所示),並且 Server Cluster 為提供遠端 vSAN 儲存資源的「vSAN-Cluster-B」叢集,而 Client Cluster 則是使用遠端 vSAN 儲存資源的「vSAN-Cluster-A」叢集。
圖 18、vSAN-Cluster-A 叢集順利掛載遠端 vSAN-Cluster-B 儲存資源
同樣的,管理人員可以為 vSAN-Cluster-B 叢集,組態設定使用 vSAN-Cluster-A 叢集儲存資源。此時二個 vSAN 叢集的角色將互相對換,多出「vsanDatastore-A」儲存資源(如圖 19 所示),並且 Server Cluster 為提供遠端 vSAN 儲存資源的「vSAN-Cluster-A」叢集,而 Client Cluster 則是使用遠端 vSAN 儲存資源的「vSAN-Cluster-B」叢集。
圖 19、vSAN-Cluster-B 叢集順利掛載遠端 vSAN-Cluster-A 儲存資源
完成 vSAN HCI Mesh 的組態設定作業後,管理人員可以重新啟用 vSphere HA 高可用性機制。值得注意的是,在啟用 vSphere HA 高可用性機制時,因為整合 HCI Mesh 機制的 vSAN 叢集並非一般普通叢集。簡單來說,當本地端 vSAN 叢集和遠端 vSAN 叢集之間連線發生失敗時,將會讓 VM 虛擬主機受到影響,進而觸發「所有路徑關閉」(All Paths Down,APD)機制。
因此,管理人員應該在啟用 vSphere HA 高可用性機制時,調整 Datastore with APD 組態設定值,在一般 vSAN HCI Mesh 運作環境中,建議採用「Power off and restart VMs – Conservative restart policy」選項即可(如圖 20 所示)。
圖 20、啟用 vSphere HA 高可用性機制並組態設定 Datastore with APD
遷移 VM 虛擬主機
部署 vSAN HCI Mesh 架構後,管理人員可以接著測試遷移 VM 虛擬主機資源,例如,將運算資源和儲存資源拆開在不同的叢集,或者直接遷移運算和儲存資源至另一個叢集。首先,在 vSAN-Cluster-A 叢集中,分別建立 VM-A01 和 VM-A02 虛擬主機,並且配置使用本地端的 vSAN Datastore 儲存資源(如圖 21 所示)。
圖 21、建立 VM-A01 和 VM-A02 虛擬主機,並使用本地 vSAN Datastore 儲存資源
在稍後的線上遷移工作任務中,測試將 VM-A01 虛擬主機的運算和儲存資源拆開,讓 VM-A01 虛擬主機使用 vSAN-Cluster-B 的運算資源,但是儲存資源則維持使用原本 vSAN-Cluster-A 的 vsanDatastore-A 。至於 VM-A02 虛擬主機,則將運算和儲存資源都遷移至 vSAN-Cluster-B 叢集。
管理人員在點選 VM-A01 虛擬主機的 Migrate 項目後,於彈出的 Select a migration type 視窗中,選擇「Change compute resource only」項目,在 Select a compute reousrce 頁面中,選擇 vSAN-Cluster-B 叢集中的 vSAN 節點主機,並確保下方相容性檢查結果為「Compatibility checks succeeded」,其它則和傳統 vMotion 線上遷移 VM 虛擬主機流程相同。
當 vMotion 線上遷移流程執行完畢後,管理人員可以看到 VM-A01 虛擬主機,在運算資源方面使用 vSAN-Cluster-B 叢集,至於儲存資源方面則是整合 vSAN HCI Mesh 機制,使用原有 vSAN-Cluster-A 的 vsanDatastore-A 儲存資源(如圖 22 所示)。
圖 22、整合 vSAN HCI Mesh 機制將 VM-A01 虛擬主機運算和儲存資源拆開
同樣的,點選 VM-A02 虛擬主機的 Migrate 項目後,在彈出的 Select a migration type 視窗中,選擇「Change both compute resource and storage」項目,在 Select a compute reousrce 頁面中,選擇 vSAN-Cluster-B 叢集中的 vSAN 節點主機,並在 Select storage 頁面中選擇「vsanDatastore-B」儲存資源,其它則和傳統 vMotion 遷移 VM 虛擬主機流程相同。
當 vMotion 遷移流程執行完畢後,管理人員可以看到 VM-A02 虛擬主機,在運算資源方面使用 vSAN-Cluster-B 叢集,至於儲存資源方面則從原本 vSAN-Cluster-A 的 vsanDatastore-A 儲存資源,遷移至 vSAN-Cluster-B 的 vsanDatastore-B 儲存資源(如圖 23 所示)。
目前,尚未支援 VM 虛擬主機儲存資源跨 vSAN Datastore,舉例來說,VM 虛擬主機配置二顆硬碟,管理人員無法設定第一顆硬碟存放在 vsanDatastore-A,而第二顆硬碟存放在 vsanDatastore-B 儲存資源。
圖 23、同時遷移 VM-A02 虛擬主機的運算和儲存資源
部署 vSAN HCI Mesh Compute Cluster
在本文實作環境中,建立一個傳統的 vSphere 叢集,並準備掛載和使用遠端 vSAN Datastore 儲存資源。請在 vSphere Client 管理介面中,依序點選「Datacenter > vSphere Cluster > Configure > vSAN > Services > Configure vSAN」項目,在彈出的 Select vSAN configuration 視窗中,選擇「vSAN HCI Mesh compute cluster」項目(如圖 24 所示),在 Review 頁面中確認無誤後按下 Finish 鈕完成組態設定作業。
圖 24、準備為傳統 vSphere 叢集啟用 vSAN HCI Mesh Compute Cluster 功能
順利啟用 vSAN HCI Mesh Compute Cluster 功能後,便會在 vSAN 組態設定選項中,出現 Remote Datastores 子項目,管理人員便能執行掛載遠端 vSAN Datastore 儲存資源的工作任務,與之前組態設定的操作步驟相同,連接和掛載遠端「vsanDatastore-A」和「vsanDatastore-B」儲存資源(如圖 25 所示)。
圖 25、傳統 vSphere 叢集連接和掛載遠端 vSAN Datastore 儲存資源
部署或遷移 VM 虛擬主機儲存資源
現在,傳統 vSphere 叢集無論部署新的 VM 虛擬主機,或現有 VM 虛擬主機需要執行 Storage vMotion 工作任務,遷移 VM 虛擬主機的儲存資源時,都能選擇已經連接和掛載完成的遠端 vSAN Datastore 儲存資源,並且套用具備彈性的 vSAN 儲存原則。
在本文實作環境中,於傳統 vSphere 叢集「vSphere-Cluster」中,部署一台 VM-C 虛擬主機並在選擇儲存資源時,選擇已經掛載完成的遠端 vSAN Datastore 儲存資源「vsanDatastore-A」,當 VM-C 虛擬主機部署完成後,管理人員即可查看 VM-C 虛擬主機採用的 vSAN 儲存原則(如圖 26 所示),以及 VM 虛擬主機的 vSAN 儲存物件分佈情況,再次達成 VM 虛擬主機運算和儲存資源拆開的目的。
圖 26、將傳統 vSphere 叢集中的 VM 虛擬主機運算和儲存資源拆開
結語
透過本文的深入剖析和實戰演練後,相信管理人員理解 vSAN HCI Mesh 運作架構,以及環境需求和相關限制之後,能夠輕鬆部署 vSAN HCI Mesh 機制,將 vSAN 超融合叢集和傳統 vSphere 叢集進行整合,達到將 VM 虛擬主機或容器的工作負載,有效分配運算資源和儲存資源達到資源使用最大化的目標。