- 1 Introducción
- 2 Comparación entre KVM y otras tecnologías de virtualización
- 3 Creación de máquinas virtuales y operaciones básicas
- 4 Configuración de red y extensiones
- 5 Gestión de almacenamiento y operaciones de disco
- 6 Instalación y operación del SO invitado
- 7 Casos de uso prácticos y consejos de automatización
- 8 Solución de Problemas y Soluciones Comunes a Errores
- 9 Optimización de Seguridad y Rendimiento
- 10 Conclusión y Recursos de Aprendizaje
- 11 Hoja de Trucos de Comandos y Ejemplos de Configuración Comunes
- 12 Preguntas Frecuentes
- 12.1 P1: ¿Cuál es la diferencia entre KVM, VirtualBox y VMware?
- 12.2 P2: ¿Cómo puedo hacer copias de seguridad y restaurar máquinas virtuales?
- 12.3 P3: ¿Puedo usar dispositivos USB dentro de una máquina virtual?
- 12.4 P4: ¿Cómo puedo iniciar automáticamente las máquinas virtuales cuando el host arranca?
- 12.5 P5: ¿Qué debo hacer si una máquina virtual funciona lentamente?
- 12.6 P6: La configuración de red no funciona correctamente. ¿Qué debo comprobar?
- 12.7 P7: ¿Puedo crear clústeres o configuraciones de alta disponibilidad (HA) con KVM?
Introducción
Ubuntu es una de las distribuciones de Linux más utilizadas en el mundo, confiada en una amplia gama de entornos, desde usuarios individuales hasta sistemas empresariales. Se emplea habitualmente para la construcción de servidores y entornos de desarrollo. Cuando deseas implementar virtualización a gran escala en Ubuntu, una de las soluciones más potentes disponibles es KVM (Máquina Virtual basada en el Núcleo).
KVM es una tecnología de virtualización basada en hipervisor integrada directamente en el núcleo de Linux. Al aprovechar las funciones de virtualización asistida por hardware, como Intel VT y AMD‑V, ofrece alto rendimiento y estabilidad. Como solución de código abierto, KVM permite crear una infraestructura de virtualización robusta manteniendo bajos los costos.
Las tecnologías de virtualización pueden parecer complejas al principio. Sin embargo, con la combinación de Ubuntu y KVM, incluso los principiantes pueden crear y operar máquinas virtuales de forma relativamente sencilla. También se recomienda encarecidamente a usuarios intermedios que desean aprovechar eficientemente los recursos físicos de sus servidores, así como a ingenieros que pretenden virtualizar sistemas de producción.
Este artículo ofrece una explicación completa de cómo construir un entorno de virtualización basado en KVM en Ubuntu, abarcando el uso básico, técnicas operativas prácticas y soluciones a problemas comunes. Si estás considerando introducir KVM o deseas aprovechar mejor la virtualización en Ubuntu, asegúrate de leer hasta el final.
Comparación entre KVM y otras tecnologías de virtualización
Existen muchos tipos de tecnologías de virtualización disponibles. En entornos Ubuntu, las opciones más usadas incluyen KVM, VirtualBox y VMware. Esta sección explica las características y diferencias de cada una, junto con las ventajas y desventajas de elegir KVM.
Principales tipos de tecnologías de virtualización
- KVM (Máquina Virtual basada en el Núcleo) – KVM es una característica de virtualización incorporada al núcleo de Linux y requiere Linux como sistema operativo anfitrión. Al utilizar el soporte de virtualización de hardware como Intel VT y AMD‑V, ofrece un alto rendimiento de máquinas virtuales adecuado para entornos de producción. Se pueden realizar operaciones flexibles mediante herramientas de línea de comandos y utilidades de gestión como virt‑manager.
- VirtualBox – VirtualBox es un software de virtualización orientado a escritorio proporcionado por Oracle que funciona en Windows, macOS y Linux. Presenta una interfaz intuitiva y se usa con frecuencia para propósitos personales o de aprendizaje. En comparación con KVM, sin embargo, es menos adecuado para entornos de alta carga o comerciales.
- VMware (VMware Workstation / ESXi, etc.) – VMware es un producto de virtualización comercial ampliamente utilizado en entornos empresariales. Ofrece funciones avanzadas y un fuerte soporte, pero requiere licencias de pago, lo que incrementa los costos operativos, especialmente en despliegues a gran escala.
Ventajas de KVM
- Alto rendimiento y estabilidad – Como KVM funciona como parte del núcleo de Linux, brinda un uso eficiente de los recursos y un control granular sobre la asignación de CPU y memoria. Su estabilidad lo hace apto para sistemas de producción reales.
- Código abierto y sin costos – KVM es completamente de código abierto y no requiere tarifas de licencia, lo que lo convierte en una opción ideal para construir una plataforma de virtualización con presupuesto limitado.
- Herramientas de gestión y automatización abundantes – KVM proporciona tanto herramientas de línea de comandos (virsh, virt‑install) como herramientas gráficas (virt‑manager), facilitando la automatización de operaciones e integrándose con flujos de trabajo DevOps y de gestión de infraestructura.
Desventajas de KVM
- Sólo sistema operativo anfitrión Linux – KVM requiere el núcleo de Linux y no puede usarse como anfitrión en Windows o macOS.
- Se necesita conocimiento de Linux para la configuración y solución de problemas – Aunque existen herramientas gráficas, la configuración avanzada y la resolución de incidencias a menudo requieren operaciones en la línea de comandos y conocimientos específicos de Linux.
¿Cuándo deberías elegir KVM?
- Cuando desea utilizar eficientemente los recursos de servidores físicos
- Cuando se necesita virtualización para sistemas o servidores de grado de producción
- Cuando desea construir una plataforma de virtualización completa a bajo costo
- Cuando desea automatizar las operaciones de servidores Linux y la gestión de infraestructura
KVM se recomienda no solo para usuarios y ingenieros experimentados de Linux, sino también para aquellos que planean avanzar hacia operaciones serias de servidores en el futuro.
Creación de máquinas virtuales y operaciones básicas
Una vez que el entorno KVM esté listo, puede comenzar a crear y operar máquinas virtuales. KVM le permite elegir entre una herramienta de gestión gráfica (virt-manager) y operaciones de línea de comandos (virt-install y virsh), dependiendo de su caso de uso. Esta sección introduce ambos enfoques.
Creación de máquinas virtuales usando virt-manager (GUI)
virt-manager es una herramienta que le permite crear y gestionar máquinas virtuales a través de una interfaz gráfica intuitiva. Si está utilizando un entorno de escritorio Linux, virt-manager es especialmente conveniente.
- Inicie
virt-managerdesde el menú de aplicaciones o la línea de comandos. - Haga clic en el botón “Nuevo” en la esquina superior izquierda.
- Seleccione la ubicación del medio de instalación (como una imagen ISO) y elija el tipo de SO invitado (por ejemplo, Ubuntu o Windows).
- Configure el número de CPU, el tamaño de la memoria y la capacidad del disco para la máquina virtual.
- Revise la configuración y haga clic en “Finalizar” para crear la máquina virtual e iniciar el proceso de instalación.
Con virt-manager, puede iniciar, detener y reiniciar fácilmente máquinas virtuales, tomar instantáneas y agregar interfaces de red o dispositivos de almacenamiento.
Creación de máquinas virtuales usando virt-install (CLI)
Para casos de uso de servidores o entornos remotos, crear máquinas virtuales desde la línea de comandos suele ser más práctico.
A continuación se muestra un ejemplo de uso básico del comando virt-install.
sudo virt-install \
--name ubuntu-vm \
--memory 2048 \
--vcpus 2 \
--disk size=20 \
--cdrom /path/to/ubuntu.iso \
--os-type linux \
--os-variant ubuntu20.04 \
--network network=default \
--graphics vnc
--name: Nombre de la máquina virtual--memory: Memoria asignada (en MB)--vcpus: Número de núcleos de CPU virtuales--disk size=20: Tamaño del disco virtual (en GB)--cdrom: Ruta a la imagen ISO utilizada para la instalación--os-type,--os-variant: Tipo y versión del SO--network: Configuración de red--graphics: Modo gráfico (por ejemplo, VNC)
Después de ejecutar el comando, la máquina virtual se iniciará automáticamente y mostrará la pantalla de instalación a través de VNC u otra interfaz gráfica.
Inicio, detención, eliminación y toma de instantáneas de máquinas virtuales
KVM facilita la gestión de máquinas virtuales mediante comandos simples. Las operaciones comunes incluyen las siguientes.
- Iniciar una máquina virtual
virsh start <virtual-machine-name>
- Apagar una máquina virtual
virsh shutdown <virtual-machine-name>
- Detener forzadamente una máquina virtual
virsh destroy <virtual-machine-name>
- Eliminar una máquina virtual (tenga cuidado si elimina discos)
virsh undefine <virtual-machine-name>
- Crear una instantánea
virsh snapshot-create-as <virtual-machine-name> <snapshot-name>
Todas estas operaciones también se pueden realizar mediante la GUI de virt-manager.
Configuración de red y extensiones
La configuración de red es un aspecto crítico para operar máquinas virtuales con KVM. Aunque la configuración predeterminada es suficiente para muchos casos de uso, los entornos de producción a menudo requieren personalización. Esta sección explica los conceptos básicos de la red en KVM y configuraciones avanzadas comúnmente utilizadas.
Diferencias entre NAT predeterminado (virbr0) y redes en puente
Cuando se instala KVM, se crea automáticamente un puente de red virtual llamado virbr0. Esta es una red basada en NAT con las siguientes características.
.
- Características de virbr0 (modo NAT)
- Las máquinas virtuales pueden acceder a Internet externo
- El acceso directo desde el host u otras redes requiere reenvío de puertos
- Ideal para uso doméstico, desarrollo y entornos de pruebas
En contraste, el networking en modo puente brinda a las máquinas virtuales un acceso equivalente al de la red física.
- Características del networking en modo puente
- Las máquinas virtuales se unen al mismo segmento de red que el host
- El acceso directo desde PCs físicos y otros servidores es posible
- Ideal para servidores de producción y servicios de acceso público
Creación y configuración de un puente personalizado (para acceso LAN)
Si deseas permitir el acceso directo a las máquinas virtuales desde servidores de producción u otros PCs, debes configurar una red en modo puente. A continuación se muestra un ejemplo de procedimiento general donde la NIC física del host es eth0.
- Instalar bridge-utils (omitir si ya está instalado)
sudo apt install bridge-utils
- Editar el archivo de configuración de red Ubuntu 18.04 y versiones posteriores usan Netplan. Edita un archivo de configuración como
/etc/netplan/01-netcfg.yaml. Ejemplo:network: version: 2 renderer: networkd ethernets: eth0: dhcp4: no bridges: br0: interfaces: [eth0] dhcp4: yes
- Aplicar la configuración
sudo netplan apply
- Asignar el nuevo puente (br0) a la red de la máquina virtual Cambia el adaptador de red a br0 usando virt-manager o virsh.
Asignación de IP estática y reenvío de puertos
- Asignación de IP estática Puedes configurar una dirección IP estática dentro del SO invitado o asignar una IP fija mediante el servidor DHCP basándote en la dirección MAC.
- Reenvío de puertos (cuando se usa NAT) Usando el comando virsh o la configuración XML de libvirt, puedes reenviar puertos específicos (como SSH o servicios web) del host a la máquina virtual. Ejemplo (reenviando el puerto SSH 22):
virsh nat-forward --network default --add-port tcp:2222:22
Nota: Configuraciones más avanzadas son posibles editando los archivos de configuración de libvirt o controlando el acceso con firewalld.
Gestión de almacenamiento y operaciones de disco
Al operar máquinas virtuales con KVM, el diseño del almacenamiento y la gestión de discos son extremadamente importantes. Esta sección explica los tipos de discos virtuales, cómo crearlos, cómo gestionar pools de almacenamiento y cómo expandir discos y usar instantáneas de manera eficaz.
Tipos de discos virtuales (qcow2 y raw) y casos de uso
KVM admite principalmente los siguientes dos tipos de discos virtuales.
- Formato qcow2
- El formato de disco virtual estándar para KVM
- Soporta instantáneas, compresión de disco y asignación eficiente de espacio
- Ideal para operaciones flexibles y entornos de pruebas
- Formato raw
- Un formato simple sin compresión ni conversión
- Mejor para máximo rendimiento y cargas de trabajo con alto I/O
En la mayoría de los casos, se recomienda qcow2, pero debes elegir el formato según tus requisitos específicos.
Creación y gestión de pools de almacenamiento
KVM gestiona los recursos de disco utilizados por las máquinas virtuales mediante un concepto llamado pools de almacenamiento.
- Pool de almacenamiento predeterminado Después de la instalación,
/var/lib/libvirt/images/se usa como pool de almacenamiento predeterminado. Los discos virtuales se crean dentro de este directorio. - Crear un nuevo pool de almacenamiento (ejemplo)
- Crear un directorio
sudo mkdir /data/kvm-images sudo chown libvirt-qemu:kvm /data/kvm-images - Añadir un nuevo pool usando virt-manager o virsh Usando virsh:
virsh pool-define-as --name mypool --type dir --target /data/kvm-images virsh pool-autostart mypool virsh pool-start mypool
Expansión de discos virtuales y uso de instantáneas
- Expansión de discos virtuales Para aumentar la capacidad del disco, usa el comando
qemu-img(compatible tanto con qcow2 como con raw).sudo qemu-img resize /var/lib/libvirt/images/ubuntu-vm.qcow2 +10G
Después de redimensionar, también debes expandir la partición y el sistema de archivos dentro del SO invitado.
- Uso de instantáneas Con discos qcow2, puedes crear instantáneas para guardar el estado de una máquina virtual en un punto específico en el tiempo.
virsh snapshot-create-as <virtual-machine-name> <snapshot-name>
Las instantáneas son extremadamente útiles para respaldos antes de cambios de configuración, actualizaciones del sistema o pruebas de escenarios de reversión.
Instalación y operación del SO invitado
Esta sección explica cómo instalar y operar de manera eficiente sistemas operativos dentro de máquinas virtuales KVM. Cubre procedimientos típicos de instalación de SO invitado, manejo de imágenes ISO y consejos de optimización de rendimiento.
Instalación de sistemas operativos invitados comunes
KVM soporta una amplia variedad de sistemas operativos invitados, incluyendo Ubuntu, CentOS y Windows. A continuación se muestran procedimientos de instalación de ejemplo para Ubuntu y Windows.
- Instalación de Ubuntu
- Descarga la imagen ISO más reciente del sitio web oficial de Ubuntu.
- En virt-manager, selecciona “Medio de instalación local” al crear una nueva máquina virtual y especifica el archivo ISO descargado.
- Configura la CPU, memoria y capacidad de disco para la máquina virtual.
- Sigue las instrucciones en pantalla para completar la instalación estándar de Ubuntu.
- Instalación de Windows
- Descarga una imagen ISO de evaluación de Windows del sitio web oficial de Microsoft.
- Crea una nueva máquina virtual usando virt-manager o virt-install y especifica el archivo ISO.
- Para invitados de Windows, instalar controladores virtio mejora significativamente el rendimiento de disco y red. Monta el ISO de virtio como una unidad de CD virtual y aplícalo durante la configuración.
Obtención y montaje de imágenes ISO
- La instalación de SO invitado requiere imágenes ISO descargadas de fuentes oficiales.
- Al especificar la ruta del archivo ISO durante la creación de la MV, se montará como un CD/DVD virtual.
- Múltiples imágenes ISO (SO y controladores) pueden montarse simultáneamente si es necesario.
Consejos para la operación del SO invitado y optimización de rendimiento
- Optimizar la asignación de recursos Asigna CPU y memoria de manera apropiada. Sobreasignar recursos puede afectar negativamente al SO anfitrión y otras máquinas virtuales.
- Instalar controladores virtio Instalar controladores virtio en Windows o invitados Linux antiguos mejora en gran medida el rendimiento de disco y red.
- Deshabilitar servicios innecesarios Deshabilitar servicios no utilizados y procesos en segundo plano dentro del SO invitado ayuda a conservar recursos del sistema.
- Usar herramientas de invitado KVM Instalar el Agente de Invitado QEMU permite una recuperación de información de MV más precisa y operaciones de apagado controladas.
Casos de uso prácticos y consejos de automatización
KVM no se limita a la creación y operación simple de máquinas virtuales. Se usa ampliamente en varios escenarios de negocio y desarrollo, y su eficiencia de gestión puede mejorarse en gran medida combinándolo con scripts y herramientas de automatización. Esta sección introduce casos de uso prácticos e ideas de automatización.
Ejemplos de casos de uso de servidores
- Separación de entornos de desarrollo y pruebas Al preparar máquinas virtuales separadas para cada proyecto, puedes cambiar libremente versiones de software y configuraciones. Esto te permite probar nuevas versiones de SO o aplicaciones sin afectar sistemas de producción.
- Construcción de servicios internos Ejecutar servidores de archivos, servidores web y servidores de bases de datos en máquinas virtuales separadas ayuda a limitar el impacto de fallos. Los respaldos e instantáneas también pueden gestionarse fácilmente por MV.
Provisión automatizada usando CLI y Ansible
- Creación automatizada de MV con CLI Al scriptar comandos
virt-installyvirsh, puedes crear y gestionar automáticamente múltiples máquinas virtuales. Ejemplo: Script de shell para creación en lote de MV.for i in {1..5} do virt-install --name test-vm-$i --memory 1024 --vcpus 1 \ --disk size=10 --cdrom /path/to/ubuntu.iso \ --os-type linux --os-variant ubuntu20.04 \ --graphics none --network network=default --noautoconsole done
- Automatización de Infraestructura con Ansible Usando Ansible, puedes automatizar la creación de máquinas virtuales, la configuración inicial y el despliegue de aplicaciones utilizando solo playbooks. Esto es especialmente efectivo para entornos con muchos servidores o donde la consistencia de configuración es crítica.
Consejos para Operaciones Similares a la Nube
- Creación de Plantillas de VM Guardar máquinas virtuales base usadas frecuentemente como plantillas te permite desplegar nuevos servidores casi instantáneamente.
- Integración de API y Herramientas de Gestión Basadas en Web libvirt proporciona APIs que pueden integrarse con herramientas personalizadas u otros sistemas de gestión. En entornos a gran escala, herramientas de gestión basadas en web como Cockpit permiten un control visual y centralizado.
Solución de Problemas y Soluciones Comunes a Errores
Al operar un entorno KVM, puedes encontrar problemas como máquinas virtuales que fallan al iniciar o problemas de conectividad de red. Esta sección cubre problemas comunes, pasos de solución de problemas y cómo usar efectivamente los registros y recursos de soporte.

