Artículo original publicado el sábado, 27 de octubre de 2012

Historia de las OAB

Las libretas de direcciones sin conexión, conocidas como OAB, son un componente esencial de la infraestructura de Exchange desde hace tiempo. Los clientes de Microsoft Outlook usan una OAB en el modo caché de Exchange para hacer búsquedas en la libreta de direcciones cuando no hay conexión. Las OAB también son fundamentales para reducir la carga de trabajo de los servidores Exchange, ya que los clientes de Outlook del modo caché siempre enviarán las solicitudes primero a la OAB local.

La OAB ha evolucionado en las distintas versiones de Exchange. La última revisión importante realizada en la arquitectura de la OAB fue la de Exchange Server 2007, donde introdujimos la distribución web de la OAB e hicimos que el rol de servidor CAS tuviese mayor responsabilidad en la distribución de la OAB. Sin embargo, el proceso de generación de OAB en sí no ha cambiado mucho.

Hasta ahora.

Con el cambio en la arquitectura del rol de servidor introducido en Exchange Server 2013, también hemos cambiado la forma en que se generan y distribuyen las OAB entre los clientes. Exploremos la nueva OAB de Exchange 2013 comparándola con sus predecesoras.

Cambios en la generación de OAB

¿Qué servidor generará la OAB?

En todas las versiones anteriores de Exchange, la generación de OAB estaba unida a un servidor Exchange concreto mediante la propiedad Server. Cuando se instala el primer servidor de buzón de correo de Exchange, la configuración lo designa como el servidor de generación de OAB. Se pueden crear todas las OAB necesarias. Al crear una OAB, hay que indicar el servidor de generación de OAB.

OAB en Exchange Server 2010:

Get-OfflineAddressBook "Default Offline Address Book" | fl name,server
 
Name : Default Offline Address Book
Server : MBX1

La desventaja de este método era que solo se configuraba un servidor para la generación de OAB y este representaba un único punto de error. Si este servidor no estaba disponible durante mucho tiempo, la generación de OAB se veía afectada.

En Exchange 2013, la OAB la genera cada uno de los servidores Buzón de correo de Exchange 2013 que hospedan un tipo especial de buzones de arbitraje, denominados buzones de organización. La generación de OAB ya no está ligada al parámetro Server.

OAB en Exchange Server 2013:

Get-OfflineAddressBook "Default Offline Address Book (Ex2012)" | fl name,server
 
Name : Default Offline Address Book (Ex2012)
Server :

La desvinculación de la OAB de un servidor concreto permite que varios servidores Buzón de correo generen la misma OAB. Esta nueva arquitectura aporta una gran resistencia a la generación de OAB.

¿Qué componente generará la OAB?

El servicio Operador de sistema de Microsoft Exchange era la herramienta responsable de la generación de OAB en versiones anteriores de Exchange. La generación de OAB era un proceso programado, es decir, que empezaba a la hora que se había configurado en la propiedad OAB independientemente de la carga de trabajo existente en el servidor.

En Exchange 2013, el OABGeneratorAssistant, un asistente de buzones que depende del servicio Asistentes de buzón de Microsoft Exchange, genera la OAB. Como la mayoría de los asistentes de buzones, OABGEnerationAssistant es un proceso limitado: funciona o se pone en pausa dependiendo de la carga de trabajo que haya en el servidor.

¿Dónde se almacenan los archivos de OAB?

En versiones anteriores de Exchange, la OAB generada por el servidor Buzón de correo se encontraba en la carpeta %ExchangeInstallPath%\ExchangeOAB. La carpeta se compartía para que el CAS pudiese recuperar los archivos de OAB y distribuirlos entre los clientes de Outlook.

En Exchange 2013, los archivos de OAB primero se generan y almacenan en el Buzón de la organización y luego se copian a la carpeta %ExchangeInstallPath%\ClientAccess\OAB\.

Cambios en la distribución de la OAB

Exchange 2007 y 2010 admitían dos métodos de distribución de OAB: la distribución web y la distribución en carpetas públicas. Exchange 2013 solo admite la distribución web, así que vamos a ver los cambios en el método de distribución web.

El CAS de Exchange 2007/2010 extraía los archivos de OAB generados en el servidor Buzón de correo correspondiente y los almacenaba localmente. El servicio de distribución de archivos de Microsoft Exchange existente en el rol del CAS se encargaba de extraer los archivos OAB.

Este era el flujo de bajada de OAB del lado cliente:

  1. Outlook recibe la dirección URL de la OAB desde Detección automática y obtiene acceso a un servidor CAS.
  2. El CAS autentica al usuario y suministra archivos de OAB desde el disco local.

Este método tiene un par de desventajas:

  1. La OAB no se puede bajar si el CASno tiene los archivos de OAB localmente.
  2. Si el servicio de distribución de archivos del CAS no funciona, los clientes recibirán archivos de OAB obsoletos, es decir, que no recibirán las actualizaciones.

En Exchange 2013, los archivos de OAB no se almacenan localmente en el CAS. CAS 2013 retransmite todas las solicitudes de bajada de OAB al servidor Buzón de correo de Exchange 2013 apropiado. Con este cambio en la arquitectura, el servicio de distribución de archivos de Microsoft Exchange se quita del rol del CAS.

En Exchange 2013, este es el flujo de la bajada de OAB:

    1. Outlook recibe la dirección URL de la OAB desde Detección automática y obtiene acceso al CAS 2013 designado a través de la dirección URL.

El servidor CAS lleva a cabo las acciones siguientes:

  1. Realiza la autenticación inicial de la OAB.
  2. Envía las solicitudes a Active Directory y determina el Buzón de la organización más próximo al usuario solicitante.
  3. Vuelve a enviar las solicitudes a Active Directory para determinar la base de datos de buzones que hospeda el Buzón de la organización.
  4. Envía las solicitudes a Active Manager para determinar el servidor de buzón de correo donde está activa la base de datos de buzones (montada).
  5. Retransmite la solicitud al servidor Buzón de correo identificado en el paso 4.
  6. Recupera los archivos de OAB y se los pasa al cliente.

Este nuevo flujo de trabajo supera las desventajas del flujo de trabajo de bajada de OAB heredado.

El Buzón de la organización

El Buzón de la organización es un nuevo tipo de buzón de arbitraje incorporado en Exchange 2013. El buzón de arbitraje con capacidad persistente OrganizationCapabilityOABGen se denomina Buzón de la organización y desempeña un papel crucial en la generación, el almacenamiento y la distribución de OAB.

Todos los roles de buzón de correo de Exchange Server 2013 que hospeden un Buzón de la organización generarán todas las OAB de Exchange 2013 definidas en el entorno. La OAB se genera primero en el Buzón de la organización y después se copia al disco.

Use el comando siguiente para identificar el Buzón de la organización:

Get-Mailbox -Arbitration | where {$_.PersistedCapabilities -like "*oab*"}

Ejemplo:

Get-Mailbox -Arbitration | where {$_.PersistedCapabilities -like "*oab*"}
 
Name Alias ServerName ProhibitSendQuota
---- ----- ---------- -----------------
SystemMailbox{bb558c35... SystemMailbox{bb5... mbx1 Unlimited

Almacenar los archivos de OAB en el Buzón de la organización aumenta la resistencia de los archivos de OAB.

Resumen: un escenario real

El escenario siguiente recoge los puntos fundamentales que hemos aprendido hasta ahora:

  1. MBX1 y MBX2 son servidores Buzón de correo de Exchange 2013 y pertenecen a un DAG. CAS1 es un CAS de Exchange 2013.
  2. El buzón de la organización está presente en la base de datos DB1 del buzón. DB1 tiene copias en MBX1 y MBX2.
  3. DB1 está activa en MBX1.
  4. El servicio Asistentes de buzón de Microsoft Exchange de MBX1 generará la OAB.
  5. La OAB se generará primero en el buzón de la organización y luego se copiará al disco de MBX1. En este momento, MBX2 no está haciendo nada relacionado con la generación de OAB.
  6. Un cliente de Outlook intenta bajar la OAB y obtiene acceso a CAS1 a través de la dirección URL de la OAB.
  7. CAS1 envía solicitudes a Active Manager y descubre que la base de datos que hospeda el buzón de la organización (DB1) está activa en MBX1.
  8. CAS1 retransmite la solicitud de bajada de OAB a MBX1 y devuelve los archivos al cliente.
  9. En este punto, MBX1 se cae por un fallo en el suministro eléctrico y DB1 se activa en el servidor MBX2.
  10. CAS1 recibe otra solicitud para bajar OAB, vuelve a enviar una solicitud a Active Manager y esta vez retransmite la solicitud a MBX2, ya que DB1 ahora está activa en MBX2.
  11. MBX2 extrae los archivos de OAB presentes en el buzón de la organización y los coloca en el disco para garantizar que el cliente reciba los últimos archivos.
  12. MBX1 vuelve a estar en línea, pero DB1 sigue activa en MBX2.
  13. En el siguiente ciclo de trabajo de generación de OAB, la OAB la generará el servicio Asistentes de buzón de Microsoft Exchange de MBX2.

En el siguiente artículo de esta serie, explicaremos cómo administrar la nueva OAB en Exchange 2013.

Bhalchandra Atre

Esta publicación del blog es una traducción. Puede leer el artículo original en OAB in Exchange Server 2013