La forma completa de KVM es Kernel Virtual Machine. Es la solución de virtualización para Linux. KVM es un módulo del kernel de Linux que permite al kernel de Linux actuar como un programa hipervisor como VMware ESXi o VSphere.

En este artículo, voy a mostrarte cómo instalar KVM en Ubuntu 20.04 LTS y crear una simple máquina virtual KVM con ella. Así que, vamos a empezar.

Habilitar la virtualización de hardware:

Debes habilitar la extensión de virtualización de hardware desde la BIOS de tu ordenador para que KVM funcione. Para los procesadores Intel, debe habilitar la característica del procesador VT-x o VT-d desde la BIOS. Para los procesadores AMD, debe habilitar la característica del procesador AMD-v desde el BIOS.

Una vez que tenga habilitada la virtualización de hardware en el BIOS, ejecute el siguiente comando para verificar si la extensión VT-x/VT-d o AMD-v está habilitada.

$ grep –color –perl-regexp ‘vmx|svm’ /proc/cpuinfo

Debería tener la bandera svm o vmx disponible en la salida si tiene la virtualización de hardware habilitada en la BIOS.

Estoy usando un procesador AMD. Por lo tanto, la bandera svm está disponible en mi caso. Si está utilizando un procesador Intel, entonces será vmx.

Actualización del sistema:

Antes de instalar KVM, debe actualizar los paquetes de software de su Ubuntu 20.04 LTS.

Primero, actualice la caché del repositorio de paquetes APT de Ubuntu 20.04 LTS con el siguiente comando:

La caché del repositorio de paquetes APT de Ubuntu 20.04 LTS debería estar actualizada.

Como puede ver, todos los paquetes de mi máquina Ubuntu 20.04 LTS ya están actualizados. Así que no tengo que hacer nada.

Si tienes actualizaciones disponibles, puedes aplicarlas con el siguiente comando:

$ sudo apt upgrade

A continuación, pulsa Y y luego pulsa <Enter> para confirmar la instalación.

Una vez instaladas las actualizaciones, reinicie el equipo con el siguiente comando:

$ sudo reboot

Instalación de KVM:

Los paquetes de KVM están disponibles en el repositorio oficial de paquetes de Ubuntu 20.04 LTS.

Puede instalar KVM en su Ubuntu 20.04 LTS con el siguiente comando:

$ sudo apt install qemu qemu-kvm qemu-system qemu-utils

Para confirmar la instalación, pulse Y y luego pulse <Enter>.

El gestor de paquetes de APT debería descargar todos los paquetes necesarios de Internet.

Una vez descargados los paquetes, el gestor de paquetes de APT los instalará.

En este punto, KVM debería estar instalado.

Instalación de LibVirt:

LibVirt es una herramienta para crear y gestionar máquinas virtuales KVM y configurar KVM. Es una herramienta imprescindible para la virtualización con KVM.

LibVirt está disponible en el repositorio oficial de paquetes de Ubuntu 20.04 LTS.

Para instalar LibVirt, ejecuta el siguiente comando:

$ sudo apt install libvirt-clients libvirt-daemon-system virtinst

Para confirmar la instalación, presiona Y y luego presiona <Enter>.

El gestor de paquetes de APT debería descargar e instalar todos los paquetes necesarios desde Internet.

LibVirt debería estar instalado en este punto.

Una vez instalado LibVirt, añada su usuario de inicio de sesión al grupo libvirt con el siguiente comando:

$ sudo usermod -aG libvirt $(whoami)

A continuación, reinicie su ordenador con el siguiente comando para que los cambios surtan efecto.

$ sudo reboot

Una vez que tu ordenador arranque, ejecuta el siguiente comando para confirmar que LibVirt está funcionando.

$ virsh –version

El comando debería devolver el número de versión de LibVirt. En mi caso, es 6.0.0.

Configuración de los directorios KVM necesarios:

Creo que es una buena idea mantener todos los datos de la máquina virtual organizados. Normalmente mantengo todos los datos de la máquina virtual KVM en el directorio /kvm/. En el directorio /kvm/, creo 2 subdirectorios disk/ e iso/. En el subdirectorio disk/, guardo todos los archivos del disco duro de la máquina virtual (VM). En el subdirectorio iso/, guardo las imágenes de instalación ISO de diferentes sistemas operativos (es decir, Ubuntu, Debian, CentOS, etc.).

Puedes crear las mismas estructuras de directorio con el siguiente comando:

$ sudo mkdir -pv /kvm/{disk,iso}

Creación de una máquina virtual KVM:

