Container Host en Windows server 2016 TP3 Q&A + ejemplo de despliegue

Buenas

Me gustaría hoy explicar el procedimiento para desplegar un container host de windows server 2016 TP3 en un máquina virtual de Hyper-V.

Sin embargo, antes de explicar de manera técnica como desplegar el container host en una máquina virtual me gustaría dar respuesta a las preguntas más frecuente que he oído sobre este tema.

1– ¿Bajo qué sistema operativo corre el container host?

El container host corre bajo Windows server 2016 Technical Preview 3 de hecho este role de container host se incorpora como novedad en la TP3 de Windows server 2016 la cual fue liberada el pasado 19 de Agosto.

2– ¿Dónde puedo instalar el continer host para probarlo?

Puesto que dicho role corre únicamente bajo la technical preview 3 el único requerimiento que tenemos para configurar un container host es disponer de un hypervisor capaz de ejecutar máquina virtuales corriendo en Windows server 2016 tp3 o de un máquina física corriendo bajo este sistema operativo. El equipo de producto de Hyper-V ha preparado un procedimiento muy sencillo para realizar la instalación en un Hyper-v corriendo bajo Windows 10 o hyper-v tp3 el cual detallaré seguidamente pero también podemos desplegar el role de una manera un poco más manual siguiendo el siguiente procedimiento.
https://msdn.microsoft.com/virtualization/windowscontainers/quick_start/inplace_setup

3– ¿Cómo puedo gestionar/administrar mis containers?

El role de container host de Windows Server 2016 TP3 se basa en el kernel de Docker y por lo tanto es totalmente compatible con este. Por lo tanto podremos administrar nuestros container con el cliente de dockers y con unos cmdlets de Power Shell que han sido creados para tal efecto.

4– ¿Qué aplicaciones se puede ejecutar en containers?
Partiendo de la premisa de que los containers son volátiles y que los mismos se eliminan cuando se reinicia el host y se recrean al arrancar podemos afirmar que nunca debemos ejecutar en un container una aplicación que almacene datos en si misma y no en una capa externa.
Por otro lado son perfectos candidatos para corren en containers las aplicaciones que podemos requerir escalar a través de multiples instancias, que no guardan dependencias con otros roles y que no necesitan almacencar datos como pueden ser aplicaciones web, servicios de colas de mensajes, servidor SMTP ….

Una vez respondidas las preguntas más típicas referentes a este tema me gustaría detallar los pasos que debemos seguir para crear un container Host de Windows server 2016 tp 3 en una máquina de Hyper-V que estará en un Windows 10 sobre el cual podemos empezar a desplegar y a jugar con containers.

El equipo de producto de Microsoft ha realizado un script que realiza todo el trabajo por nosotros por lo que para hacer este despliegue tan solo debemos seguir los 3 siguientes pasos.

1– Descargamos el script de configuración desde la siguiente url

https://raw.githubusercontent.com/Microsoft/Virtualization-Documentation/master/windows-server-container-tools/New-ContainerHost/New-ContainerHost.ps1

2– Ejecutamos el siguiente comando especificando el nombre que queremos definir para el container host y la password de aminitrador.

3– Arrancamos nuestro container host en Hyper-V

Espero que os resulte de utilidad, en un próximo post detallare el procedimiento para desplegar un aplicación web en un container que se ejecutará en un container host.

Un saludo.

Hyper-V en Windows 10

Buenas,

Escribo este post a raíz de una consulta que recibí ayer por mail en la que me preguntaban que funcionalidades de Hyper-V dentro de las que vendrán incluidas en Windows Server 2016 están ya disponibles y se puede hacer uso de ellas en la versión de Hyper-V incluida en Windows 10.

Primero que todo me gustaría mencionar que Hyper-V como hypervisor en si tiene las mismas funcionalidades en la versión servidor de Windows server (server 2016) que su equivalente en la versión con cliente (Windows 10) con la salvedad de la funcionalidades de alta disponibilidad como por ejemplo Failover cluster, CSV, live migration, hyper-v replica las cuales están incluidas únicamente en la versión servidor (Windows server 10)

