KVM - Crear máquina virtual (VM)

Introducción

El sistema debe tener instalado y configurado todo lo necesario, instalar KVM.

# Listar máquinas virtuales
virsh list
virsh list --all

Herramientas para las imágenes de discos

Para crear discos elegiremos el formato que queremos que tenga con la opción -f, la ubicación de la imagen y el tamaño. Una vez creado el disco existen otras opciones para consultar o modificar el disco.

# Crear disco en formato qcow2
qemu-img create -f qcow2 /var/lib/libvirt/images/disk-vm-0.qcow2 20G

# Crear disco en formato raw
qemu-img create -f raw /var/lib/libvirt/images/disk-vm-0.img 10G

# Consultar información de un disco existente
qemu-img info /var/lib/libvirt/images/disk-vm-0.qcow2

# Modificar tamaño del disco
qemu-img resize /var/lib/libvirt/images/disk-vm-0.qcow2 30G
qemu-img resize /var/lib/libvirt/images/disk-vm-0.qcow2 +10G

# Recuperar espacio vacío copiando a otro fichero
virt-sparsify /var/lib/libvirt/images/disk-vm-0.qcow2 /var/lib/libvirt/images/disk-vm-0-sparse.qcow2

# Recuperar espacio vacío sin copiar a otro fichero
virt-sparsify --in-place /var/lib/libvirt/images/disk-vm-0.qcow2

# Convertir un disco a otro formato
qemu-img convert -f raw -O qcow2 /var/lib/libvirt/images/disk-vm-0.img /var/lib/libvirt/images/disk-vm-0.qcow2

Crear máquina virtual (instalación atendida)

Es posible crear máquinas virtuales mediante lína de comandos con el comando virt-install. Al lanzar el comando se iniciará automáticamente la máquina virtual. Para conectar la máquina a la red tendremos que conocer la configuración de red virtual. Necesitaremos tener la imagen ISO del sistema operativo que queremos instalar. El siguiente comando iniciará una máquina virtual y la instalación se iniciará a espera de que nos conectemos a la máquina para realizar una instalación atendida. Para ello podemos usar la interfaz gráfica de virt-manager

virt-install --name NOMBRE_MV --virt-type kvm --vcpus N_CPUS --ram RAM --network CONFIGURACION_RED --boot hd,menu=on --disk path=PATH_DISCO,device=disk --cdrom=ISO_SO --graphics none --os-type=SO_INFO --os-variant=SO_INFO --noautoconsole

virt-install --name vm_0 --virt-type kvm --vcpus 2 --ram 2048 --network bridge=virbr0,model=virtio --boot hd,menu=on --disk path=/var/lib/libvirt/images/disk-vm-0.qcow2,device=disk --cdrom=/ruta/imagen/ubuntu-24.04-live-server-amd64.iso --graphics spice --os-type=Linux --os-variant=ubuntu22.04 --noautoconsole

Si queremos crear la configuración de la máquina virtual pero sin inicar automáticamente podemos utilizar la opción --print-xml para crear el fichero de configuración en formato XML y luego utilizar el comando virsh define para crear la máquina virtual.

Eliminar una máquina virtual

El comando elimina la configuración de la máquina virtual. Para eliminar los discos de la máquina virtual puede añadirse la opción --remove-all-storage (elimina también cualquier .iso que esté en algún medio) o eliminar el/los discos relacionados manualmente.

virsh undefine NOMBRE_MV