Initial Configurations for Virtual Machines when considering NUMA Nodes
Posted on 2014-10-27
I am brand new to virtualization so this will be a bit of a long winded question. I've been doing a lot of reading of previous questions here on EE and I am still a bit confused regarding the best configuration to use for my VMs when considering NUMA Nodes.
I am using ESXi 5.5 and have not yet purchased any other VMware products so I'm just using the vSphere Client to configure the VMs. My host has 2-10 core processors with HT, so the vSphere Client is showing 40 logical processors. I also have 256 GB of RAM. It appears that I have two NUMA nodes, each with 20 logical processors and 128 GB of RAM. From everything I've been able to understand, I should configure my VMs as a variant of the 20 logical processors per NUMA node. So I can have 1, 2, 4, 5, 10, or 20 virtual processors. I am limited to 8 vCPU per VM due to using the free version of ESXi 5.5 and don't have a need to have more than 8 vCPU anyway. I've also read that I should just plan for one or two vCPU and then monitor performance and only add another vCPU if the performance requires it.
Question #1: Is my understanding of how the processors and memory are associated with the NUMA nodes correct?
Question #2: If a VM's performance does require another vCPU, is my thinking correct that I should only use 2 vCPU or 4 vCPU and not 3 vCPU due to degraded performance?
Question #3: I haven't read anything that outlines how you should allocate memory to your VM when considering NUMA nodes. Is there something that outlines the best approach when it comes to RAM?
Question #4: I'm planning on creating six VMs initially. Does the total number of vCPUs and memory, when added together, matter with regard to NUMA nodes, or does ESXi take care of balancing the VMs with respect to those nodes? I'm aware that you can direct what node the VM should access but I'm thinking you leave it as "No Affinity" and let ESXi do the work.
Thank you for any assistance you can provide.