前言
醞釀已久的全新 vSphere 7 解決方案,終於在 2020 年 3 月 10 日由 VMware 官方正式發佈。在本文中,我們將討論 vSphere 7 重構後的 vSphere vMotion機制,如何幫助你更快速更穩定的即時遷移 Monster VM。懶得看文字的朋友,就直接看官方的影片說明吧:
- vMotion Improvements in vSphere 7 - YouTube
- Part 1: Introduction to the vMotion process - YouTube
- Part 2: vMotion Memory Copy - Under the Hood - YouTube
- Part 3: vMotion Stream Architecture - YouTube
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 虛擬主機測試結果
參考資源
- vSphere 7 - vMotion Enhancements - VMware vSphere Blog
- The vMotion Process Under the Hood - VMware vSphere Blog
- How to Tune vMotion for Lower Migration Times? - VMware vSphere Blog
- Troubleshooting vMotion - VMware vSphere Blog
- Enhanced vMotion Compatibility (EVC) Explained - VMware vSphere Blog
- vMotion Improvements in vSphere 7 - YouTube
- Part 1: Introduction to the vMotion process - YouTube
- Part 2: vMotion Memory Copy - Under the Hood - YouTube
- Part 3: vMotion Stream Architecture - YouTube