Cómo habilitar la virtualización anidada en KVM en CentOS 7 / RHEL 7

virtualización anidada significa configurar el entorno de virtualización dentro de una máquina virtual. En otras palabras, podemos decir que la virtualización anidada es una característica del hipervisor que nos permite instalar y ejecutar una máquina virtual dentro de un servidor virtual a través de la aceleración de hardware desde el hipervisor (anfitrión).

En este artículo, analizaremos cómo habilitar la virtualización anidada en KVM en CentOS 7/RHEL 7. Supongo que ya configuró el hipervisor KVM. En caso de que no esté familiarizado con la instalación y configuración Hipervisor KVM, luego consulte el siguiente artículo

Leer también: Instale KVM Hypervisor en CentOS 7.x y RHEL 7.x

Saltemos al hipervisor y verifiquemos si la virtualización anidada está habilitada o no en su host KVM

Para los procesadores basados ​​en Intel, ejecute el comando,

[[email protected] ~]# cat /sys/module/kvm_intel/parameters/nested
N
[[email protected] ~]#

Para los procesadores basados ​​en AMD, ejecute el comando,

[[email protected] ~]# cat /sys/module/kvm_amd/parameters/nested
N
[[email protected] ~]#

En el comando anterior, la salida ‘N’ indica que la virtualización anidada está deshabilitada. Si obtenemos el resultado como ‘Y’, indica que la virtualización anidada está habilitada en su host.

Ahora, para habilitar la virtualización anidada, cree un archivo con el nombre «/etc/modprobe.d/kvm-nested.conf” con el siguiente contenido.

[[email protected] ~]# vi /etc/modprobe.d/kvm-nested.conf
options kvm-intel nested=1
options kvm-intel enable_shadow_vmcs=1
options kvm-intel enable_apicv=1
options kvm-intel ept=1

Guardar y salir del archivo

Ahora elimina ‘kvm_intel‘ y luego agregue el mismo módulo con el comando modprobe. Antes de quitar el módulo, asegúrese de que las máquinas virtuales estén apagadas; de lo contrario, recibiremos un mensaje de error como «modprobe: FATAL: Módulo kvm_intel está en uso

[[email protected] ~]# modprobe -r kvm_intel
[[email protected] ~]# modprobe -a kvm_intel
[[email protected] ~]#

Ahora verifique si la función de virtualización anidada está habilitada o no.

[[email protected] ~]# cat /sys/module/kvm_intel/parameters/nested
Y
[[email protected] ~]#

Para sistemas basados ​​en AMD, ejecute los siguientes comandos,

[[email protected] ~]# rmmod kvm-amd
[[email protected] ~]# echo 'options kvm-amd nested=1'>>/etc/modprobe.d/dist.conf
[[email protected] ~]# modprobe kvm-amd

Pruebe la virtualización anidada

Supongamos que tenemos una máquina virtual con el nombre «director» en el hipervisor KVM en el que he habilitado la virtualización anidada. Antes de realizar la prueba, asegúrese de que el modo de CPU para la VM sea como «modelo de host» o «transferencia de host”, para verificar el modo de CPU de una máquina virtual, use la GUI de Virt-Manager o el comando de edición virsh

cpu_mode_vm_kvm

Ahora inicie sesión en la máquina virtual del director y ejecute los comandos lscpu y lsmod

[[email protected] ~]# ssh 192.168.126.1 -l root
[email protected]'s password:
Last login: Sun Dec 10 07:05:59 2017 from 192.168.126.254
[[email protected] ~]# lsmod | grep kvm
kvm_intel             170200  0
kvm                   566604  1 kvm_intel
irqbypass              13503  1 kvm
[[email protected] ~]#
[[email protected] ~]# lscpu

lscpu_command_rhel7_centos7

Intentemos crear una máquina virtual desde la GUI del administrador virtual o virt-install dentro del director vm, en mi caso estoy usando el comando virt-install

[[email protected] ~]# virt-install  -n Nested-VM  --description "Test Nested VM" 
 --os-type=Linux  --os-variant=rhel7  --ram=2048  --vcpus=2 --disk 
 path=/var/lib/libvirt/images/nestedvm.img,bus=virtio,size=10 --graphics 
 none --location /var/lib/libvirt/images/CentOS-7-x86_64-DVD-1511.iso
 --extra-args console=ttyS0
Starting install...
Retrieving file .treeinfo...                            | 1.1 kB  00:00:00
Retrieving file vmlinuz...                              | 4.9 MB  00:00:00
Retrieving file initrd.img...                           |  37 MB  00:00:00
Allocating 'nestedvm.img'                               |  10 GB  00:00:00
Connected to domain Nested-VM
Escape character is ^]
[    0.000000] Initializing cgroup subsys cpuset
[    0.000000] Initializing cgroup subsys cpu
[    0.000000] Initializing cgroup subsys cpuacct
[    0.000000] Linux version 3.10.0-327.el7.x86_64 
………………………………………………

cli-installer-virt-install-comando-kvm

Esto confirma que la virtualización anidada se ha habilitado correctamente, ya que podemos crear una máquina virtual dentro de una máquina virtual.

Esto concluye el artículo, por favor comparta sus comentarios y opiniones.

Entradas relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *