Exchange Server 2013 – Introducción a Client Access High Availability

En uno de mis artículos previos, comentaba que Exchange Server 2013 trae consigo diversas novedades y entre ellas se encuentran cambios estructurales para llevar a cabo alta disponibilidad del rol de Acceso Cliente.

Como conocíamos en Exchange Server 2010, para lograr el objetivo de alta disponibilidad para acceso cliente, lo hacíamos por medio de un CAS Array, el cual se configuraba por sitio de Active Directory y todos los servidores CAS que se agregaban a dicho sitio pertenecían en forma automática al Array. A su vez se debía disponer de un balanceador de carga, ya sea WNLB o uno de hardware o software que se ofrecen en el mercado para balancear todas las conexiones entrantes que luego se distribuyen a los servidores de acceso cliente.

Exchange 2013, dejo de incorporar el concepto de CAS Array, utilizando el concepto de un único espacio de nombre para la conectividad de los clientes Outlook.

¿Cómo llego a configurar el servicio de alta disponibilidad para mis servidores CAS?

Esto es posible entre otras cosas principalmente al concepto de espacio de nombres únicos junto al servicio de Outlook Anywhere.

¿Qué  es Outlook Anywhere? En palabras sencillas es el servicio que en versiones previas de Exchange, permite conectar clientes Outlook por RPC/MAPI a través de HTTP o HTTPS, utilizado principalmente en conexiones externas.

En Exchange 2013, a diferencia de otras versiones, Outlook Anywhere es utilizado tanto en las conexiones internas como externas de los clientes Outlook, es decir todo va por HTTP / HTTPS.

Para crear el único espacio de nombres para la conexión, se debe contar:

  • Por lo menos dos servidores Exchange Server 2013 con el rol de CAS.
  • Registros DNS que utilizaremos para el espacio de nombres de los clientes Oultook.
  • Outlook Anywhere configurado con el registro DNS del espacio de nombres.

Paso 1:

  • Crear los registros DNS que apunten a la IP de cada uno de los servidores CAS
    • Por ejemplo: Si quiero que mi espacio de nombre sea mail.nicolasgranatadotcom.com, debo configurar.
    • 1 registro A en el DNS interno que apunte a cada IP de mis servidores CAS con DNS
      • Mail.nicolasgranatadot.com —> 192.168.1.30
      • Mail.nicolasgranatadot.com —> 192.168.1.31

Paso 2:

  • Configurar a traves de PowerShell, para que el servicio de Outlook Anywhere apunte al espacio de nombres:
    • Get-OutlookAnywhere | Set-OutlookAnywhere -InternalHostname mail.nicolasgranatadotcom.com-InternalClientsRequireSsl $false

Paso 3:

  • Luego de aplicar el cambio, verificar que los clientes Outlook se conecten a través del espacio de nombres.
    • Esto se verifica presionando y manteniendo a tecla Ctrl y luego haciendo click derecho en el icono de Outlook en el área de notificaciones.

Esta configuración, puede ser utilizada en forma interna aplicando DNS Round Robin, sin necesidad de utilizar un balanceador de carga.

Los clientes Outlook no notaran disrupción en caso de una caída del servidor de Acceso Cliente y podrán seguir conectados normalmente.

Balanceando la carga en Exchange 2013.

Ante la necesidad de contar con alta disponibilidad de todos los servicios de acceso cliente de Exchange (OWA, Active Sync, EWS, Remote PowerShell, Outlook Anywhere), debemos contar un balanceador de carga que distribuya de manera uniforme las conexiones entrantes hacia los servidores de acceso cliente.

El balanceo de carga tiene como propósito, reducir el impacto ante la falla de un servidor CAS en mi sitio de Active Directory y a su vez asegurarse que la carga este distribuida entre cada uno de los servidores.

En Exchange 2010, las conexiones clientes y el procesamiento era manejada por el servidor de Acceso Cliente. Esto requiere que las conexiones de Outlook tanto externas como internas, dispositivos móviles, y conexiones de terceros estén balanceadas a través del Array para lograr la tolerancia a fallos y un uso eficiente de los servidores.

