Si buscas la palabra virtualizar en un diccionario, encontrarás que significa “crear una versión virtual (en lugar de real) de algo“. En informática, el término virtualización se refiere a la posibilidad de ejecutar múltiples sistemas operativos simultáneamente y aislarlos entre sí, sobre el mismo sistema físico (hardware), conocido en el esquema de virtualización como anfitrión.

A través del uso del monitor de máquina virtual (también conocido como hipervisor), las máquinas virtuales (llamadas huéspedes) reciben recursos virtuales (como CPU, RAM, almacenamiento, interfaces de red, entre otros) del hardware subyacente.
Con eso en mente, es fácil ver que una de las principales ventajas de la virtualización es el ahorro de costos (en equipos e infraestructura de red y en términos de esfuerzo de mantenimiento) y una reducción sustancial en el espacio físico requerido para acomodar todo el hardware necesario.
Dado que esta breve guía no puede cubrir todos los métodos de virtualización, te animo a consultar la documentación mencionada en el resumen para obtener más detalles sobre el tema.
Ten en cuenta que este artículo está destinado a ser un punto de partida para aprender los conceptos básicos de la virtualización en RHEL 7 utilizando KVM (Kernel-based Virtual Machine) con utilidades de línea de comandos, y no una discusión detallada del tema.
Verificación de Requisitos de Hardware e Instalación de Paquetes
Para configurar la virtualización, su CPU debe admitirla. Puede verificar si su sistema cumple con los requisitos con el siguiente comando:
# grep -E 'svm|vmx' /proc/cpuinfo
En la siguiente captura de pantalla podemos ver que el sistema actual (con un procesador AMD) admite la virtualización, como se indica por svm. Si tuviéramos un procesador de Intel, veríamos vmx en lugar de los resultados del comando anterior.

Además, necesitará tener habilitadas las capacidades de virtualización en el firmware de su host (BIOS o UEFI).
Ahora instale los paquetes necesarios:
- qemu-kvm es un virtualizador de código abierto que proporciona emulación de hardware para el hipervisor KVM, mientras que qemu-img proporciona una herramienta de línea de comandos para manipular imágenes de disco.
- libvirt incluye las herramientas para interactuar con las capacidades de virtualización del sistema operativo.
- libvirt-python contiene un módulo que permite a las aplicaciones escritas en Python utilizar la interfaz suministrada por libvirt.
- libguestfs-tools: herramientas de línea de comandos para administradores de sistemas para máquinas virtuales.
- virt-install: otras utilidades de línea de comandos para la administración de máquinas virtuales.
# yum update && yum install qemu-kvm qemu-img libvirt libvirt-python libguestfs-tools virt-install
Una vez que se complete la instalación, asegúrese de iniciar y habilitar el servicio libvirtd:
# systemctl start libvirtd.service # systemctl enable libvirtd.service
Por defecto, cada máquina virtual solo podrá comunicarse con el resto en el mismo servidor físico y con el propio host. Para permitir que los invitados alcancen a otras máquinas dentro de nuestra LAN y también a Internet, necesitamos configurar una interfaz de puente en nuestro host (digamos br0, por ejemplo) mediante,
1. añadiendo la siguiente línea a nuestra configuración principal de NIC (probablemente /etc/sysconfig/network-scripts/ifcfg-enp0s3
):
BRIDGE=br0
2. creando el archivo de configuración para br0 (/etc/sysconfig/network-scripts/ifcfg-br0
) con estos contenidos (ten en cuenta que es posible que debas cambiar la dirección IP, la dirección de la puerta de enlace y la información de DNS):
DEVICE=br0 TYPE=Bridge BOOTPROTO=static IPADDR=192.168.0.18 NETMASK=255.255.255.0 GATEWAY=192.168.0.1 NM_CONTROLLED=no DEFROUTE=yes PEERDNS=yes PEERROUTES=yes IPV4_FAILURE_FATAL=no IPV6INIT=yes IPV6_AUTOCONF=yes IPV6_DEFROUTE=yes IPV6_PEERDNS=yes IPV6_PEERROUTES=yes IPV6_FAILURE_FATAL=no NAME=br0 ONBOOT=yes DNS1=8.8.8.8 DNS2=8.8.4.4
3. finalmente, habilitando el reenvío de paquetes haciendo, en /etc/sysctl.conf
,
net.ipv4.ip_forward = 1
y cargando los cambios en la configuración actual del kernel:
# sysctl -p
Ten en cuenta que también es posible que necesites indicarle a firewalld que este tipo de tráfico debe ser permitido. Recuerda que puedes consultar el artículo sobre ese tema en esta misma serie (Parte 11: Control de Tráfico de Red Utilizando FirewallD e Iptables) si necesitas ayuda para hacerlo.
Source:
https://www.tecmint.com/kvm-virtualization-basics-and-guest-administration/