Seguidamente me gustaría entra un poco más en detalle y resumiros algunas de las novedades de Hyper-V que ya tenemos disponible para empezar ha jugar con ellas en Windows 10.

PowerShell Direct: Nos permite lanzar comandos de power Shell en una máquina virtual invocando su ejecución desde el host. Al usar remote management configuration para invocar los comando no existen restricciones a nivel de red o de firewall para ejecutar los comandos. Es importante mencionar que sistema operativo de la máquina virtual también debe ser Windows 10 on Windows server 2016

– Linux Secure boot: Nos permite habilitar secure boot en máquinas virtuales de generación 2 corriendo en Ubuntu 14.04, Suse Enterprise server 12 o superiores

– Virtual Machine configuration Version: La versión de la configuración de la máquina virtual representa las versiones de Hyper-V que serán capaces de ejecutar la máquina virtual. Básicamente aquí jugaremos con dos versiones, máquina virtuales versión 5 que son compatibles con Windows 8, Windows 10, Windows server 2012 r2 y Windows server 2016. Por otro lado tendremos máquinas virtuales versión 6 que son compatibles con Windows 10 y Windows Server 2016.

– Componentes de integración distribuidos mediante Windows update: Al igual que sucede con Windows server 2016 tenemos la posibilidad de actualizar los componentes de integración mediante Windows update o Wsus de manera conjunta con otras actualizaciones de Windows. Los sistemas operativos guest que soportan está funcionalidad son Windows 7 y superiores por la parte cliente y Windows server 2008 R2 y superiores por la parte de servidor.

– Formatos de archivos de máquina virtual vmcx y vmrs: Las máquinas virtuales creadas en Windows 10 tendrán un fichero de configuración con extensión vmcx y un fichero con extensión vmrs para guardar el estado de ejecución de la máquina virtual. Estos dos tipos de ficheros han sido especialmente diseñados para evitar la corrupción de datos en los mismos.

– Añadir/Quitar adaptadores de red y memoria en caliente: Su propio nombre indica lo que nos ofrece esta funcionalidad, tan solo comentar que para los adaptadores de red requiere máquinas virtuales generación 2 y que para la memoria con máquinas virtuales generación 1 es suficiente.

– Mejoras en la gestión mediante Hyper-V Manager: las tres principales mejoras que nos oferce Hyper-V Manger son:
1 Soporte para credenciales alternativos
2 Soporte para gestión versiones anteriores de Hyper-V
3 Incorpora el protocolo WS-Man para comunicar remotamente con los hosts.

Espero que resulte de utilidad

Un saludo

Azure Resources Group

Buenas

Hoy me gustaría hablar sobre esta funcionalidad de Azure incluida dentro de azure resource manager la cual nos permite agrupar los diferentes recursos que normalmente componen una aplicación como pueden ser los servidores frontales de aplicación, servidores de base de datos, balanceadores… en un grupo de recursos con el objetivo de poder gestionarlos como si fueran una única unidad, de tal manera que las actualizaciones, eliminaciones y los costes de mantener el servicio en azure siempre están lincados con el grupo de recursos.

Los grupos de recursos se integran nativamente con Azure Access control lo que nos permite definir delegaciones de usuarios asociadas con los grupos de recursos.

Tras realizar esta introducción teórica me gustaría contar de una manera práctica como configurar un grupo de recursos en Azure.

1- Una vez nos hemos logado en el nuevo portal de Azure pinchamos en Add New + Management – Resource Group

2- Seguidamente definiremos un nombre para el grupo de recursos e indicaremos la subcripción de Azure y la localización del mismo

Una vez tenemos el grupo de recursos listo tenemos dos opciones para agregar recursos al mismo.

1- Agregar recursos ya creados al grupo de recursos

2- Indicar que los recursos pertenecerán al grupo de recursos durante la creación de los mismo

Igualmente me gustaría hacer eco de un par de funcionalidades bastante interesantes incorporadas dentro de los grupos de recursos.

– Tag: Nos permite tagear recursos con etiquetas de tal manera que podamos categorizarlas atendiendo a nuestros necesidad de gestión o facturación.

– Access Control: Nos permite delegar permisos de administración y uso sobre los recursos contenidos en el grupo de recursos.

Espero que os resulte de utilidad

