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 con osinfo-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
          

Para automatización y scripting, virsh y virt-install son las herramientas más adecuadas. Para uso interactivo y gestión visual, virt-manager o Cockpit ofrecen una experiencia más cómoda.

Creación y gestión básica de máquinas virtuales

Índice de la sección

Índice del curso