Citrix Provisioning Services High Availability and Load Balancing with Citrix NetScaler VPX

PiPo e2H – Soluciones TIC Avanzadas Jose Luis Gomez Ferrer de Couto – vEXPERT 11&12, CCNA, VCP 4&5, VCAP5-DCA, CCA, EMCVSE, IBM

3dic/096

Alta disponibilidad y balanceo de carga en Citrix Provisioning Services con Citrix NetScaler VPX

En ocasiones necesitamos que nuestro servicio no se vea interrumpido por una falla, lo cual originaría perdidas importantes para la empresa. Provisioning Services se puede considerar un servicio crítico, al encargarse de la distribución del sistema operativo por streaming resulta un punto clave en la infraestructura de la empresa, ya que sin él los usuarios y servidores no podrían disponer de su sistema.

Para ello existe la posibilidad de montar una granja de servidores Provisioning Services controlando la entrega gracias a Citrix NetScaler, el cual interrogará cada uno de los servidores por si fallara alguno y además se encargará de balancear la carga, de este modo no tenemos que tener un servidor en espera y tener recursos sin uso.

has-1El procedimiento que seguiremos para conseguir que la solución sea efectiva es el siguiente:

  1. Instalar un servidor de licencias Citrix.
  2. Instalar un servidor Microsoft SQL Server.
  3. Instalar un servidor Citrix Provisioning Services.
  4. Agregar un servidor a la granja Provisioning Services.
  5. Instalar Citrix NetScaler VPX Platinum.
  6. Configurando el entorno.
    1. Citrix NetScaler.
    2. Servicio DNS.
    3. Servicio DHCP.
    4. Citrix Provisioning Services.
  7. Prueba de la solución.

NOTA: Es necesario disponer en el entorno de un servidor Active Directory y un servidor DHCP, en el artículo no se hace referencia a su instalación.

Instalar un servidor de licencias Citrix

Es necesario que en nuestro entorno exista un servidor de licencias Citrix, ya que a la hora de iniciarse Provisioning Services irá a buscar dicho servidor para cargar la licencia.

Esta instalación la podemos realizar siguiendo el artículo Instalando un servidor de licencias Citrix.

Instalar un servidor Microsoft SQL Server

También necesitamos disponer de un servidor Microsoft SQL Server para que Provisioning Services almacena los datos necesarios sobre los clientes y vDisks.

Esta instalación la podemos realizar siguiendo el artículo Instalando un servidor Microsoft SQL Server 2005 Express Edition.

Instalar un servidor Citrix Provisioning Services

Una vez instalados los requisitos previos para nuestro entorno Citrix Provisioning Services ya podemos comenzar a instalar el producto, para ello podemos seguir el artículo Instalando Citrix Provisioning Services 5.1 SP1.

Agregar un servidor a la granja Provisioning Services

Una vez creada nuestra granja, necesitamos agregar al menos un segundo servidor, para ello podemos seguir el artículo Agregando un servidor a una granja Citrix Provisioning Services existente.

Instalar Citrix NetScaler VPX Platinum

Para poder realizar la alta disponibilidad y el balanceo de carga del entorno Citrix Provisioning Services necesitamos un dispositivo que se encargue de este cometido, concretamente Citrix NetScaler VPX. Hemos elegido la versión VPX gracias a que se puede instalar en una máquina virtual.

Para montar la máquina virtual Citrix NetScaler VPX Platinum podemos seguir el artículo Instalando Citrix NetScaler VPX Platinum Edition.

Configurando el entorno

Una vez tenemos todas las instalaciones realizadas y funcionando, nos dispondremos a configurar el entorno global. Para ello lo dividiremos en varios apartados, de este modo todo quedará más claro. El direccionamiento IP que usaremos es el mostrado en el esquema del entorno al principio del artículo.

Citrix NetScaler

El primer paso a realizar es dar de alta el servicio en nuestro NetScaler y asignarle los miembros a ese servicio. Para ello accedemos a nuestra consola de configuración de NetScaler.

ha1

A continuación daremos de alta los servidores miembros del servicio TFTP entre los que se balanceará la carga. Para ello nos dirigimos al apartado Load Balancing -> Servers y hacemos clic en el botón inferior Add.

ha-2

En la ventana de crear servidores le asignamos un nombre a nuestro servidor miembro e introducimos su dirección. Una vez hecho hacemos clic en el botón Create. Realizamos el mismo paso para dar de alta todos los servidores existentes en la granja. Una vez introducido todos los servidores hacemos clic en el botón Close, comprobaremos que van apareciendo en la ventana trasera con un símbolo de OK.

hs-4

hs-4

hs-5

Una vez que están dados de alta los servidores, creamos un grupo de servidores para asociarlo al servicio TFTP. Para ello nos dirigimos al apartado Service Groups y hacemos clic en el botón Add.

ha-6

A continuación rellenamos los campos necesario para dar de alta el grupo que luego asignaremos al servicio. Le asignamos un nombre, en nuestro caso TFTP Provisioning Services para que sea descriptivo. Seleccionamos el protocolo al que lo asociamos, elegimos la opción ANY. Elegimos la opción de especificar miembros basados en servidores, de este modo aparecerán los servidores que dimos de alta anteriormente. En el apartado Port introducimos *, que será cualquier puerto. Tan solo nos falta seleccionar ambos servidores con la tecla control pulsada y hacer clic en el botón Add.

ha-6

Ahora nos situamos en la pestaña Monitors elegimos ping y hacemos clic en el botón Add.

ha-7

Ahora nos situamos en la pestaña Advanced y elegimos la opción User Source IP, esto hará que las peticiones de un cliente a dicho servicio llegue a nuestros servidores de Provisioning Services con la IP del cliente y no con la del NetScaler. Para finalizar hacemos clic en el botón OK.

