On 11/21/2016 12:34 PM, Amir Shehata wrote:
Hello,
Hope all is well.
I've been looking at how I can create a virtual machine which is NUMA
capable. I was able to do that by:
140 <qemu:commandline>
143 <qemu:arg value='-numa'/>
144 <qemu:arg value='node'/>
145 <qemu:arg value='-numa'/>
146 <qemu:arg value='node'/>
147 </qemu:commandline>
qemu commandline passthrough should only be used for qemu features that
libvirt doesn't support directly (and even then it's only intended as a
temporary stopgap until the feature gains official libvirt support).
NUMA has been supported by libvirt for quite a long time.
If you open
http://www.libvirt.org/formatdomain.html and search for
"numa" you'll find descriptions of the configuration for defining NUMA
memory regions, and assigning particular CPUs to particular nodes. The
is also a small bit about defining a pci-expander-bus (a type of pci
controller) and tying it to a particular NUMA node - this is how you can
place a guest device on a particular NUMA node; just assign the device
a PCI address that has the given pci-expander-bus' "index" as its
"bus"
attribute.
This creates two NUMA nodes.
Now I would like to assign my virtual network interfaces, of which I
have three, to the different NUMA nodes on the VM.
Anyone know how I can do that? Any help/pointers would be much
appreciated.
I'm trying to create a VM that will enable me to test a NUMA based
feature.
The one thing I'm unclear about is whether the guest can be setup with
NUMA nodes when the host itself doesn't have multiple NUMA nodes...