Crear imagen qcow2 Windows Server 2016 Core para Openstack

Introducción

En esta entrada voy a detallar los pasos más relevantes que he seguido para preparar una imagen de Windows Servers 2016 Core en formato qcow2, para posteriormente utilizarla en un OpenStack y reutilizarla para lanzar instancias de ella.

OpenStack pone a disposición imágenes de algunos sistemas operativos, para poder hacer uso de ellas de forma instantánea en tu instalación. En este enlace podemos ver cuales tenemos disponibles:

https://docs.openstack.org/image-guide/obtain-images.html

A fecha de hoy, la versión de Windows Server que nos ofrece OpenStack es la 2012, y en mi caso necesito la 2016.

Por lo tanto no queda otra que hacer este proceso de forma manual y descargar la iso de evaluación que nos ofrece Microsoft de 180 días.

La nueva imagen la crearemos fuera del entorno de instalación de OpenStack, en nuestro propio sistema y posteriormente la subiremos al cloud. Como he dicho antes, necesitamos descargar el fichero ISO del sistema operativo en cuestión, podemos acceder a él en el siguiente enlace:

https://www.microsoft.com/es-es/evalcenter/evaluate-windows-server-2016

Necesitaremos también una herramienta de virtualización, en esta entrada voy hacer uso de KVM. Cuando creemos la nueva máquina virtual con la imagen de Windows Server necesitaremos conectarnos a la consola gráfica de el hipervisor(KVM), para poder interactuar con la máquina virtual e inicializar el proceso de instalación de manera gráfica, kvm nos ofrece esta posibilidad haciendo uso del protocolo VNC o SPICE.

Descargar también la iso de los drivers VirtIO desde la página Fedora Project.

Requisitos:

  • Debian o derivado (En este caso utilizo Debian Stretch)
  • KVM & Libvirt
  • Imagen ISO – Windows Server 2016
  • Imagen ISO – Virtio Drivers

Verificar la red por defecto de libvirt

Para listar las redes que tenemos disponibles:

Salida:

en el caso de que no se encontrará la red default activa, la arrancaríamos de la siguiente forma:

Crear una imagen qcow2 para almacenar el sistema:

Ahora creamos la máquina virtual con virt-install:

Nota: Al arrancar, elegir que haga boot la máquina virtual desde la imagen iso de windows server 2016.

Proceso de instalación de Windows Server 2016:

El pase de diapositivas requiere JavaScript.

Una vez dentro y modificado la contraseña, desde la terminal ejecutar el siguiente comando para terminar de instalar los drivers de red:

Nota: esta ruta es referente en mi instalación, puede ser que se monte la imagen iso en otra unidad y la ruta difiera a la anterior.

Desactivar firewall

No es que sea una buena práctica pero en este caso, nos interesa deshabilitarlo para poder acceder a ella desde VNC a través del componente Horizon de OpenStack, y este mismo se encargará de controlar los accesos a la instancia.

Instalar Cloudbase

Ahora vamos a permitir que corran los scripts de Cloudbase-Init durante el inicio de la instancia, para ello también tendremos que permitir la ejecución de la política de PowerShell:

Descargar e instalar Cloudbase-Init:

El pase de diapositivas requiere JavaScript.

Reducir el tamaño de la imagen qcow2

Por último comprimir el tamaño de la imagen, gracias a la herramienta virt-sparsify:

Con el siguiente comando podemos comprobar que el disco virtual es de 13Gb, pero el tamaño de ficheros es de 6.8G.

Y con virt-sparsify, podemos hacer una imagen menos densa, cogiendo el espacio libre, rellenadolos de ceros y a la hora de volver a comprimir la imagen elimina los espacios que se hubieran rellenado.

Como bien nos indica la salida del comando, es que tengamos cuidado y no borremos la imagen qcow2 antigua, hasta que no hayamos comprado que funciona correctamente la nueva imagen comprimida.

Ahora si ejecutamos el comando qemu-img info veremos que ahora el tamaño del disco es de 3.4GiB y no de 6.8 GiB 🙂

Subir Imagen a OpenStack

Ahora ya tenemos la imagen para subirla a OpenStack :), con la siguiente instrucción:

Salida:

Referencias:

https://docs.openstack.org/image-guide/windows-image.html

https://servercore.net/index.php/2013/01/how-to-disable-the-windows-firewall-on-server-core-installations-of-windows-server-2012-and-hyper-v-server-2012

https://albertomolina.wordpress.com/2016/12/02/shrinking-qcow2-images/

 

Autor entrada: CharlieJ

1 thought on “Crear imagen qcow2 Windows Server 2016 Core para Openstack

    Davis

    (7 mayo, 2018 - 8:57 pm)

    Gracias por el aporte

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *