Citrix Provisioning Server en High Availability
En este documento veremos cómo ampliar una infraestructura de Citrix Provisioning Server para disponer alta disponibilidad, este servicio tan crítico que distribuye SO a escritorios o servidores, ampliando a su vez capacidades y teniendo por tanto un mayor rendimiento! Es una tarea muy sencilla que deberemos realizar en caso de disponer de este servicio en producción para despleguar rápidamene sistemas operativos por red mediante PXE!
Los elementos que debemos considerar poner también en alta disponibilidad serían los almacenes para los vDisk, la ubicación de la Caché de escritura, la base de datos SQL Server (aunque podremos habilitar la posibilidad de trabajar en offline para no tirar el servicio), el servicio TFTP que dará el arranque por PXE (lo veremos en un futuro documento gracias al Load Balancing de Citrix NetScaler, opcionalmente Round Robin) y el servicio DHCP que a partir de Windows 2012 se monta muy fácilmente.
Una vez dispongamos de un entorno de PVS montado y al menos básicamente configurado podremos agregar más servidores de Provisioning Services a nuestra organización para disponer de un entorno en alta disponibilidad y repartir las cargas de aprovisionamiento en más de un servidor, en una granja de servidores! Así que procederemos a la instalación de un segundo servidor PVS y nos uniremos a una granja existente, cumplimentaremos los requisitos de instalación que podremos ver aquí y finalizamos su instalación.
Deberemos indicar en la consola de administración de Provisioning Services quién proveerá del archivo de arranque bootstrap, deberemos configurarlo en principio idénticamente en ambos servidores, sobre cada server de PVS botón derecho “Configure Bootstrap…”
Deberemos agregar las direcciones IP de los servidores PVS que queremos que ofrezcan el fichero de arranque para cargar el SO.
Seleccionaremos los Almacenes que compartan esta granja de servidores, en sus propiedades, en la pestaña de “Servers” deberemos agregar los servidores en cuestión, pueden ser almacenes locales, NAS (CIFS/NFS) o SAN (iSCSI/FC).
En el caso de tener almacenamiento en local para almacenar los vDisk, deberemos tener el contenido de ambos directorios sincronizados manualmente (copiando los ficheros .vhd, .pvp y .ahvd) o con DFS-R o alternativas, sería la solución más sencilla.
Obviamente para obtener un mayor rendimiento iremos a un entorno SAN para almacenar los vDisk en una LUN!
Bien, una vez dispongan los servidores del mismo almacenamiento asignado, deberemos comprobar el estado de la replicación y que pueden acceder a los mismos VHD, desde el almacén en cuestión botón derecho > “Replication Status…”
Y confirmamos que está OK!
Deberemos habilitar en cada vDisk que usan un balanceo y por tanto no están asociados a ningún servidor en concreto. Botón derecho en un vDisk > “Load Balancing…”.
Marcamos “Use the load balancing algorithm”.
Podremos comprobar posteriormente en la pestaña de “Servers” si el balanceo de los equipos es correcto!
Una consideración interesante será siempre el permitir al servicio de Provisioning que pueda dar servicio aunque se caiga el servicio de base de datos SQL Server, por si no tenemos un sistema de HA en este apartado o un mirroring de BD… quitando puntos de fallo! Así que desde las propiedades de la granja de servidores > “Offline database support”, habilitamos “Enable offline database support”.