ha-8

El último paso a realizar es la creación de un servidor virtual al cual asociaremos el grupo de servidores que hemos creado anteriormente. Este servidor virtual dispondrá de una IP virtual la cual usaremos después para dar el servicio a nuestros clientes.

Nos dirigimos al apartado Virtual Servers y hacemos clic en el botón Add.

ha-9

Introducimos un nombre que resulte descriptivo, en nuestro caso VS TFTP (virtual server TFTP). El protocolo a elegir es ANY. Introducimos la IP de nuestro servidor virtual, aquí hemos introducido 192.168.0.56. Por último en esta pestaña nos falta por decir que el puerto es cualquiera, introducimos *.

ha-10

Ahora nos situamos en la pestaña Service Groups, donde aparecerá el grupo creado anteriormente y lo seleccionamos.

ha-11

Para concluir con la creación del servidor virtual nos situamos en la pestaña Method and Persistence y en el apartado Persistence desplegamos y elegimos SOURCEIP. Hacemos clic en el botón OK y ya tenemos creado nuestro servidor virtual.

ha-12

Ahora tenemos que activar el servicio Load Balancing, para ello hacemos clic con el botón derecho encima de Virtual Servers y elegimos la opción Enable Load Balancing feature.

ha-15

Antes de cerrar nuestra consola de NetScaler hacemos clic en el botón Save para guardar los cambios y hacemos clic en el botón .

ha-13

Podemos comprobar que el servicio está funcionando porque aparecerá en la columna % Health dentro del apartado Virtual Servers que está al 100% (siempre que todos los servidores estén activos), si por algún motivo apareciera 50% y sabemos que todos los servidores están funcionando, tendremos que comprobar que esté habilitado el servicio de balanceo de carga, sino se hace clic en el botón Refresh All y hacemos clic en el botón , por si fuera problema de refresco.

ha-16

Servicio DNS

Ahora en nuestro servidor DNS registraremos la dirección IP 192.168.0.56 (VS TFTP) con un nombre descriptivo, en nuestro caso será tftp.soluti-on.local.

ha-17

Servicio DHCP

Ahora es necesario que la opción 66 de nuestro servidor DHCP apunte a la dirección DNS registrada tftp.soluti-on.local, para que las peticiones de los clientes sean reenviadas al NetScaler y no a un servidor Provisioning Services en concreto.

ha-18

Citrix Provisioning Services

Ahora es necesario configurar la entrega del fichero bootstrap, este paso posiblemente lo hemos realizado durante el paso en el cual agregamos el segundo servidor a la granja. De todos modos explicaremos como configurar los servidores encargados de entregar dichero fichero de arranque a los clientes.

Lo primero es entrar en la consola de administración de Provisioning Services y situarnos dentro de nuestro sitio en el apartado Servers.

ps2-7

A continuación hacemos clic con el botón derecho sobre el primer servidor y elegimos la opción Configure Bootstrap.

ps2-8

Hacemos clic en el botón Add y agregamos la IP de los servidores de la granja, en nuestro caso un adicional sólo. Para aceptar hacemos clic en el botón OK.

ps2-9

Y nuevamente hacemos clic en el botón OK.

ps2-10

Realizamos los mismos pasos en nuestro segundo servidor, dejando así las mismas configuraciones de bootstrap en ambos servidores.

A continuación vamos a configurar el almacenamiento de nuestro Provisioning Services. Para ello nos vamos al apartado Stores y hacemos clic con el botón derecho sobre nuestro almacenamiento y elegimos la opción Properties. Si no disponemos de almacenamiento podemos seguir el artículo Creando un almacenamiento para vDisks en Citrix Provisioning Services.

ha-20

En la ventana nos situamos en la pestaña Servers y marcamos los servidores que disponen de dicho almacenamiento y hacemos clic en el botón OK.

ha-21

Ahora nos falta activar el balanceo de carga en el vDisk así como la alta disponibilidad, para ello hacemos clic encima de nuestro vDisk y elegimos la opción Properties.

ha-22

En la pestaña General marcamos la opción Use the load balancing algorithm.

ha-23

A continuación hacemos clic en el botón Edit File Properties... y nos situamos en la pestaña Options y marcamos la opción High Availability (HA). Hacemos clic en el botón OK y nuevamente en OK.

ha-24

Para terminar nos faltaría hacer la base de datos disponible cuando se produzca una caida de esta, si no disponemos de un cluster SQL, esta opción puede ser una solución, pero esto no permitirá poder crear nuevos clientes entre otras operaciones ya que se almacenan en la base de datos.

Para activar estar opción haces clic con el botón derecho encima del nombre de la granja y elegimos Properties.

ha-30

A continuación nos situamos en la pestaña Options y marcamos la casilla Enable offline database support y hacemos clic en el botón OK. Aceptamos también el mensaje de aviso sobre la necesidad de reiniciar el servicio de streaming en los servidores de la granja.

ha-31

ha-32

A continuación nos situamos en el apartado Servers y marcamos los servidores elegimos la opción Stream Service -> Restart.

ha-34

Volvemos a seleccionar ambos servidores y hacemos clic en el botón Restart Services.

ha-35

Prueba de la solución

En el vídeo que se muestra a continuación se puede ver el funcionamiento del servicio.

José Luis Gómez Ferrer de Couto

VMware vExpert 2011 & 2012 / VCP 4&5 / VCAP5-DCA. SysAdmin at TUI Travel PLC. Author of blog PiPo e2H specialized in Virtualization, Storage and Networking.

More Posts - Website

Follow Me:
TwitterFacebookLinkedInGoogle PlusYouTube

Share

¿Te gustó este artículo?

¡Suscríbete a nuestro feed RSS!

Get Adobe Flash player