Un saludo

Azure Stack, Novedades

Buenas,

Una de los mejoras más importantes en el Roadmap de productos Microsoft en cuanto a gestión del datacenter anunciadas en el evento Microsoft Ignite que se celebró a principios de del mes de Mayo en Orlando fue Azure Stack.

Azure Stack no nace como la versión 3.0 de su predecesor (Azure Pack) sino como un nuevo producto rescrito desde 0 que tiene como objetivo principal extender a nuestro private cloud la misma posibilidades y experiencia de gestión y despliegue que actualmente ofrece Windows azure.
Aunque Azure Stack nace como un nuevo producto, si me gustaría comparar su principales novedades/diferencias con respecto a su predecesor (Azure Pack).

– En Azure Stack tendremos un único portal web y una única experiencia de usuario a diferencia de Azure pack donde teníamos una portal web para los tenats y otro para los administradores.

– Azure Stack no dependerá de SCVMM o SPF aunque si se puede integrar con los mismos, a diferencia de Azure pack donde si queríamos tener un SCVMM y un SPF corriendo por debajo. Azure stack elimina esta dependencia puesto que se apoya en las apis de azure resource manager y requiere json arm templates.

– El portal de Azure Stack ha sido totalmente rediseñado y se puede personalizar por completo. Los procesos del portal no tienen una dependencia con el resto de procesos de Azure Stack lo cual nos permite añadir extensiones y workflows sin necesidad de editar el core code o reiniciar los servicios del portal.

– Azure Stack basa su autenticación en claims y por lo tanto ofrece un soporte nativo de autenticación basado en Azure Active Directory, Windows AD o ADFS mientras que azure pack base su autenticación en membresía de grupos de SQL o ADFS.

– Azure Stack incorpora Azure Resources Manager como una nueva management api para la gestión de servicios siendo Azure Resources Manager el encargado de gestionar los recursos de computo, almacencamiento o networking que puede tener un tenant y de agruparlos en un grupo de recursos. Azure Resource Manager igualmente ofrece posibilidades de delegación, gestión de costes para los recursos asociados a los tenants, despliegue de servicios en multiples datacenters y opciones avanzadas de auditoria.

Por último, como en estos casos una imagen suele ser mas explicativa que 1000 palabras me gustaría adjuntaros la siguiente la cual creo que resume a la perfección los cambios más destacados las cuales ya han sido reseñados en este artículo.

Espero que os resulte de utilidad.

Un saludo

Habilitar el interface gráfico (GUI) en Windows server 2016 TP2

Buenos días,

Hoy me gustaría explicar el procedimiento para habilitar el interface gráfico completo en Windows Server 2016 TP2.

Durante la instalación de este sistema operativo tan solo tenemos la opción de instalar el mismo en modo Minshell o en modo core como se puede en el siguiente pantallazo.

Tras tener el sistema operativo instalado con las herramientas de administración podremos habilitar el interface gráfico completo accediendo al server manager e iniciar el asistente para agregar roles y funcionalidades, el mismo seleccionaremos la siguiente opción para instalar el interface gráfico completo.

Una vez realizada esta acción tendremos nuestro servidor con un interface gráfico completo.

Espero que os resulte de utilidad

Un saludo

Creación de un vhdx con Nano Server usando un script de power Shell

Buenas tardes

Ya hace ya algunas semanas mi colega José Ángel (Evangelista de técnico) de Microsoft escribió el siguiente post en el que explicaba pasa o paso como crear una imagen de Nano server usando la technical preview 2 de Windows Server 2016.

Hoy me gustaría explicar a mi como usar el script de power Shell “New-NanoServerVHD.ps1” el cual podemos descargar desde la siguiente url dentro de la scripting gallery, igualmente deberemos descargar el script Convert-WindowsImage.ps1 el cual es invocado desde el anterior. Estos scripts nos permiten generar un vhdx con Nano server el cual podemos usar para desplegar máquinas virtuales guest con nano server o incluso para crear un vhdx con nano server e hyper-v del cual podríamos hacer un boot from vhdx en un host de hyper-v.

