GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo habilitar la virtualización anidada en KVM en Linux

En esta guía, veremos cómo habilitar la virtualización anidada en KVM en linux Virtualización anidada es una función que le permite ejecutar una máquina virtual dentro de otra máquina virtual mientras sigue utilizando la aceleración de hardware del sistema host. En otras palabras, la virtualización anidada es un mecanismo para ejecutar un hipervisor dentro de una máquina virtual (VM), que a su vez se ejecuta en un hipervisor.

Habilite la virtualización anidada en KVM en Linux

Antes de habilitar la función de VT anidado, apague todas las máquinas virtuales en ejecución.

A continuación, descargue los módulos KVM.

Para descargar el módulo KVM en INTEL sistemas, ejecute:

$ sudo modprobe -r kvm_intel

En AMD sistemas:

$ sudo modprobe -r kvm_amd

Vuelva a cargar el módulo KVM con la función anidada habilitada en las CPU INTEL con el comando:

$ sudo modprobe kvm_intel nested=1

Vuelva a cargar el módulo KVM con la función anidada habilitada en las CPU AMD usando el comando:

$ sudo modprobe kvm_amd nested=1

Habilitar la virtualización anidada de forma permanente

Tenga en cuenta que la función de VT anidado solo está habilitada hasta que reinicie el sistema host KVM. Para habilitar permanentemente la función anidada, edite /etc/modprobe.d/kvm.conf archivo:

$ sudo vi /etc/modprobe.d/kvm.conf

Si el archivo no existe, simplemente créelo.

Agregue la siguiente línea en INTEL anfitriones:

options kvm_intel nested=1

Agregue la siguiente línea en AMD anfitriones:

options kvm_amd nested=1

Guarde y cierre el archivo.

¡Hecho! Hemos habilitado VT anidado en el sistema host KVM.

Verificar si la virtualización anidada está habilitada en el host KVM

Si su procesador es INTEL, consulte "/sys/module/kvm_intel/parameters/nested" archivo usando el comando "gato":

$ cat /sys/module/kvm_intel/parameters/nested

Compruebe si la virtualización anidada es compatible con Linux

Si devuelve "Y" o "1" , significa que su sistema admite la virtualización anidada. Si la salida es "N" o "0" , su sistema no admitirá la virtualización anidada.

Si su procesador es AMD, verifique el contenido de "/sys/module/kvm_amd/parameters/nested" archivo.

Alternativamente, puede usar el siguiente comando para asegurarse de que el módulo kernel "kvm_intel" tenga habilitado el anidamiento:

$ modinfo kvm_intel | grep -i nested

Salida de muestra:

parm:           nested_early_check:bool
parm:           nested:bool

En CPU AMD:

$ modinfo kvm_amd | grep -i nested

Bueno, mi host KVM admite la virtualización anidada y ya está habilitada.

Habilite la virtualización anidada en máquinas invitadas KVM

Podemos habilitar la función anidada en una máquina virtual KVM desde la línea de comandos o mediante aplicaciones gráficas de administración de KVM como Virt-manager .

Habilite la función anidada en invitados KVM desde la línea de comandos

Inicie sesión en la consola de virsh:

$ virsh

Edite la máquina virtual en la que desea habilitar la función anidada:

virsh # edit centos

Para encontrar todas las máquinas virtuales disponibles, ejecute este comando dentro de la consola virsh:

virsh # list --all

Busque el parámetro "modo cpu" y establezca su valor como "modelo de host".

<cpu mode='host-model' check='partial'/>

Habilite la función anidada en invitados KVM usando el comando virsh

Guarde y cierre el archivo.

Inicie la máquina virtual:

virsh # start centos8

Verifique si la función anidada está habilitada para la VM:

virsh # dumpxml centos8

Debería ver que todas las políticas de funciones necesarias en la directiva "modo de CPU" se actualizan ahora:

<cpu mode='custom' match='exact' check='full'>
    <model fallback='forbid'>SandyBridge-IBRS</model>
    <vendor>Intel</vendor>
    <feature policy='require' name='vme'/>
    <feature policy='require' name='vmx'/>
    <feature policy='require' name='pcid'/>
    <feature policy='require' name='hypervisor'/>
    <feature policy='require' name='arat'/>
    <feature policy='require' name='tsc_adjust'/>
    <feature policy='require' name='umip'/>
    <feature policy='require' name='md-clear'/>
    <feature policy='require' name='stibp'/>
    <feature policy='require' name='arch-capabilities'/>
    <feature policy='require' name='ssbd'/>
    <feature policy='require' name='xsaveopt'/>
    <feature policy='require' name='ibpb'/>
    <feature policy='require' name='amd-ssbd'/>
    <feature policy='require' name='skip-l1dfl-vmentry'/>
    <feature policy='disable' name='aes'/>
  </cpu>

La función de virtualización anidada se ha habilitado para CentOS 8 VM.

Habilite la función anidada en invitados KVM usando Virt-manager

Abra la aplicación GUI de Virt-manager y haga doble clic en el invitado KVM en el que desea habilitar la función VT anidada. Haga clic en el botón "Mostrar detalles de hardware virtual" y vaya a la sección "CPU" en el menú de la izquierda.

Seleccione "Copiar la configuración de la CPU del host" marque la casilla en la ventana de configuración de la CPU y haga clic en Aplicar.

Configurar virtualización anidada en VIrt-manager

Ahora el modelo de CPU del host físico y la configuración se aplicarán a la máquina virtual.

Compruebe si los invitados KVM admiten la virtualización

Encienda e inicie sesión en la máquina invitada KVM en la que habilitó la función anidada.

Ejecute el siguiente comando en la Terminal del invitado KVM para verificar si la virtualización está habilitada o no:

# egrep --color -i "svm|vmx" /proc/cpuinfo

Salida de muestra:

Compruebe si los invitados KVM son compatibles con la tecnología de virtualización en Linux

Si ve “vmx” (tecnología Intel-VT) o “svm” (Compatibilidad con AMD-V) en la salida, la máquina invitada KVM puede funcionar como hipervisor y host de máquinas virtuales. Como puede ver en el resultado anterior, mi máquina virtual CentOS 8 KVM admite la virtualización.

Consulte la siguiente guía para conocer más formas de comprobar si un sistema Linux es compatible con VT o no.

  • Cómo averiguar si una CPU es compatible con la tecnología de virtualización (VT)

Lectura relacionada:

  • Cómo habilitar la virtualización anidada en VirtualBox

Linux
  1. Cómo configurar la virtualización en Redhat Linux

  2. Habilitar el repositorio de PowerTools en Rocky Linux 8 - ¿Cómo hacerlo?

  3. ¿Qué es el reenvío de IP en Linux? ¿Cómo habilitar el reenvío de IP?

  4. Cómo habilitar md5 Hashing en Linux

  5. ¿Cómo habilitar la partición de intercambio de Linux?

Habilite la compatibilidad con UEFI en la virtualización de KVM

Cómo habilitar la opción "Editar" en la aplicación Shutter en Linux

Cómo habilitar la virtualización anidada en VirtualBox

Cómo habilitar la marca de tiempo en el historial de Bash en Linux

Cómo habilitar Sudo sin contraseña para usuarios en Linux

¿Cómo habilitar sFTP en un VPS Linux?