vSphere 6.5 及更新版本支援在具有半虛擬化 RDMA (PVRDMA) 網路介面卡的虛擬機器之間 進行遠端直接記憶體存取 (RDMA) 通訊。
RDMA 概觀
RDMA 允許從一台電腦的記憶體到另一台電腦的記憶體進行直接記憶體存取,而不涉及作業系統或 CPU。記憶體的傳輸將卸載至具備 RDMA 功能的主機通道介面卡 (HCA)。PVRDMA 網路介面卡在虛擬環境中提供遠端直接記憶體存取。
在 vSphere 中使用 RDMA
在 vSphere 中,虛擬機器可以使用 PVRDMA 網路介面卡與具有 PVRDMA 裝置的其他虛擬機器通訊。虛擬機器必須連線至相同的 vSphere Distributed Switch。
PVRDMA 裝置會自動選取虛擬機器之間的通訊方式。對於在相同 ESXi 主機上執行並且有或沒有實體 RDMA 裝置的虛擬機器,兩台虛擬機器之間的資料傳輸是透過記憶體複製完成的。在此情況下,未使用實體 RDMA 硬體。
對於位於不同 ESXi 主機並且具有實體 RDMA 連線的虛擬機器,實體 RDMA 裝置必須為 Distributed Switch 的上行。在此情況下,虛擬機器之間透過 PVRDMA 的通訊會使用基礎實體 RDMA 裝置。
對於在不同 ESXi 主機上執行的兩台虛擬機器,當至少一台主機沒有實體 RDMA 裝置時,通訊會回復到以 TCP 為基礎的通道,並且效能會降低。