Problemas Comunes en KVM
- La máquina virtual falla al iniciar o no se puede crear
- La virtualización de hardware (Intel VT o AMD-V) está deshabilitada
- Memoria o espacio en disco asignado insuficiente
- Pool de almacenamiento incorrecto o ruta de imagen ISO
- Problemas de conectividad de red
- Configuración incorrecta del adaptador de red virtual
- Puente o NAT mal configurado, o fallo en la asignación DHCP
- Restricciones de firewall o seguridad
- Rendimiento severamente degradado
- Sobre-asignación o sub-asignación de recursos
- Controladores virtio faltantes (especialmente para invitados Windows)
- Cuellos de botella en I/O de disco
Inspección de Registros y Flujo Básico de Solución de Problemas
Cuando ocurren problemas, revisar los registros debería ser tu primer paso.
- Revisar registros del sistema
sudo journalctl -xe
Busca mensajes de error relacionados con KVM o libvirt.
- Revisar registros de libvirt Los archivos de registro bajo
/var/log/libvirt/(comolibvirtd.log) proporcionan información valiosa. - Revisar registros específicos de VM Usa virt-manager o virsh para inspeccionar el estado de la VM y revisar detalles de errores en los registros o vista de detalles.
- Revisar estado de red
ip a brctl show virsh net-list --all
Estos comandos ayudan a verificar conexiones de red y configuraciones de puente.
Flujo de Trabajo Básico de Solución de Problemas
- Identifica cuándo comenzó el problema y qué cambió
- Revisa registros y configuraciones
- Modifica configuraciones si es necesario y reinicia servicios o recrea la máquina virtual
Usando Documentación Oficial y Recursos Comunitarios
Los siguientes recursos son extremadamente útiles al solucionar problemas.
- Documentación Oficial Ubuntu Official KVM Documentation libvirt Official Documentation
- Foros Comunitarios y Sitios de P&R
- Ubuntu Forums
- Ask Ubuntu
- Stack Overflow
- Búsqueda Usando Mensajes de Error Buscar mensajes de error exactos tanto en inglés como en tu idioma local a menudo revela soluciones relevantes.
Optimización de Seguridad y Rendimiento
Para operar un entorno KVM de manera segura y eficiente, las medidas de seguridad y la optimización de rendimiento son esenciales. Esta sección introduce técnicas prácticas para proteger tu plataforma de virtualización y maximizar la eficiencia de recursos.
Fortaleciendo la Seguridad de la Virtualización
- Desactivar Servicios Innecesarios y Minimizar la Configuración Desactive los servicios no utilizados tanto en los sistemas invitados como en los anfitriones para reducir la superficie de ataque.
- Cortafuegos y Control de Acceso Configure los cortafuegos (como ufw o firewalld) adecuadamente en los sistemas anfitrión e invitado. Proteja el acceso SSH usando puertos no predeterminados, autenticación basada en claves y herramientas como fail2ban.
- Aislamiento entre Máquinas Virtuales Separe los servidores críticos usando diferentes redes virtuales o segmentación de red física para limitar el daño en caso de compromiso.
- Actualizaciones Regulares Mantenga tanto los sistemas anfitrión como los invitados actualizados con parches de seguridad y actualizaciones de software.
Optimización de la Asignación de Recursos (CPU, Memoria, E/S de Disco)
- Gestión Básica de Recursos Asigne CPU y memoria cuidadosamente a cada máquina virtual, dejando recursos suficientes para el sistema anfitrión.
- Optimización de E/S de Disco Utilice almacenamiento SSD de alta velocidad para máquinas virtuales críticas. Sea cauteloso con el uso excesivo de instantáneas en formato qcow2, ya que puede afectar el rendimiento.
- Usar Controladores virtio Instalar controladores virtio mejora significativamente el rendimiento de disco y red en los sistemas operativos invitados.
Automatización de Copias de Seguridad e Instantáneas
- Creación Regular de Instantáneas Las instantáneas periódicas permiten una recuperación rápida en caso de falla del sistema.
- Respaldar Imágenes de Disco y Archivos de Configuración Realice copias de seguridad regularmente de las imágenes de disco virtual (qcow2 o raw) y de los archivos de configuración XML de libvirt en un almacenamiento externo.
- Integración con Herramientas de Automatización Use cron o Ansible para automatizar las tareas de copias de seguridad e instantáneas.
Conclusión y Recursos de Aprendizaje
Este artículo ha cubierto todo, desde la creación de un entorno de virtualización KVM en Ubuntu hasta operaciones diarias, casos de uso prácticos, solución de problemas, seguridad y optimización del rendimiento. A continuación se muestra un resumen y recursos recomendados para seguir aprendiendo.
Resumen
- Visión General y Beneficios de KVM KVM es una tecnología de virtualización de código abierto y alto rendimiento ampliamente utilizada en entornos de servidores Ubuntu.
- De la Instalación a la Operación Recorremos las verificaciones de virtualización de CPU, la instalación de paquetes, la configuración de permisos, la creación de máquinas virtuales y las operaciones básicas.
- Redes, Almacenamiento y Mejores Prácticas Operativas Aprendió a configurar redes NAT y en puente, gestionar pools de almacenamiento, expandir discos y usar instantáneas de manera eficaz.
- Solución de Problemas y Seguridad Se presentaron soluciones a errores comunes, métodos de inspección de registros y mejores prácticas para operaciones seguras y eficientes.
Próximos Pasos y Recursos Recomendados
- Documentación Oficial
- Guía Oficial de KVM de Ubuntu
- Documentación Oficial de libvirt
- Ask Ubuntu
- Qiita KVM Tag
- Stack Overflow (Inglés)
KVM es una plataforma de virtualización potente adecuada tanto para uso individual como empresarial. Utilice esta guía como base para profundizar su comprensión y adaptar KVM a sus requisitos específicos.
Hoja de Trucos de Comandos y Ejemplos de Configuración Comunes
Tener a mano los comandos y ejemplos de configuración más usados puede mejorar significativamente la eficiencia de la gestión diaria de máquinas virtuales. Esta sección ofrece una referencia concisa.
Comandos Comunes de KVM / virsh / virt-manager
- Listar máquinas virtuales
virsh list --all
- Iniciar una máquina virtual
virsh start <virtual-machine-name>
- Apagar una máquina virtual
virsh shutdown <virtual-machine-name>
- Detener forzadamente una máquina virtual
virsh destroy <virtual-machine-name>
- Crear una máquina virtual (virt-install)
virt-install --name <name> --memory <MB> --vcpus <cores> \ --disk size=<GB> --cdrom <ISO-path> \ --os-type linux --os-variant ubuntu20.04
- Eliminar una máquina virtual (solo definición)
.«`
virsh undefine
### Ejemplos de Configuración de Red y Puente
* **Listar redes**
virsh net-list –all
### Gestión de Almacenamiento y Operaciones de Disco
* **Listar grupos de almacenamiento**
virsh pool-list –all
* **Redimensionar un disco virtual**
sudo qemu-img resize /path/to/disk.qcow2 +10G
* **Crear una instantánea**
virsh snapshot-create-as
### Otros Consejos Útiles
* **Habilitar inicio automático de VM**
virsh autostart
* **Mostrar información detallada de la VM**
virsh dominfo
* **Iniciar virt-manager (GUI)**
virt-manager «`
Preguntas Frecuentes
P1: ¿Cuál es la diferencia entre KVM, VirtualBox y VMware?
R1: KVM es una plataforma de virtualización de alto rendimiento integrada en el kernel de Linux y está bien adaptada para servidores de producción. VirtualBox está principalmente diseñado para uso de escritorio, mientras que VMware ofrece funciones empresariales avanzadas con soporte comercial. KVM es ideal si buscas alto rendimiento a bajo costo.
P2: ¿Cómo puedo hacer copias de seguridad y restaurar máquinas virtuales?
R2: Puedes respaldar máquinas virtuales copiando los archivos de imagen de disco (qcow2 o raw). También se recomienda respaldar los archivos de configuración XML de libvirt y las instantáneas para facilitar la restauración.
P3: ¿Puedo usar dispositivos USB dentro de una máquina virtual?
R3: Sí. Puedes configurar el paso de USB mediante la configuración de hardware de virt-manager o a través de virsh, lo que permite usar dispositivos de almacenamiento USB, discos externos e impresoras dentro de las máquinas virtuales.
P4: ¿Cómo puedo iniciar automáticamente las máquinas virtuales cuando el host arranca?
R4: Ejecuta el comando virsh autostart <virtual-machine-name> para habilitar el inicio automático cuando el sistema host se inicie.
P5: ¿Qué debo hacer si una máquina virtual funciona lentamente?
R5: Revisa la asignación de CPU y memoria, optimiza el I/O del disco (utiliza almacenamiento más rápido o cambia de qcow2 a raw si es apropiado) e instala los controladores virtio en el sistema operativo invitado.
P6: La configuración de red no funciona correctamente. ¿Qué debo comprobar?
R6: Verifica el estado de la red usando los comandos virsh y brctl. Revisa los archivos de configuración del puente y de Netplan o NetworkManager y recrea las redes virtuales si es necesario.
P7: ¿Puedo crear clústeres o configuraciones de alta disponibilidad (HA) con KVM?
R7: Sí. Combinando KVM con Pacemaker, Corosync y almacenamiento compartido (NFS o iSCSI), puedes implementar configuraciones HA y migración en vivo. Se requiere conocimiento avanzado.


