A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://docs.openstack.org/devstack/latest/guides/devstack-with-nested-kvm.html below:

Configure DevStack with KVM-based Nested Virtualization — DevStack documentation

Configure DevStack with KVM-based Nested Virtualization¶

When using virtualization technologies like KVM, one can take advantage of “Nested VMX” (i.e. the ability to run KVM on KVM) so that the VMs in cloud (Nova guests) can run relatively faster than with plain QEMU emulation.

Kernels shipped with Linux distributions doesn’t have this enabled by default. This guide outlines the configuration details to enable nested virtualization in KVM-based environments. And how to setup DevStack (that’ll run in a VM) to take advantage of this.

Nested Virtualization Configuration¶ Configure Nested KVM for Intel-based Machines¶

Procedure to enable nested KVM virtualization on Intel-based machines.

Check if the nested KVM Kernel parameter is enabled:

cat /sys/module/kvm_intel/parameters/nested
N

Temporarily remove the KVM intel Kernel module, enable nested virtualization to be persistent across reboots and add the Kernel module back:

sudo rmmod kvm-intel
sudo sh -c "echo 'options kvm-intel nested=y' >> /etc/modprobe.d/dist.conf"
sudo modprobe kvm-intel

Ensure the Nested KVM Kernel module parameter for Intel is enabled on the host:

cat /sys/module/kvm_intel/parameters/nested
Y

modinfo kvm_intel | grep nested
parm:           nested:bool

Start your VM, now it should have KVM capabilities – you can verify that by ensuring /dev/kvm character device is present.

Configure Nested KVM for AMD-based Machines¶

Procedure to enable nested KVM virtualization on AMD-based machines.

Check if the nested KVM Kernel parameter is enabled:

cat /sys/module/kvm_amd/parameters/nested
0

Temporarily remove the KVM AMD Kernel module, enable nested virtualization to be persistent across reboots and add the Kernel module back:

sudo rmmod kvm-amd
sudo sh -c "echo 'options kvm-amd nested=1' >> /etc/modprobe.d/dist.conf"
sudo modprobe kvm-amd

Ensure the Nested KVM Kernel module parameter for AMD is enabled on the host:

cat /sys/module/kvm_amd/parameters/nested
1

modinfo kvm_amd | grep -i nested
parm:           nested:int

To make the above value persistent across reboots, add an entry in /etc/modprobe.d/dist.conf so it looks as below:

cat /etc/modprobe.d/dist.conf
options kvm-amd nested=y
Expose Virtualization Extensions to DevStack VM¶

Edit the VM’s libvirt XML configuration via virsh utility:

sudo virsh edit devstack-vm

Add the below snippet to expose the host CPU features to the VM:

<cpu mode='host-passthrough'>
</cpu>
Ensure DevStack VM is Using KVM¶

Before invoking stack.sh in the VM, ensure that KVM is enabled. This can be verified by checking for the presence of the file /dev/kvm in your VM. If it is present, DevStack will default to using the config attribute virt_type = kvm in /etc/nova.conf; otherwise, it’ll fall back to virt_type=qemu, i.e. plain QEMU emulation.

Optionally, to explicitly set the type of virtualization, to KVM, by the libvirt driver in nova, the below config attribute can be used in DevStack’s local.conf:

Once DevStack is configured successfully, verify if the Nova instances are using KVM by noticing the QEMU CLI invoked by Nova is using the parameter accel=kvm, e.g.:

ps -ef | grep -i qemu
root     29773     1  0 11:24 ?        00:00:00 /usr/bin/qemu-system-x86_64 -machine accel=kvm [. . .]

RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4