Article d’origine publié le samedi 27 octobre 2012

Historique des carnets d’adresses en mode hors connexion

Les carnets d’adresses en mode hors connexion, ou OAB, sont depuis longtemps des composants essentiels de l’infrastructure Exchange. Ils sont utilisés par les clients Microsoft Outlook en mode Exchange mis en cache pour consulter les adresses en mode hors connexion. Les OAB jouent également un rôle primordial dans la réduction de la charge de travail sur les serveurs Exchange dans la mesure où les clients Outlook en mode cache commencent toujours par interroger l’OAB local.

Les OAB ont évolué au fil des différentes versions d’Exchange. La dernière grande refonte de l’architecture de l’OAB remonte à Exchange Server 2007, où nous avons introduit la distribution des OAB par le web en plus de l’accroissement du rôle du serveur d’accès au client (CAS) dans la distribution de l’OAB. Toutefois, le processus de génération de l’OAB n’a pas beaucoup changé en soi.

Jusqu’à maintenant.

Dans Exchange Server 2013, nous avons changé non seulement l’architecture du rôle du serveur, mais aussi la manière dont sont générés et distribués les OAB aux clients. Explorons le nouvel OAB dans Exchange 2013 et comparons-le à ses prédécesseurs.

Changements apportés au processus de génération de l’OAB

Quel serveur va générer l’OAB ?

Dans toutes les versions précédentes d’Exchange, la génération de l’OAB était liée à un serveur Exchange spécifique par la propriété Server. Lorsque vous installez le premier serveur de boîte aux lettres Exchange, le programme d’installation le désigne comme serveur de génération d’OAB. Vous pouvez créer de nouveaux OAB quand vous en avez besoin. Lorsque vous créez un OAB, le serveur de génération d’OAB doit être spécifié.

OAB dans Exchange Server 2010 :

Get-OfflineAddressBook "carnet d’adresses en mode hors connexion par défaut" | fl name,server
 
Nom : carnet d’adresses en mode hors connexion par défaut
Serveur : MBX1

L’inconvénient de cette approche était qu’un seul serveur était configuré pour la génération d’OAB et qu’il constituait un point de défaillance unique. Si ce serveur n’était pas disponible pendant une longue période, la génération d’OAB s’en trouvait affectée.

Dans Exchange 2013, l’OAB est généré par chaque serveur de boîte aux lettres Exchange 2013 qui héberge un type spécial de boîte aux lettres d’arbitrage, appelée boîte aux lettres d’organisation. La génération d’OAB n’est donc plus liée par le paramètre Server.

OAB dans Exchange Server 2013 :

Get-OfflineAddressBook "carnet d’adresses en mode hors connexion par défaut (Ex2012)" | fl name,server
 
Nom : carnet d’adresses en mode hors connexion par défaut (Ex2012)
Serveur :

La dissociation entre l’OAB et un serveur spécifique permet au même OAB d’être généré par plusieurs serveurs de boîtes aux lettres. Cette nouvelle architecture offre une meilleure résilience à la génération d’OAB.

Quel composant va générer l’OAB ?

Le service Surveillance du système Microsoft Exchange était l’outil en charge de la génération d’OAB dans les versions antérieures d’Exchange. La génération d’OAB était un processus planifié, ce qui signifie que la génération d’OAB démarrait à l’heure planifiée configurée sur la propriété OAB, quelle que soit la charge de travail sur le serveur.

Dans Exchange 2013, OABGeneratorAssistant, Assistant de boîte aux lettres qui s’exécute sous le service Assistants de boîte aux lettres Microsoft Exchange, génère l’OAB. Comme la plupart des autres Assistants de boîtes aux lettres, l’Assistant OABGEnerationAssistant est un processus limité – il s’exécute ou s’interrompt en fonction de la charge de travail du serveur.

Où sont stockés les fichiers OAB ?

Dans les versions antérieures d’Exchange, l’OAB généré par le serveur de boîtes aux lettres se trouvait dans le dossier %CheminInstallationExchange%\ExchangeOAB. Le dossier était partagé pour que le serveur CAS puisse récupérer les fichiers OAB pour les distribuer aux clients Outlook.

Dans Exchange 2013, les fichiers OAB sont générés et stockés d’abord dans la boîte aux lettres de l’organisation, puis copiés dans le dossier %CheminInstallationExchange%\ClientAccess\OAB\.

Changements apportés à la distribution de l’OAB

Exchange 2007 et 2010 prenaient en charge deux méthodes de distribution d’OAB : distribution web et distribution de dossier public. Puisque Exchange 2013 prend uniquement en charge la méthode de distribution web, intéressons-nous aux changements affectant cette méthode.

Le serveur CAS d’Exchange 2007/2010 extrayait les fichiers OAB générés sur leurs serveurs de boîtes aux lettres respectives et les stockait localement. Le service de distribution de fichiers Microsoft Exchange du rôle CAS se chargeait de la tâche d’extraction des fichiers OAB.

Processus de téléchargement de l’OAB côté client :

  1. Outlook reçoit l’URL de l’OAB en provenance du service de découverte automatique et atteint un serveur CAS.
  2. Le serveur CAS authentifie l’utilisateur et sert les fichiers OAB depuis le disque local.

Deux inconvénients de cette méthode :

  1. Le téléchargement de l’OAB échoue si le serveur CAS ne possède pas les fichiers OAB localement.
  2. Si le service de distribution de fichiers du CAS ne fonctionne pas, les clients recevront des fichiers OAB obsolètes ou, en d’autres termes, ne recevront pas les mises à jour.

Dans Exchange 2013, les fichiers d’OAB ne sont pas stockés localement sur le serveur CAS. CAS 2013 redirige via proxy toutes les demandes de téléchargement d’OAB sur le serveur de boîtes aux lettres Exchange 2013 approprié. Avec cette modification apportée à l’architecture, le service de distribution de fichiers Microsoft Exchange est supprimé du rôle CAS.

Processus de téléchargement de l’OAB dans Exchange 2013 :

    1. Outlook reçoit l’URL de l’OAB depuis le service de découverte automatique et accède au serveur CAS 2013 désigné via l’URL de l’OAB.

Le serveur CAS effectue les opérations suivantes :

  1. Effectue l’authentification initiale de l’OAB.
  2. Interroge Active Directory et détermine la boîte aux lettres de l’organisation la plus proche pour l’utilisateur qui fait la demande.
  3. Interroge à nouveau Active Directory pour déterminer la base de données de boîtes aux lettres qui héberge la boîte aux lettres de l’organisation.
  4. Interroge Active Manager afin de déterminer le serveur de boîtes aux lettres où la base de données de boîtes aux lettres est active (montée).
  5. Redirige via proxy la requête au serveur de boîtes aux lettres identifié à l’étape 4.
  6. Récupère les fichiers OAB et les transmet au client.

Ce nouveau flux de travail compense les inconvénients du flux de travail de téléchargement d’OAB hérité.

Boîte aux lettres d’organisation

La boîte aux lettres d’organisation est un nouveau type de boîte aux lettres d’arbitrage qui a été introduit dans Exchange 2013. La boîte aux lettres d’arbitrage dotée de la fonction conservée OrganizationCapabilityOABGen est qualifiée de boîte aux lettres d’organisation. Elle joue un rôle crucial dans la génération, le stockage et la distribution d’OAB.

Chaque rôle de boîte aux lettres Exchange Server 2013 qui héberge une boîte aux lettres d’organisation générera tous les OAB Exchange 2013 définis dans l’environnement. L’OAB est d’abord généré dans la boîte aux lettres d’organisation avant d’être copié sur le disque.

Utilisez la commande suivante pour identifier la boîte aux lettres d’organisation :

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

Exemple :

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

Stocker les fichiers OAB dans la boîte aux lettres d’organisation rend les fichiers OAB plus résilients.

Récapitulatif : Un scénario concret :

Le scénario suivant réunit les points critiques que nous avons abordés jusqu’à présent :

  1. MBX1 et MBX2 sont des serveurs de boîtes aux lettres Exchange 2013 appartenant au DAG. CAS1 est un serveur CAS Exchange 2013.
  2. La boîte aux lettres d’organisation est présente sur la base de données de boîtes aux lettres DB1. DB1 possède des copies sur MBX1 et MBX2.
  3. DB1 est actuellement active sur MBX1.
  4. Le service Assistants de boîte aux lettres Microsoft Exchange sur MBX1 générera l’OAB.
  5. L’OAB sera d’abord généré dans la boîte aux lettres d’organisation avant d’être copié sur disque sur MBX1. À ce stade, MBX2 ne joue aucun rôle dans la génération de l’OAB.
  6. Un client Outlook essaie de télécharger l’OAB, et atteint CAS1 via l’URL de l’OAB.
  7. CAS1 interroge Active Manager et découvre que la base de données qui héberge la boîte aux lettres d’organisation (DB1) est active sur MBX1.
  8. CAS1 redirige par proxy la demande de téléchargement d’OAB à MBX1 et ressert les fichiers au client.
  9. À ce stade, MBX1 devient inopérationnel pour cause de panne d’alimentation électrique et DB1 est activé sur le serveur MBX2.
  10. CAS1 reçoit une autre demande de téléchargement d’OAB, interroge à nouveau Active Manager et cette fois-ci, redirige la demande vers MBX2, puisque DB1 est maintenant active sur MBX2.
  11. MBX2 extrait les fichiers OAB présents dans la boîte aux lettres d’organisation sur le disque, pour veiller à ce que les fichiers les plus récents soient servis au client.
  12. MBX1 est à nouveau en ligne, mais DB1 demeure active sur MBX2.
  13. Au prochain cycle de génération de l’OAB, le service Assistants de boîte aux lettres Microsoft Exchange sur MBX2 générera l’OAB.

Le prochain article de cette série abordera la gestion du nouvel OAB dans Exchange 2013.

Bhalchandra Atre

Ce billet de blog a été traduit de l’anglais. L’article d’origine est disponible à la page OAB in Exchange Server 2013