En nuestro ejemplo realizaremos una instalación de un guest de Nano Server para crear un vhdx que no valga para un host de hyper-v tan solo deberíamos modificar los paquetes a incluir dentro de los parámetros de entrada del script.

Una vez descargado el script y la iso de Windows server 2016 tp2 tan solo debemos ejecutar el mismo especificando los siguientes parámetros de entrada.

.\New-NanoServerVHD.ps1 `
.\New-NanoServerVHD.ps1 `
-ServerISO
-DestVHD
-VHDFormat
-ComputerName
-AdministratorPassword
-Packages
-IPAddress
-Verbose

En nuestro ejemplo quedaría de la siguiente manera

.\New-NanoServerVHD.ps1 `
-ServerISO ‘C:\windows server 2016 tp2\windows_server2016_tp2.ISO’ `
-DestVHD C:\Temp\NanoServer02.vhdx `
-VHDFormat VHDX `
-ComputerName NANOTESTVM `
-AdministratorPassword ‘P@ssword!1’ `
-Packages ‘Guest’ `
-IPAddress ‘192.168.1.207’ `
-Verbose

Nuestro script se habrá ejecutado correctamente si la ejecución del power Shell tiene una salida como la siguiente:

Para finalizar nuestro ejemplo crearemos una máquina virtual a la que anexaremos el vhdx que acabamos de generar.

Espero que os resulte de utilidad.

Un saludo

Hyper-V en windows 10

Buenas,

Tras recibir una consulta de un amigo en la que me preguntaba acerca de cómo instalar un hyper-v en Windows 10 y las diferencias que tiene a nivel hypervisor con respecto al hyper-V incluida en Windows server he decidido escribir este post puesto que pienso que puede ser útil para otros muchos usuarios.

Primero que todo comentar que el core de hyper-v es el mismo para la versión de Windows cliente que para Windows server por lo tanto no hay ningún tipo de diferencia en los sistemas operativos guest que podemos desplegar. La únicas diferencia que encontraremos entre la versión cliente y la versión servidor esta relacionadas con la alta disponibilidad del role. Por lo tanto lo único que no podremos configurar en la versión cliente son funcionalidades totalmente relaciones con las alta disponibilidad de las máquinas virtuales como puedes ser clusters, CSVs, live migration o habilitar réplicas.

Una vez tenemos claro las funcionalidades que nos aporta tener hyper-v en nuestro Windows 10 tan solo debemos tener una consideración antes del instalar el role en nuestro portátil o equipo de sobremesa que hyper-v al ser un hypervisor de tipo 1 el cual toma recursos directamente del hardware de la máquina sin pasar por el sistema operativo requiere que habiliemos en Bios la virtualización asistida por hardware en el procesador también conocida como Intel-VT en los procesadores Intel.

No voy a poner un pantallazo ni detallar como activar la virtualización asistida por hardware puesto que el procedimiento difiere dependiendo del equipo que estemos usando pero si me gustaría dejaros el link a una herramienta llamada securable la cual nos permite desde Windows verificar si tenemos esta funcionalidad habilitada.

Por último, una vez tenemos la virtualización asistida por hardware habilitada en nuestros equipos el siguiente y ultimo paso será instalar hyper en nuestro Windows 10 para ellos seguimos estos dos sencillos pasos.

1- Accedemos a panel de control y posteriormente a la consola de instalación de funcionalidades de Windows

2- Habilitamos hyper-V

Espero que os resulte de utilidad.

Un saludo

Azure Billing Alert Service

Buenas

Hoy me gustaría hablaros de la funcionalidad billing alert service. Esta funcionalidad de Azure está aún en fase de preview y es muy recomendable activarla para evitar tener sorpresas con la factura de Azure.

A todos los que jugamos o tenemos máquinas en producción en Azure nos ha pasado alguna vez que nos hemos dejando encendida alguna máquina o todo un escenario de laboratorio que no debería estarlo y por supuesto esto tiene una repercusión económica en un sistema de pago por uso.

Una vez explicada la funcionalidad pasamos a ver de manera práctica como habilitar la misma en nuestra cuenta de Azure.

1- Accedemos el portal de funcionalidades en preview de Windows Azure en el siguiente link e indicamos que queremos probar Billing Alert service.