Para lograr esto, se debía utilizar una de las siguientes opciones:

  • Windows Network Load Balancing con afinidad de IP de origen (Source Affinity)
  • Balanceador de hardware

Microsoft recomienda, debido a las diferentes necesidades de los protocolos de Exchange 2010, utilizar un balanceador de carga de capa 7, conocidos como balanceadores de carga a nivel aplicación.

Estos balanceadores, son complejos de configurar y administrar debido a la cantidad de reglas que se deben utilizar, por otro lado también son costosos, implicando una fuerte inversión a la empresa que decida implementar una solución de balanceo por hardware.

Usualmente las empresas para tener soluciones robustas de alta disponibilidad quedaban “atrapadas”, a utilizar balanceadores de capa 7 como F5 o KEMP LoadMaster.

En Exchange 2013, los servidores de acceso cliente sirven como servidores proxy sin estado, permitiendo a los clientes conectarse directamente hacia los servidores de buzones.

Por otro lado, tienen la particularidad de que cuando un usuario accede a un servidor de acceso de cliente, dicho servidor ya no hace de render de OWA, y en su lugar actúa como un proxy inverso. Es el servidor de buzones hará que el render de OWA.

Esto está acompañado del cambio estructural de la nueva arquitectura de Exchange, donde el servidor buzones siempre incluye todas las funciones para enrutar el correo, hacer que el render del contenido web y recibir correo de voz.

A su vez, tienen soporte a balanceadores de capa 4, esto quiere decir que las solicitudes se distribuyen a nivel de capa de transporte y no de aplicación como sucede con los capa 7. Por otro lado son menos costosos y más simples de implementar.

La conexión entre el cliente y el servidor debe ser establecida antes  de que se determine el contenido de la solicitud, por lo que el balanceador de carga selecciona un servidor para recibir la solicitud antes de examinar el contenido de la misma. La selección del servidor de destino se puede hacer de varias maneras, tales como “round-robin”, en la que cada conexión de entrada va al siguiente servidor de destino en una lista circular, o “least connections”, en la que el balanceador de carga envía cada nueva solitud de conexión, al servidor que tiene el menor número de conexiones establecidas en ese momento.

Tampoco es necesario la afinidad de sesión , por lo que se tiene más flexibilidad a la hora de la elección y la simplicidad con respecto a la arquitectura de balanceo de carga se implementa .

Como siempre, se puede seguir optando por Windows Network Load Balancing pero con teniendo en cuenta las siguientes limitaciones:

  • WNLB no se puede utilizar en los servidores de Exchange donde también se está utilizando DAG, porque WNLB es incompatible con Windows Cluster Service. Por lo que si deseas usar WNLB, debes tener el rol CAS separado del Mailbox.
  • WNLB no detecta las interrupciones del servicio, sólo detecta caídas del servidor por su dirección IP. Esto significa que si un servicio web en particular, como Outlook Web App, falla, pero el servidor sigue funcionando, WNLB no detectará el error y seguirá las solicitudes a ese servidor de acceso de cliente.
  • WNLB sólo realiza la afinidad del cliente mediante la dirección IP de origen.

Conclusión

Como vemos, Exchange Server 2013 trae diversas mejoras con respecto a la alta disponibilidad y balanceo de carga, donde provee diversas alternativas para cualquier bolsillo y necesidad, que van desde un balanceador de hardware / software de capa 4, pasando por WNLB y el propio DNS Round Robin.
Queda solamente que lo prueben y puedan sacar sus propias conclusiones.

Fuente: http://technet.microsoft.com/en-us/library/jj898588(v=exchg.150).aspx

Pueden visitar las siguientes web para mayor información:

http://exchangeserverpro.com/exchange-2013-client-access-server-high-availability/

http://www.msexchange.org/articles-tutorials/exchange-server-2013/high-availability-recovery/introducing-load-balancing-exchange-server-2013-part1.html

Advertisements

2 thoughts on “Exchange Server 2013 – Introducción a Client Access High Availability

Add yours

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Blog at WordPress.com.

Up ↑

%d bloggers like this: