Almacenamiento, clonación e instantáneas
En este ejercicio vas a gestionar el almacenamiento en QEMU/KVM + libvirt, trabajar con volúmenes en el pool default, comparar formatos de imagen de disco, añadir y redimensionar discos en máquinas virtuales, clonar máquinas y desplegar nuevas instancias con imágenes cloud. Todas las operaciones se realizan desde la línea de comandos.
Ejercicio 1: Pools de almacenamiento
- Muestra con
virshtodos los pools de almacenamiento definidos en tu sistema. ¿Cuántos hay? ¿De qué tipo es cada uno? - Para cada pool, muestra su información detallada: tipo, estado, ruta o recurso al que apunta y capacidad disponible.
- Muestra los volúmenes que contiene cada pool. ¿Qué tipo de volúmenes almacena el pool
default? ¿Y el resto de pools? - Responde: ¿qué diferencia hay entre un pool de tipo
diry uno de tipological? ¿Qué ventaja ofrece cada uno como almacenamiento de discos para máquinas virtuales?
Ejercicio 2: Gestión de volúmenes en el pool default
- Lista los volúmenes existentes en el pool
defaultconvirsh. - Crea un nuevo volumen llamado disco1.qcow2 de 1 GB en el pool
defaultusandovirsh. - Crea un segundo volumen llamado disco2.qcow2 de 2 GB usando
qemu-imgdirectamente en el directorio del pool. Refresca el pool para que libvirt lo detecte. - Lista de nuevo los volúmenes del pool
defaulty comprueba que aparecen los dos nuevos volúmenes.
Ejercicio 3: Diferencia entre qcow2 e img (raw)
- Crea un volumen nuevo_disco.img de tipo raw y 10 GB en el pool
default. - Lista los volúmenes del pool
defaultmostrando la capacidad declarada y el tamaño real que ocupa cada uno en disco. - Compara el espacio real que ocupa nuevo_disco.img con el que ocupa disco1.qcow2. Responde: ¿por qué el fichero raw ocupa todo el espacio desde el principio y el qcow2 no? ¿Qué ventajas e inconvenientes tiene cada formato?
Ejercicio 4: Añadir y redimensionar discos en máquinas virtuales
- Añade disco1 y disco2 a tu máquina Linux usando
virsh. Comprueba convirshque los discos están conectados a la máquina. - Dentro de la máquina, formatea cada disco y móntalo de forma persistente.
- Redimensiona disco1 a 2 GB usando
virsh. Redimensiona disco2 a 3 GB usandoqemu-img(con la máquina apagada). - Dentro de la máquina, amplía el sistema de ficheros de cada disco para aprovechar el nuevo espacio.
Ejercicio 5: Instalación de una MV usando un volumen creado
- Crea un nuevo volumen mv-debian.qcow2 de 10 GB en el pool
default. - Realiza la instalación de una máquina virtual con
virt-installusando ese volumen como disco principal. - Una vez instalada, muestra el fragmento de la definición XML de la máquina donde se comprueba qué volumen está usando como disco.
Ejercicio 6: Clonación completa
- Clona tu máquina Linux con
virt-clone. Llama a la nueva máquina maquina-clonada. - Arranca la máquina clonada. Responde: ¿qué problemas tiene respecto a la original? ¿Qué ocurre con el hostname? ¿Y con las claves SSH del servidor? ¿Por qué es problemático que dos máquinas compartan la misma identidad en la red?
- Realiza los cambios necesarios en la máquina clonada para que tenga una identidad propia: cambia el hostname y regenera las claves SSH del servidor.
- Responde: ¿qué solución existe para no tener que hacer estos cambios a mano cada vez que se clona? ¿Qué es una plantilla?
Ejercicio 7: Despliegue con imágenes cloud y cloud-init
Aunque podemos crear plantillas manualmente (puedes aprender cómo en el curso de referencia), vamos a usar un enfoque más eficiente: las imágenes cloud junto con cloud-init, que es el estándar en entornos cloud para personalizar máquinas en el primer arranque.
- Descarga una imagen cloud de Ubuntu 24.04 y cópiala al directorio del pool
default. - Crea un fichero
cloud.yamlcon configuracióncloud-initque establezca el nombre de la máquina, actualice los paquetes y configure las contraseñas de los usuariosrootyubuntu. - Crea una clonación enlazada a partir de la imagen cloud descargada y amplía el disco a 20 GB.
- Crea la máquina virtual con
virt-installusando la clonación enlazada como disco y el ficherocloud.yamlcomo configuración cloud-init. - Conéctate a la máquina por consola serie. Comprueba que el nombre de la máquina y las contraseñas son los que has configurado.
Ejercicio 8: Instantáneas
- En cualquiera de tus máquinas virtuales, crea un directorio de prueba dentro de la máquina.
- Crea una instantánea de la máquina con
virshy lista las instantáneas disponibles. - Borra el directorio que creaste en el paso 1.
- Recupera la instantánea para volver al estado anterior y comprueba que el directorio ha reaparecido.