En esta sección, voy a mostrarte cómo crear una máquina virtual KVM de Ubuntu Server 20.04 LTS.

Primero, tienes que descargar la imagen de instalación ISO de Ubuntu Server 20.04 LTS. Para mantener todos los archivos/datos de la máquina virtual organizados, es una buena idea almacenar la imagen ISO en el directorio /kvm/iso/.

Así que, navegue hasta el directorio /kvm/iso/ con el siguiente comando:

$ cd /kvm/iso

Puede descargar la imagen ISO de Ubuntu Server 20.04 LTS imagen ISO desde el sitio web oficial de Ubuntu con el siguiente comando:

$ sudo wget https://releases.ubuntu.com/20.04/ubuntu-20.04.1-live-server-amd64.iso

wget debe comenzar a descargar la imagen ISO de Ubuntu Server 20.04 LTS. Tardará un rato en completarse.

Una vez descargada la imagen ISO de Ubuntu Server 20.04 LTS, puede crear una máquina virtual KVM con el siguiente comando:

$ virt-install –name server-01 \
–os-type linux \
–os-variant ubuntu20.04 \
–ram 1024 \
–disk /kvm/disk/server-01.img,device=disk,bus=virtio,size=10,format=qcow2 \
–graphics vnc,listen=0.0.0.0 \
–noautoconsole \
–hvm \
–cdrom /kvm/iso/ubuntu-20.04.1-live-server-amd64.iso \
–boot cdrom,hd

Aquí, el nombre de la máquina virtual será server-01.

El sistema operativo que vamos a instalar es linux.

La variante del sistema operativo es ubuntu20.04 (Ubuntu 20.04 LTS).

Los valores de tipo y variante del SO no son aleatorios. Puedes encontrar el tipo de SO y la variante de SO para tu distribución de Linux deseada con el comando osinfo-query. Como puede ver, para Ubuntu 20.04 LTS, el tipo de SO en linux y la variante de SO es ubuntu20.04.

$ osinfo-query os –fields=name,short-id,family | grep -i Ubuntu

Si no tienes el comando osinfo-query disponible en tu ordenador, puedes instalarlo con el siguiente comando:

$ sudo apt install libosinfo-bin

La memoria RAM (Random Access Memory) de la VM será de 1024 MB (Megabytes).

El disco virtual de la VM se guardará en el archivo /kvm/disk/server-01.img. El disco virtual tiene un tamaño de unos 10 GB, y el formato es QCOW2 (QEMU Copy-On-Write v2)

La máquina virtual será accesible a través del protocolo de escritorio remoto VNC (Virtual Network Computing), y el servidor VNC estará a la escucha en todas las interfaces de red disponibles configuradas en su host KVM Ubuntu 20.04 LTS KVM host.

El host KVM de Ubuntu 20.04 LTS no intentará conectarse automáticamente a la máquina virtual una vez que ésta se haya creado. La máquina virtual seguirá funcionando en segundo plano.

Utilice la virtualización completa para la máquina virtual. Esto hará que las máquinas virtuales tengan un mejor rendimiento.

Utilizar la imagen ISO de Ubuntu Server 20.04 LTS que acabamos de descargar como el CD/DVD ROM virtual de la máquina virtual y que se utiliza para instalar Ubuntu Server 20.04 LTS en la máquina virtual.

Configura el orden de arranque de la máquina virtual. La primera entrada de arranque es el CD/DVD ROM virtual y luego el disco duro virtual. Así, la máquina virtual será capaz de arrancar desde la imagen ISO de Ubuntu Server 20.04 LTS e instalar Ubuntu Server 20.04 LTS en el disco duro.

Estas son básicamente todas las opciones que necesitas para crear una máquina virtual KVM.

Una vez que ejecutes el comando virt-install, KVM debería empezar a crear la máquina virtual. Puede tardar un poco dependiendo de la configuración de su máquina virtual.

En este punto, la máquina virtual KVM debería estar creada.

Listando las máquinas virtuales KVM:

Una vez creada la máquina virtual KVM, puedes listarla con el siguiente comando:

$ virsh list –all

El comando debería mostrarte todas las máquinas virtuales KVM que tienes. Ahora mismo, sólo tengo 1 máquina virtual server-01. Esta es la que acabo de crear. Como puedes ver, la máquina virtual server-01 está funcionando. Usted debe ser capaz de conectarse a ella utilizando cualquier cliente VNC.

Conectarse a las máquinas virtuales KVM de forma remota con VNC:

En esta sección, voy a mostrar cómo conectarse a su máquina virtual KVM de forma remota con VNC.

