Changes

stoney cloud: Nested virtualization

1,515 bytes added, 13:57, 24 December 2013
/* Setup */
* https://docs.google.com/file/d/0BzyAwvVlQckedmpobUY1Sm0zNWc/edit
For Intel CPUs we are going to enable [http://www.spinics.net/lists/kvm/msg87634.html Shadow VMCS] which requires a sufficiently new CPU, otherwise it gets ignored. This should give some performance increase, disable it if it causes problems.
== Setup ==
=== Intel ===
Login as root, then execute the following:
<source lang='bash'>
cat > /etc/modprobe.d/nested-virtualization.conf << EOF
options kvm-intel nested=Y enable_shadow_vmcs=Y
EOF
</source>
Login as root, then execute the following and You either have to reboot (or <code>rmmod/modprobe</code> the corresponding modules module if no VM is running). For example: rmmod kvm_intel modprobe kvm_intel
=== AMD ===
Login as root, then execute the following:
<source lang='bash'>
cat > /etc/modprobe.d/nested-virtualization.conf << EOF
options kvm-intel nested=1options kvm-amd nested=1Y
EOF
</source>
 
You either have to reboot or <code>rmmod/modprobe</code> the corresponding module if no VM is running. For example:
rmmod kvm_amd
modprobe kvm_amd
 
== VM configuration ==
 
The following is largely untested, therefore this is more an instruction on how to figure out what the correct setting is. (hint: remove this line and update the configuration below if you have figured it out)
 
First try to start any VM and execute the following '''inside a Linux guest''' to see whether virtualization is available:
 
<source lang='bash'>
grep vmx /proc/cpuinfo
</source>
 
If there is support, the output should be something like this:
 
<pre>
flags : [...] vmx [...]
</pre>
 
If it does not get enabled automatically by libvirt as soon as the hypervisor supports nested virtualization (it should, though), you have to change to XML description of the VM. To that end, use <code>virsh edit</code> on the node after having it defined it and replace the lines:
 
<source lang='xml'>
<cpu mode='host-model'>
<model fallback='allow'/>
</cpu>
</source>
 
with
 
<source lang='xml'>
<cpu mode='host-model'>
<model fallback='allow'/>
<feature policy='require' name='vmx'/>
</cpu>
</source>
[[Category:stoney cloud]][[Category:Installation]]
SLB, editor, reviewer
3,368
edits