簡介
之前,Nutanix University 推出新的線上免費課程,共有下列四堂全新線上免費課程,非常實用,有興趣的朋友參考看看。
NUMA Architecture
在 x86 伺服器中,多 CPU 處理器系統架構中,NUMA(Non-Uniform Memory Access)是影響效能的核心設計。在 Nutanix 運作架構中,每顆 CPU(NUMA Node)皆擁有獨立的記憶體控制器與本地記憶體,形成一個獨立的資源區塊,這樣的設計讓系統能夠水平擴充,但同時也帶來「本地存取」和「遠端存取」的差別。
Local Access(本地端存取): 當 VM 虛擬主機,倘若被排程至某一 NUMA Node,並且其記憶體配置落在該 Node,由於本地端存取的延遲時間最低,效能可以達到最佳化。
Remote Access(遠端存取): 當 VM 虛擬主機,必須跨越不同 NUMA Node 存取記憶體時,因為需要透過 CPU 之間的 Interconnect,所以延遲時間明顯增加,導致未最佳化所以效能較差。
NUMA-aware Scheduling: Nutanix AHV Hypervisor 的 Smart Scheduler 機制,以及 CPU FResource Management 機制,讓 AHV Hypervisor 具備 NUMA-aware 排程能力,能自動將 VM 虛擬主機,儘量配置於單一 NUMA Node,以降低跨越 NUMA Node 存取。
支援 vNUMA: 對於大型 VM 虛擬主機,例如,SQL Server,AHV 支援啟用 vNUMA 機制,讓 Guest OS 能夠感知底層 NUMA 拓撲,進一步最佳化記憶體分配與應用程式效能。
Enabling vNUMA on VMs
在多 NUMA Node 的硬體架構下,若 VM 虛擬主機配置超過單一 NUMA Node 的資源時,例如,vCPU 數量或記憶體,便會觸發跨越 NUMA Node 的記憶體存取,導致執行效能下降。透過 vNUMA(Virtual NUMA)機制,讓 VM 虛擬主機感知底層 NUMA 拓撲,協助作業系統與應用程式最佳化記憶體配置與排程。首先,管理人員必須登入 CVM 後,使用指令「hostssh "numactl --hardware"」,確認 Nutanix 叢集中每台 AHV 的 NUMA 拓撲。
Enable vNUMA if you are creating a VM:
nutanix@cvm$ acli vm.create <vm_name> num_vcpus=x \
num_cores_per_vcpu=x memory=xG \
num_vnuma_nodes=x
Enable vNUMA if you are modifying an existing VM:
nutanix@cvm$ acli vm.update vm_name \
num_vnuma_nodes=x
Disable vNUMA if you are modifying an existing VM:
nutanix@cvm$ acli vm.update vm_name num_vnuma_nodes=0








