vSphere 7 - 重構後的 vSphere vMotion 即時遷移機制



前言

醞釀已久的全新 vSphere 7 解決方案,終於在 2020 年 3 月 10 日由 VMware 官方正式發佈。在本文中,我們將討論 vSphere 7 重構後的 vSphere vMotion 機制,如何幫助你更快速更穩定的即時遷移 Monster VM


懶得看文字的朋友,就直接看官方的影片說明吧:



vMotion 演進歷史

首先,對於 VMware vSphere 技術稍微熟悉的朋友,相信對於 vSphere vMotion 技術不陌生才對。因此,vMotion 這個技術名詞,其實已經變成是「線上遷移 VM 虛擬主機」的代名詞了。

從 vSphere vMotion 演進歷史圖中可以看到,每一次重大改版的 vSphere 版本中,對於 vMotion 都有不同面向的功能增強。例如,在 vSphere 6.0 時支援跨 vCenter Server 進行 VM 虛擬主機 vMotion 的動作,在 vSphere 6.5 時支援啟用加密機制的 VM 虛擬主機進行 vMotion。

圖、vSphere vMotion 演進歷史



線上遷移大型 VM 虛擬主機的挑戰 ?

隨著企業和組織,不斷將重要的營運服務運作在 VMware vSphere 虛擬化平台中,大型運作規模 VM 虛擬主機 (常常稱為 Monster VM) 的數量也不斷成長,並且為了確保 vSphere vMotion 即時遷移機制,能夠更適合新興的應用方式等多方考量。

因此,VMware 官方整個重構 vSphere vMotion 即時遷移機制,確保在 vSphere 7 運作環境中線上遷移這種大型運作規模 VM 虛擬主機時,能夠避免「切換時間過長」或「效能下降」等影響。

舉例來說,對於 SAP HANA 或 Oracle 資料庫這種大型規模的 VM 虛擬主機,透過傳統的 vSphere vMotion 即時遷移機制進行搬移 (採用 Memory Pre-Copy Optimizations 機制),由於大型規模 VM 虛擬主機龐大的 vCPU 和記憶體空間,並且「頁面追蹤」(Page Tracing)機制是套用在所有 vCPU,同時採用「4 KB Pages」小型資料區塊傳輸 vRAM 虛擬記憶體空間,結果就是除了可能造成 vMotion 遷移時間過長的情況外,也有可能影響應用程式的運作。

圖、傳統 vSphere vMotion 即時遷移頁面追蹤技術示意圖



重構 vSphere 7 vMotion 運作架構

重構後的 vSphere 7 vMotion 運作架構 (採用 Loose Page Trace Install 機制),能夠有效解決大型運作規模 VM 虛擬主機即時遷移的難題。首先,在 vCPU 虛擬處理器運算資源遷移的部份採用「專用」(Dedicated)的頁面追蹤機制,確保進行 vMotion 遷移時不會影響應用程式的運作。

圖、重構後的 vSphere vMotion 即時遷移頁面追蹤技術示意圖

圖、重構後的 vSphere vMotion 即時遷移頁面追蹤技術與舊版相比示意圖

在 vRAM 虛擬記憶體遷移的部份,改為採用「1 GB Pages」資料區塊進行傳輸並搭配其它最佳化機制,例如,Memory Pre-Copy、Switchover……等。舉例來說,在過去舊版的 vSphere 環境中,遷移 24 TB vRAM 虛擬記憶體空間需要 768 MB Bitmap,預計遷移時間需要花費「2 秒鐘」,重構後的 vSphere vMotion 則僅需要「175 毫秒」即可完成,確保大型規模 VM 虛擬主機切換至不同 ESXi 主機時,能夠由幾秒鐘的時間縮短至幾毫秒。

圖、重構後的 vSphere vMotion 切換 ESXi 主機時間由幾秒鐘縮短至幾毫秒

在 VMware 官方測試結果中,採用安裝 Oracle 資料庫的 VM 虛擬主機,配置「72 vCPU 和 512 GB vRAM」大型規模虛擬硬體資源,然後採用傳統 vSphere vMotion 和重構後的 vSphere vMotion,遷移 Oracle 虛擬主機,並在遷移期間透過 Hammer DB 模擬工作負載。簡單來說,重構後的 vSphere vMotion 除了更快速遷移完成之外 (切換時間保持在 1 秒以內) ,在遷移期間 Oracle 資料庫的 Commits 數量相較於舊版 vMotion 也高出許多 (至少縮短 20 秒以上的遷移時間)。

圖、傳統和重構後的 vSphere vMotion 遷移大型 VM 虛擬主機測試結果

圖、傳統和重構後的 vSphere vMotion 遷移大型 VM 虛擬主機測試結果



參考資源