Introducción
KVM (abreviatura de máquina virtual basada en kernel) ) es una aplicación de virtualización de Linux que brinda a los usuarios la capacidad de convertir su máquina en un hipervisor y ejecutar varias máquinas virtuales en entornos aislados.
En este tutorial aprenderá a instalar KVM en CentOS 8.
Requisitos previos
- Un sistema que ejecuta CentOS 7 u 8
- Una cuenta con privilegios sudo
- Acceso a la línea de comandos/terminal
Pasos para instalar KVM en CentOS
Los pasos enumerados en este tutorial funcionan con CentOS 8 y CentOS 7.
Paso 1:compruebe si su sistema es compatible con la virtualización de hardware
Para ver si su sistema es capaz de virtualización de hardware (HV), ejecute lo siguiente:
$ cat /proc/cpuinfo | egrep "vmx|svm"
La salida se verá similar a esto:
En la salida, revise la lista de banderas. Si encuentra vmx
(para procesadores Intel) o svm
(para AMD), el sistema es compatible con la virtualización de hardware.
Paso 2:Instalar KVM
Use los siguientes comandos para instalar KVM en CentOS:
$ sudo yum update
$ sudo yum install @virt
A continuación, inicie y habilite libvirtd servicio:
$ sudo systemctl enable --now libvirtd
Instale las herramientas necesarias para la gestión de KVM:
$ sudo yum -y install virt-top libguestfs-tools
Paso 3:Verificar la instalación de KVM
Para confirmar que el módulo KVM está cargado, ejecute:
$ lsmod | grep kvm
La salida contendrá una lista de módulos KVM cargados:
Paso 4:configurar la interfaz de puente
Se necesita una interfaz de puente para acceder a las máquinas virtuales desde fuera de la red del hipervisor. Para crear una interfaz de puente, primero identifique las interfaces de red conectadas a su máquina:
$ sudo nmcli connection show
El resultado muestra todas las interfaces de red disponibles:
Tome nota del nombre de la interfaz ethernet (en este caso, es enp0s3 ). Elimine la conexión escribiendo el siguiente comando (reemplazando el UUID con su valor):
$ sudo nmcli connection delete UUID
El sistema confirmará la eliminación de la conexión:
A continuación, asegúrese de tener la información necesaria a mano:
- NOMBRE DEL PUENTE – Nombre para su nuevo puente (por ejemplo, “br1”)
- NOMBRE DEL DISPOSITIVO – Nombre del dispositivo de red que servirá como puente esclavo (p. ej., “enp0s3”)
- DIRECCIÓN IP/SUBRED – Dirección IP y subred para la conexión (por ejemplo, "192.168.122.1/24")
- PUERTA DE ENLACE – Dirección de puerta de enlace predeterminada (por ejemplo, "192.168.122.1")
- DNS1 y DNS2 – Direcciones DNS (por ejemplo, "8.8.8.8" y "8.8.4.4")
Ahora, usando sus propios valores, cree una nueva interfaz de puente:
$ sudo nmcli connection add type bridge autoconnect yes con-name BRIDGE NAME ifname BRIDGE NAME
El resultado confirma la adición exitosa de la conexión de puente:
Realice las modificaciones necesarias en la dirección IP, puerta de enlace y DNS:
$ sudo nmcli connection modify BRIDGE NAME ipv4.addresses IP ADDRESS/SUBNET ipv4.method manual
$ sudo nmcli connection modify BRIDGE NAME ipv4.gateway GATEWAY
$ sudo nmcli connection modify BRIDGE NAME ipv4.dns DNS1 +ipv4.dns DNS2
Los comandos con valores completados se ven así:
Añadir un puente esclavo:
$ sudo nmcli connection add type bridge-slave autoconnect yes con-name DEVICE NAME ifname DEVICE NAME master BRIDGE NAME
Salida de nmcli connection show
ahora debería verse así:
Activa el puente con el siguiente comando:
$ sudo nmcli connection up BRIDGE NAME
Crear una máquina virtual a través de la línea de comandos
Para crear una máquina virtual a través de la línea de comandos en CentOS 8, use virt-install
comando.
El siguiente ejemplo muestra cómo instalar una máquina virtual Ubuntu 20.04 LTS:
El ejemplo anterior utiliza los siguientes argumentos de la línea de comandos, que son necesarios para configurar una máquina virtual con sus preferencias:
Argumento | Descripción |
---|---|
--name= | Nombre personalizado de la VM |
--file= | Ubicación del archivo de disco de la VM |
--file-size= | Tamaño de archivo asignado de la VM |
--nonsparse= | El comando que asigna todo el disco |
--graphics= | Especifica qué herramienta se usaría para la instalación de GUI (por ejemplo, Spice) |
--vcpu= | Número de CPU virtuales que se utilizarán |
--ram= | Cantidad de RAM asignada |
--cdrom= | Medios de instalación |
--network= | Red utilizada para la VM |
--os-type= | Tipo de sistema operativo |
--os-variant= | Si no está seguro acerca de la variante del sistema operativo, escriba "genérico" |