VMware vSphere 6.7 Journey (3) - RDMA


前言

事實上,在前一版 vSphere 6.5 當中便已經開始正式支援 RDMA (Remote Direct Memory Access) 當中的 RoCE (RDMA over Converged Ethernet),以便於達到Kernel Bypass、Zero Copy、CPU Offloading的目的。有關 vSphere 6.5 支援 RDMA 的相關資訊,請參考站內文章 vSphere 6.5 支援 RDMA (RoCE v1 及 RoCE v2)

圖、RDMA 運作示意圖





全面支援 RDMA (InfiniBand / iWARP / RoCE)

在新版 vSphere 6.7 運作環境中,全面支援 RDMA (InfiniBand / iWARP / RoCE) 之外,更增強 vSphere Kernel / Hypervisr / RDMA 之間的協同運作的部分,讓整體運作效能更加提升。
vSphere 6.5 版本中,並支援 InfiniBand iWARP
圖、vSphere 6.7 全面支援 RDMA (InfiniBand / iWARP / RoCE)

值得注意的是,倘若 VM 虛擬主機採用的 RDMA 為「Passthruogh Mode」時,雖然可以得到最大化的運作效能,但是將會限制 VM 虛擬主機的靈活性,例如,無法接受 DRS 自動化機制的調度 (無法 vMotion 至其它 ESXi 主機)。

因此,倘若希望 VM 虛擬主機希望具備 RDMA 的運作效能及靈活性 (例如,DRS / vSphere vMotion……等),應該要採用 PVRDMA (Para-Virtual Remote Direct Memory Access) 機制才對。目前,必須符合下列相關條件才能順利運作 PVRDMA 功能 (詳細資訊請參考官網資訊 VMware Docs - PVRDMA Support)
  • 採用 vSphere ESXi 6.5 或 6.7 / vCenter Server 6.5 或 6.7。
  • 採用 vDS (vSphere Distributed Switch)。
  • VM 虛擬主機必須採用 Virtual Hardware Version 13 或 14。

此外,當 VM 虛擬主機採用 vRDMA 機制時,在資料傳輸上大約會有下列圖解 3 種情境:
  • Memcpy: 當 VM 虛擬主機之間在「同一台」ESXi Host 時。
  • RDMA: 當 VM 虛擬主機之間跨越「不同台」ESXi Host 時。
  • TCP: 當 VM 虛擬主機之間跨越「不同台」ESXi Host,且其中一台 ESXi Host 安裝支援 RDMA 介面卡時。
圖、vRDMA 資料傳輸情境





支援 iSER

在新版 vSphere 6.7 運作環境中,除了全面支援 RDMA (InfiniBand / iWARP / RoCE) 之外,還新增支援 iSER (iSCSI Extension for RDMA) 機制。

簡單來說,透過整合 RDMA 的 iSER 機制,可以讓 iSCSI 傳輸作業從傳統的 TCP Transport Protocol 改為 RDMA Transport,進而降低 ESXi Host 的 CPU 工作負載,同時還能支援全面的 iSCSI 管理功能,例如,Discovery、Naming、Security、Error-Recovery、Boot……等。

圖、iSER 運作架構示意圖

圖、iSER 將的建立 2 個邏輯裝置 (vmnic / vmrdma)





vSAN 6.7 是否支援 RDMA?

雖然,在新版 vSphere 6.7 運作環境中已經全面支援 RDMA。但是,在 VMware vSAN 6.7 Release Notes 當中,並沒有看任何支援 RDMA 技術的相關說明? 下一版將開始支援,詳細資訊請參考 VMworld US 2018 - HCI2476BU - Tech Preview: RDMA and Next-Gen Storage Technologies for vSAN





參考資源






VMware vSphere 6.7 攻略 - 系列文章