Windows Azure Pack es una solución fabulosa para obtener un subconjunto de las funcionalidades disponibles con Azure, en nuestra propia infraestructura. Todo ello apoyado por cosas como Windows Server 2012 R2 y System Center 2012 R2.
Como sería de esperar, en una solución de estas, el “paquete” viene bastante rellenito con multitud de funcionalidades y posibilidades, que no siempre se ven a golpe de click.
Una de las cosas que llaman la atención tras implementar Windows Azure Pack, es que disponemos de 2 formas posibles para el despliegue de máquinas virtuales, lo que vulgarmente se llama IaaS (Infraestructura como servicio) en el idioma de la nube.
Las máquinas virtuales pueden ser “Máquinas virtuales independientes” (Standalone), lo que viene siendo lo mismo que una plantilla de máquina virtual de Virtual Machine Manager, o VM Roles, esta última opción combina las posibilidades del motor de plantillas de VMM con un asistente personalizable de despliegue, resultando en un proceso de creación de máquinas virtuales mucho más rico y lleno de opciones.
Hasta aquí todo es bonito, o eso parece, pero como se dice en mi “pueblo”: Não há bela sem senão.
Una de las características de los VM Roles es el uso de discos diferenciales en la generación de las máquinas virtuales. La idea por detrás de esta opción de diseño consiste en que, ese disco padre (VHD o VHDX) se copia desde la biblioteca de VMM, una sola vez por cada uno de los hosts de Hyper-V en los que se despliega ese “servicio”. VMM va guardando las rutas de estas copias realizadas en cada uno de los nodos de computación durante el primer despliegue y, esto en teoría, acelera no solo el proceso de creación, como también los procesos de escalado, ya que los VM Roles, al contrario de las máquinas independientes, permiten ser escalados a varias instancias similares.
Como desventaja, el uso de los discos diferenciales, hace que muuuuchas máquinas virtuales dependan de un único disco, por lo que si hay un problema con la unidad donde se almacena ese disco (copia de la biblioteca de VMM)… Adivina adivinanza… Pues eso, suicidio en masa de vuestras VMs.
Además, la gestión de estos intrincados de discos padre y discos diferenciales suele ser bastante compleja.
Por otro lado, en un plan más técnico, esta solución también requiere almacenamiento com unas características algo distintas, una vez que ese disco padre, es donde acaban todas las lecturas de las VMs para aquellos sectores que no han cambiado y que se mantienen iguales en todas ellas a lo largo del tiempo, es decir, normalmente el SO, y más concretamente las partes que no sufren actualizaciones.
Con o sin diferencias…
En entornos donde prima la alta disponibilidad esto puede ser un problema y gordo, así que, con el Update Rollup 5 de System Center Virtual Machine Manager 2012 R2 , Microsoft incorporó la posibilidad de modificar este comportamiento para que los despliegues de VM Roles puedan usar discos dedicados, y dotar a nuestra instancias virtuales de alguna independencia, incrementando su fiabilidad.
Esta configuración se implementa mediante una propiedad de “Cloud”, como se indica a continuación:
1. Abrir las propiedades de nuestra “Cloud” en la consola de VMM.
2. Ir al apartado de Custom Properties y pulsar el botón Manage Custom Properties.
3. Elegir como tipo de objeto Cloud y crear una nueva propiedad con el nombre DifferencingDiskOptimizationSupported.
4. Añadir la nueva propiedad a la lista de Assigned Properties y pulsar Ok.
5. En el valor de esta propiedad introducir el valor false y pulsar Ok.
Consola VMM – Dialogo de gestión de propiedades
Una vez realizada esta configuración, todos los VM Roles empezarán a ser creados con discos dedicados. Ahora eso sí, los que ya se habían desplegado previamente mantendrán sus discos diferenciales y su dependencia del disco padre, por lo tanto cuidado con esos borrados.
Si aun así no os queda claro, solo me queda a que juguéis al “Encuentra las diferencias” con la imagen de abajo.
Consolas de VMM – Custom Properties