Creación de máquinas virtuales desde la línea de comandos
En este ejercicio vas a instalar QEMU/KVM + libvirt, crear una máquina virtual Linux sin entorno gráfico y otra con un sistema Windows, y comprobar el funcionamiento, la red, el almacenamiento y la definición XML de cada una de ellas. Todas las operaciones se realizan desde la línea de comandos usando una conexión privilegiada a libvirt (qemu:///system).
Preparación del entorno
- Instala los paquetes necesarios para trabajar con QEMU/KVM y libvirt en tu equipo.
- Añade tu usuario al grupo
libvirtpara poder usarvirshsinsudo. - Comprueba que el servicio
libvirtdestá activo y que puedes listar las máquinas con una conexión privilegiada. - Estudia la red
defaulty el pool de almacenamientodefaultque libvirt ha creado por defecto. Anota: rango de direcciones IP de la red, modo de funcionamiento (NAT) y ruta del pool de almacenamiento.
Ejercicio 1: Máquina virtual Linux sin entorno gráfico
Vas a crear una máquina virtual Debian/Ubuntu sin entorno gráfico usando virt-install.
- Descarga la ISO de instalación netinst de Debian (o Ubuntu Server).
- Crea la máquina con
virt-installindicando: nombre, memoria (2 GB), vCPUs (2), un disco de 10 GB en formatoqcow2dentro del pooldefault, la ISO como CDROM, la reddefault, sin entorno gráfico y consola serie. - Realiza la instalación desde la consola serie. Configura el sistema con un usuario que tenga
sudoy el servicioopenssh-serverinstalado. - Una vez instalada y arrancada, comprueba con
virshla información del dominio, las interfaces de red y los discos asociados. - Muestra la definición XML completa de la máquina e identifica los bloques de memoria, vCPUs, dispositivos de disco e interfaces, y el tipo de gráficos.
- Averigua la dirección IP que ha tomado la máquina en la red
defaultconsultando las concesiones DHCP, y accede por SSH desde el host. - Practica las operaciones habituales de gestión: apagar, arrancar, suspender, reanudar, apagado forzoso y configuración de arranque automático.
Ejercicio 2: Máquina virtual Windows
Vas a crear una máquina virtual con un sistema Windows (cualquier versión 10/11 de evaluación o Windows Server). En este caso sí necesitarás interfaz gráfica para la instalación.
- Descarga la ISO de Windows.
- Crea la máquina con
virt-installajustando los recursos (Windows requiere más RAM y disco): al menos 4 GB de memoria, 2 vCPUs y un disco de 40 GB. Usa la reddefaulty gráficos SPICE. - Conéctate con
virt-viewerovirt-managerpara completar la instalación gráfica. - Una vez instalado Windows, habilita el Escritorio remoto (RDP) desde el sistema y abre el puerto 3389 en su firewall.
- Averigua su IP y comprueba que puedes acceder por RDP desde el host.
- Comprueba con
virshla misma información que en la máquina Linux y compara la definición XML de ambas: ¿qué dispositivos cambian (controladora de disco, tipo de gráficos, sonido, USB)?
Ejercicio 3: Modificación de la definición XML
- Apaga la máquina Linux y edita su definición XML:
- Aumenta la memoria a 3 GB y los vCPUs a 3.
- Añade un segundo disco de 5 GB. Para ello, primero crea el volumen en el pool
defaulty después añade el bloque<disk>correspondiente en el XML del dominio.
- Arranca la máquina y comprueba dentro de ella que ve la nueva memoria, los nuevos vCPUs y el nuevo disco.
Ejercicio 4: Acceso desde el exterior
La red default es de tipo NAT, por lo que las máquinas no son accesibles directamente desde fuera del host. Vas a configurar un acceso desde otro equipo de tu red local:
- En el host, crea una regla de DNAT que redirija un puerto del host (por ejemplo 2222) al puerto 22 de la máquina Linux. Asegúrate de que la regla persiste y de que el reenvío de paquetes está habilitado.
- Desde otro equipo de tu red local accede por SSH a la máquina Linux usando la IP del host y el puerto redirigido.
- Repite el procedimiento con la máquina Windows redirigiendo otro puerto del host al 3389 de la VM y comprobando el acceso por RDP desde otro equipo.