Puede encontrar el número de puerto VNC de la máquina virtual KVM server-01 con el siguiente comando:

$ virsh vncdisplay server-01

Como puede ver, el número de puerto VNC de la máquina virtual server-01 es 0.

Aquí, el puerto 0 significa el puerto 5900. Del mismo modo, el puerto 1 significa el puerto 5901 y así sucesivamente.

Ahora, encontrar la dirección IP de su Ubuntu 20.04 LTS KVM host con el siguiente comando:

$ ip a

En mi caso, la dirección IP es 192.168.20.131. En tu caso será diferente. Así que asegúrate de sustituirla por la tuya a partir de ahora.

Abre cualquier cliente VNC y conéctate a la dirección 192.168.20.131:0.

Haz clic en Continuar.

Deberías estar conectado a la pantalla de la máquina virtual KVM del servidor-01, como puedes ver en la siguiente captura de pantalla.

Ahora, puede instalar su sistema operativo deseado en la máquina virtual.

En mi caso, instalaré el sistema operativo Ubuntu Server 20.04 LTS en la máquina virtual.

Ubuntu Server 20.04 LTS está instalado en la máquina virtual en este punto. Vamos a reiniciar la máquina virtual.

Pulsa <Enter> cuando veas este mensaje.

La máquina virtual KVM del servidor-01 debería apagarse automáticamente, como puedes ver en la siguiente captura de pantalla.

$ virsh list –all

Inicie la máquina virtual KVM server-01 con el siguiente comando:

$ virsh start server-01

La máquina virtual server-01 debería iniciarse.

Ahora, puedes conectarte a la máquina virtual server-01 desde un cliente VNC como antes. Como puede ver, se muestra la pantalla de inicio de sesión de Ubuntu Server 20.04 LTS.

Puede iniciar sesión y ejecutar cualquier comando que desee.

Eliminar máquinas virtuales KVM:

También puedes eliminar una máquina virtual KVM muy fácilmente utilizando LibVirt.

Como puedes ver, tengo 2 máquinas virtuales KVM (servidor-01 y servidor-02) ejecutándose en mi host KVM de Ubuntu 20.04 LTS. Vamos a eliminar la máquina virtual KVM del servidor-02.

$ virsh list –all

Como puede ver, la máquina virtual KVM del servidor-02 está funcionando. Debes detenerla antes de eliminarla.

$ virsh list –all

Para forzar la detención de la máquina virtual KVM del servidor-02, ejecute el siguiente comando:

$ virsh destroy server-02

Como puede ver, la máquina virtual server-02 está apagada.

$ virsh list –all

Puede eliminar permanentemente la máquina virtual server-02 y todos sus discos duros virtuales conectados con el siguiente comando:

$ virsh undefine –remove-all-storage server-02

Como puede ver, la máquina virtual server-02 ya no está disponible.

$ virsh list –all

Issue#1: Fixing cpu->kvm_msr_buf->nmsrs Assertion Error

Mientras crea una máquina virtual KVM en Ubuntu 20.04 LTS, puede ver el siguiente mensaje de error. Es un error del kernel. Normalmente, esto ocurre cuando se ejecuta KVM dentro de otra máquina virtual. Estoy ejecutando KVM dentro de una máquina virtual VMware. Esta es la razón por la que tengo este error, creo. Es fácil de arreglar.

Cree un nuevo archivo /etc/modprobe.d/qemu-system-x86.conf con el siguiente comando:

$ sudo nano /etc/modprobe.d/qemu-system-x86.conf

Agrega las siguientes líneas en el archivo si estás usando un procesador AMD.

options kvm_amd nested=1 enable_apicv=n
options kvm ignore_msrs=1

Agrega las siguientes líneas en el archivo si estás usando un procesador Intel.

options kvm_intel nested=1 enable_apicv=n
options kvm ignore_msrs=1

Una vez que haya terminado, pulse <Ctrl> + X seguido de Y y <Enter> para guardar el archivo /etc/modprobe.d/qemu-system-x86.conf.

A continuación, reinicie su ordenador con el siguiente comando para que los cambios surtan efecto.

$ sudo reboot

Su problema debería estar resuelto.

Conclusión:

En este artículo, he mostrado cómo instalar KVM en Ubuntu 20.04 LTS y crear máquinas virtuales KVM utilizando LibVirt. También he mostrado cómo eliminar las máquinas virtuales KVM. Esto debería ayudarle a empezar con la virtualización KVM de Linux.

admin

Deja una respuesta

Tu dirección de correo electrónico no será publicada.

lg