Continuando con las notas sobre Remote Desktop (Escritorio Remoto) anteriormente Terminal Services, en esta ocasión comenzaré una serie de notas sobre VDI (Virtual Desktop Infrastructure) creando un Virtual Desktop Pool
Primero que nada aclaremos de qué se trata esto. Es básicamente tener un grupo de máquinas virtuales creadas y configuradas que se asignarán a los usuarios en forma dinámica.
Básicamente hay dos tipos “Managed” donde el administrador asigna cada máquina virtual a un usuario en concreto, o “Unmanaged” donde las máquinas se asignan al usuario que lo solicite. De todas formas en este último caso guardaremos el perfil del usuario remotamente obteniendo de esta forma que cada usuario mantenga sus configuraciones y documentos
Utilizaremos 5 máquinas virtuales de acuerdo a la configuración detallada más abajo, cuatro tendrán sistema operativo servidor (una de las cuales deberá soportar Hyper-V), y una será con sistema operativo cliente
Controlador de Dominio (root.guillermod.com.ar)
Nombre: dc1.root.guillermod.com.ar
Configuración IP: 192.168.1.201/24 – DNS: 127.0.0.1
Será el Domain Controller
Servidor (miembro de root.guillermod.com.ar)
Nombre: rdcb1.root.guillermod.com.ar
Configuración IP: 192.168.1.122/24 – DNS: 192.168.1.201
Tendrá la funcionalidad Remote Desktop Connection Broker
Servidor (miembro de root.guillermod.com.ar)
Nombre: rdwa1.root.guillermod.com.ar
Configuración IP: 192.168.1.123/24 – DNS: 192.168.1.201
Tendrá la funcionalidad Remote Desktop Web Access
Servidor (miembro de root.guillermod.com.ar)
Nombre: rdvh1.root.guillermod.com.ar
Configuración IP: 192.168.1.124/24 – DNS: 192.168.1.201
Tendrá la funcionalidad Remote Desktop Virtualization Host
Este equipo debe soportar Hyper-V
NOTA: no instalen Hyper-V manualmente, dejen que lo instale el asistente más adelante, o no funcionará como debe. No me pregunten el por qué pero descubrir eso me ha llevado horas
Cliente (puede ser parte del Dominio o Workgroup)
Nombre: CL1
Configuración IP: Cliente de DHCP
Este equipo se utilizará para demostrar el funcionamiento
El sistema operativo puede ser Window 8 o Windows 7
Inclusive si desean pueden probar desde más de un cliente simultánemente
Necesitaremos obligatoriamente el DVD de Windows 8 Enterprise Edition, ya que es lo requerido por el licenciamiento de VDI
Aprovecharé una de las grandes ventajas de Windows Server 2012 como es la administración centralizada, y haré todas las configuraciones desde DC1
Así que lo primero es en DC1, agregar todos los servidores a utilizar al Server Manager, en la forma supongo que conocida, botón derecho sobre Servers, Add server, etc. etc.
El paso siguiente es instalar y configurar en DC1 el servicio DHCP. No voy a poner las capturas porque entiendo que a esta altura ya todos lo saben hacer.
He configurado un Scope (Ámbito) desde 192.168.1.50 a 192.168.1.99/24 por supuesto asignando DNS y sufijo de Dominio
También he creado en el Dominio una Unidad Organizativa llamada “Desktops” que es donde se crearán las cuentas de las máquinas virtuales
Ya tenemos todo preparado, así que desde Server Manager en DC1 comenzaremos a agregar los roles necesarios en cada una de las máquinas. Es interesante que el sistema nos preguntará por cada funcionalidad en qué máquina lo instalará y configurará 🙂
Si eligiéramos “Quick Start” instalará todos los roles en un mismo equipo, que no es lo que deseamos
Elegimos “Virtual machine-based desktop deployment” ya que lo vamos a hacer es una implementación de máquinas virtuales
Nos indica los roles necesarios, que por otra parte son requeridos para este tipo de instalación
Seleccionamos la máquina que tendrá la funcionalidad Remote Desktop Connection Broker
Ahora la que tendrá Remote Desktop Web Access
Y por último la que tendrá Remote Desktop Virtualization Host
Debemos marcar la opción “Restart the destination server automatically ir required” para que se habilite el botón “Deploy”
Esperamos unos pocos minutos
Y ya está
Ahora dejemos DC1, y vamos RDVH1, ya que deberemos crear la máquina virtual que utilizaremos como plantilla para crear todo el “pool” de virtuales
Es importante que recién ahora que está instalado Hyper-V se cree la imagen para virtualizar.
No mostaré cómo crear una máquina virtual con Windows 8, pero deben tener en cuenta algunas condiciones a cumplir:
- Windows 8 Enterprise Edition (x86 o x64)
- Memoria mínima 1024MB, y no dinámica
- Cuando finalicen con la instalación desconectar el DVD
Esta instalación la podemos personalizar a nuestra necesidad, inclusive instalando aplicaciones
Cuando esté finalizada debemos ejecutar SYSPREP desde una línea de comandos ejecutada como administrador
El comando es:
SYSPREP /OOBE /GENERALIZE /SHUTDOWN /MODE:VM
Observen que estoy usando un modificador que no muestra la interfaz gráfica, y que fue agregado por Windows 8 como es “Mode:VM”
La finalidad es acelerar la detección de hardware y es exclusivo para máquinas virtuales a clonar
Volvemos a DC1, y abrimos Remote Desktop Services
Y en la parte “Tasks” de “Deployment Overview” seleccionamos “Edit Deployment Properties”
Seleccionamos a la izquierda Active Directory y elegimos el Dominio y la Unidad Organizativa correspondiente
Observern que el sistema nos advierte que la Unidad Organizativa no está configurada con los permisos necesarios para la creación de las cuentas de las máquinas virtuales. No da la opción de generar un script que lo haga, o simplemente pulsar el botón “Apply” que es lo que haré
Ahora vamos a “Collections” y seleccionamos “Create Virtual Desktop Collection”
Podemos elegir el nombre que deseemos, yo he elegido “VDI-Pool1”
Observen detalladamente todas las opciones de esta pantalla, que tiene datos muy importantes a tomar en cuenta
Automáticamente detecta al Remote Desktop Virtualization Host
Como las máquinas virtuales se generarán a partir de una instalación de Windows 8 con SYSPREP, si tenemos podemos indicarle un archivo de respuestas para personalizar la instalación
Seleccionamos los datos ue correspondan a nuestro ambiente
Podemos seleccionar a qué usuarios les ofrecerá el uso de las máquinas virtuales, en mi caso dejaré el valor por omisión “Domain Users” o sea a todos los usuarios del Dominio
Podemos indicar hasta cuántas máquinas virtuales podrá ejecutar nuestro RDVH1, dejaré el valor por omisión de 2
Podemos configurar dónde las guardará, y como vamos a implementar los perfiles de usario en forma separada de la máquina virtual para preservar las configuraciones y documentos de cada usuario, dejaremos marcada la opción “Automatically roll back the virtual desktop when the user logs off”
Justamente para preservar estas congiraciones y datos seleccionemos una carpeta compartida, donde deseemos, para el almacenamiento
En mi caso, y como estamos en ambiente de pruebas simplemente le he asignado Everyone (Todos) con Control Total, tanto de compartido como de seguridad, pero en un ambiente productivo hay que asegurarse que RDCB tenga dichos permisos
Observen que podemos limitar el tamaño de los perfiles
El nombre de “User Profile Disks” es porque cada perfil se guarda en un archivo VHD, lo que permite por parte de un administrador montarlo como disco y acceder al mismo
Confirmamos …
LLegados a este punto podemos tomarnos un buen descanso pues se tomará su tiempo para crear las copias de las máquinas virtuales. Cuántas más tenga que hacer más demorará
Ya está
Si vamos a RDVH1, y observamos “Hyper-V Manager” deberíamos ver ambas máquinas virtuales clonadas en funcionamiento.
NOTA: la captura de pantalla fue de uno de mis intentos fallidos por haber instaldo Hyper-V sin el asistente, en cuyo caso arranca sólo una y la otra queda “Saved”. Si siguieron el procedimiento como está descripto ahora ambas deben quedar como “Running”
Lo podemos verificar desde Sever Manager de DC1
¿Funcionará? ¿lo probamos? 😉
Tengo una máquina con Windows 7 en grupo de trabajo, y comienzo conectándome a:
https://rdwa1.root.guillermod.com.ar/RDWeb
Nos dará el consabido error de certificado, pues no hemos configurado estoy, y por lo tanto está usando uno autofirmado. No importa ya que estamos en un ambiente de pruebas/demostración
Y las demás advertencias usuales …
Iniciamos con un usuario que hemos creado previamente en el Dominio para probar
Seleccionamos el “pool” creado
Más advertencias …
Ahora las credenciales para inciar sesión en la virtual
Va tomar unos instantes para hacer la conexión segura
¡Conectados!
Para demostrar que se guarda la información he creado dos archivos uno en el escritorio y otro en la carpeta Documentos
Cerramos la sesión para que se guarde la configuración en el “User Profile Disk” correspondiente al usuario
Aunque no mostraré las capturas de pantalla porque en realidad no se podría distinguir, podemos iniciar con este usuario en cualquier máquina, y cuando se conecte al “pool” volverá a tener disponible su información
Inclusive, podemos tener más máquinas que se conecten simultáneamente cada uno con su usuario y que le suministre una virtual a cada uno
Particularmente para esta demostración he hecho sólo dos máquinas virtuales, por lo que no puedo más de dos simultáneos, pero es sólo por los recursos hardware con los que cuento
E inclusive podemos verificar el funcionamiento simultáneo en RDVH1
También podemos verificar que se creen los VHDs correspondientes a los perfiles de cada usuario que inicie sesión, y la configuración base inicial desde la que se ha creado cada una
Resumiendo lo que nos permite esto. Un grupo de máquinas virtuales, preconfiguradas, que se asignan dinámicamente a cada usuario que inicie sesión y que esté autorizado, guardando en forma separada la configuración de cada uno de ellos