Herramientas de gestión
Introducción
El ecosistema KVM/libvirt dispone de varias herramientas de gestión, tanto en línea de comandos como gráficas. Las más importantes son virsh (CLI), virt-manager (GUI de escritorio) y virt-install (creación de VMs desde consola).
virsh — CLI principal
virsh es el cliente de línea de comandos de libvirt. Permite gestionar VMs, redes, pools y volúmenes
tanto de forma interactiva como en scripts.
Gestión de VMs
virsh list # VMs en ejecución
virsh list --all # todas las VMs
virsh start nombre-vm # arrancar VM
virsh shutdown nombre-vm # apagado ordenado
virsh destroy nombre-vm # apagado forzado (como quitar la corriente)
virsh reboot nombre-vm # reiniciar
virsh suspend nombre-vm # pausar (estado en RAM)
virsh resume nombre-vm # reanudar desde pausa
virsh autostart nombre-vm # arrancar con el host
virsh autostart --disable nombre-vm
virsh dominfo nombre-vm # info general
virsh domstate nombre-vm # estado actual
virsh dommemstat nombre-vm # estadísticas de memoria
virsh vcpuinfo nombre-vm # info de CPUs virtuales
Snapshots
virsh snapshot-create-as nombre-vm snap1 "antes de actualizar"
virsh snapshot-list nombre-vm
virsh snapshot-revert nombre-vm snap1
virsh snapshot-delete nombre-vm snap1
Consola y acceso
virsh console nombre-vm # consola serie (requiere config en la VM)
virsh vncdisplay nombre-vm # mostrar puerto VNC asignado
virt-install — Crear VMs desde CLI
virt-install permite crear nuevas VMs desde la línea de comandos, especificando todos los parámetros:
CPU, memoria, disco, red e ISO de instalación.
virt-install \
--name ubuntu-server \
--ram 2048 \
--vcpus 2 \
--disk path=/var/lib/libvirt/images/ubuntu-server.qcow2,size=20,format=qcow2 \
--cdrom /tmp/ubuntu-22.04-server.iso \
--network network=default \
--os-variant ubuntu22.04 \
--graphics vnc \
--noautoconsole
Opciones más habituales:
--name: nombre de la VM--ram: memoria en MB--vcpus: número de CPUs virtuales--disk: configuración del disco (ruta, tamaño, formato)--cdrom: ISO de instalación--os-variant: optimizaciones para el SO (ver lista conosinfo-query os)--noautoconsole: no abrir consola automáticamente al crear
virt-manager — Interfaz gráfica
virt-manager es una aplicación GTK que proporciona una interfaz gráfica completa para gestionar VMs
KVM/libvirt. Permite:
- Crear, iniciar, pausar y eliminar VMs
- Ver el escritorio de la VM por VNC/SPICE
- Gestionar discos, interfaces de red y dispositivos USB
- Gestionar snapshots
- Conectarse a hosts remotos via SSH
# Lanzar virt-manager
virt-manager
# Conectar a un host remoto (usa SSH internamente)
virt-manager --connect qemu+ssh://usuario@servidor/system
Otras herramientas útiles
qemu-img — Gestión de imágenes de disco
qemu-img info disco.qcow2 # info de la imagen
qemu-img create -f qcow2 disco.qcow2 20G # crear imagen vacía
qemu-img resize disco.qcow2 +10G # ampliar disco
qemu-img convert -f vmdk -O qcow2 vm.vmdk vm.qcow2 # convertir formato
virt-clone — Clonar VMs
virt-clone \
--original ubuntu-server \
--name ubuntu-server-clon \
--auto-clone
cockpit-machines — Gestión web
Cockpit es una interfaz web de administración de sistemas que incluye el módulo
cockpit-machines para gestionar VMs KVM desde el navegador.
apt install cockpit cockpit-machines # Debian/Ubuntu
dnf install cockpit cockpit-machines # RHEL/Rocky
systemctl enable --now cockpit.socket
# Acceder en: https://IP_DEL_HOST:9090