http://azure.microsoft.com/en-us/services/preview/

2- Nos logamos usando nuestras credenciales de Azure

3- Una vez logados en el portal de Azure pinchamos en Account – Subcriptions y seleccionamos las suscripción sobre la que queremos habilitar billing service

4- Seguidamente pinchamos en Alerts y posteriormente en add alert

5- Por último definimos los parámetros de nuestra alerta y pinchamos en Save

Espero que os resulte de utilidad.

Un saludo

FRS y Nivel funcional windows server 2003 totalmente depreciados en Windows Server 2016

Buenas,

Hoy me gustaría informaros que Microsoft ha anunciado oficialmente que tanto el modelo de replicación FRS (File Replication Service) como el nivel funcional windows 2003 server de bosque y de dominio serán depreciados de manera oficial en Windows server 2016.

Como ya casi todo el mundo sabe el soporte oficial para Windows 2003 server finalizará el próximo el 14 de julio del 2015, pero sin embargo este fin de soporte del propio sistema operativo en si no está ligado con el fin de soporte del nivel funcional de dominio Windows 2003 server para el cual tendremos soporte hasta que decidamos incorporar al dominio nuestro primer controlador de dominio corriendo bajo Windows Server 2016. Igualmente es importante mencionar que aunque se soporte el nivel funcional Windows server 2003 durante algún tiempo más, el soporte para controladores de dominio corriendo bajo Windows 2003 server finalizará igualmente el 14 de julio de 2015.

Con el sistema de replicación de dominio FRS pasa algo similar, esta funcionalidad será completamente depreciada en Windows server 2016 por lo tanto además de tener nuestros controladores de dominio corriendo bajo Windows server 2008 o superior debemos cambiar el protocolo de replicación desde FRS a DFS. Esta tarea se puede siguiendo el procedimiento que ya detalle en su día en el siguiente post:

http://blogs.itpro.es/samuellt/2014/06/27/migracion-replication-de-sysvol-desde-frs-a-dfsr/

Por último me gustaría también dejaros el link a la página de Microsoft donde se anuncia la depreciación de FRS y el nivel Windows funcional Windows server 2003 asi como las nuevas funcionalidades en la parte de directorio activo que incorporará Windows Server 2016

https://technet.microsoft.com/en-us/library/mt163897.aspx

Espero que os resulte de utilidad

Un saludo

Runtime Memory Resize en Hyper-V Server 2016

Buenas tardes

Hoy me gustaría hacer eco de esta funcionalidad la cual al igual que muchas otras fue presentada en la conferencia Ignite que Microsoft celebro en Chicago durante la primera semana de mayo del 2015.

Esta funcionalidad como su propio nombre indica y como podemos imaginar nos permite redimensionar la memoria ram de una máquina virtual sin necesidad de apagar y por lo tanto sin la necesidad de interrumpir los servicios que se están ejecutando en la misma.

Es importante comentar que esta funcionalidad requiere de Windows server 2016 actualmente en technical preveiew on Windows 10 tanto en el host (Hyper-V) como en el guest (vm). Igualmente es importante destacar que nunca podremos asignar más memoria de la que tenemos disponible en el host ni quitar memoria a una máquina virtual que este siendo consumida en el momento que hagamos el resize.

Para usar esta funcionalidad y redimensionar la memoria de una máquina virtual que este en ejecución únicamente necesitamos acceder a las settings de la vm y editar el valor de memoria asignado que se encuentra definido como startup ram.

Una vez comentada la funcionalidad y como hacer uso de la misma me gustaría hacer una pequeña reflexión de que nos aporta a diferencia de dynamic memory. Con dynamic memory nosotros podemos definir un umbral de memoria asignada que oscilara entre los valores configurados como memoria mínima y memoria máxima siendo la máquina virtual quien decide en cada momento cuanta memoria consumir dentro del umbral. Sin embargo con runtime memory resize nosotros asignamos una cantidad de memoria ram a la vm de manera estática la cual está siempre a disposición de la misma con indiferencia de que necesite consumirla o no pero con la salvedad de que ahora somos como de añadir o quitar memoria a la máquina virtual sin necesidad de parar la misma.

Espero que os resulte de interés.

Un saludo