Partager via


Analyse de la haute disponibilité et de la résilience de site

S'applique à : Exchange Server 2010

Dernière rubrique modifiée : 2010-01-11

S'assurer que vos serveurs fonctionnent de manière fiable et que vos copies de base de données sont saines constituent des objectifs clés pour les opérations de messagerie quotidiennes. Pour garantir la disponibilité et la fiabilité de votre organisation Microsoft Exchange Server 2010, vous devez analyser activement le matériel, le système d'exploitation Windows et les services Exchange 2010. L'analyse proactive associée à la maintenance préventive peuvent vous aider à identifier les erreurs potentielles avant qu'un problème grave n'affecte le fonctionnement de votre organisation Exchange.

L'analyse de votre organisation Exchange implique de vérifier régulièrement qu'il n'existe aucun problème avec les services ou les données. L'analyse comprend généralement un système de notification qui envoie des alertes lorsque les problèmes surviennent. Windows Server 2008 et Exchange 2010 incluent plusieurs outils et services qui permettent de vous assurer que votre organisation Exchange fonctionne correctement. L'analyse quotidienne présente plusieurs avantages. Elle permet de :

  • satisfaire les exigences de vos contrats SLA ;
  • garantir l'exécution de tâches administratives spécifiques, comme les sauvegardes quotidiennes ;
  • détecter et traiter les problèmes qui peuvent affecter le service de messagerie ou la disponibilité des données.

Dans une organisation Exchange 2010, les procédures, les rôles et les responsabilités inhérents aux opérations doivent être formalisés. Il est important de comprendre le lien entre des méthodes opérationnelles et procédures solides et une infrastructure saine. Bien documentées, les méthodes et procédures détaillées permettent de s'assurer que tous les composants de l'environnement d'une organisation sur lesquels Exchange s'appuie sont gérés de façon efficace.

Exchange 2010 comprend plusieurs outils et fonctionnalités intégrés qui peuvent être utilisés dans le cadre de l'analyse proactive lorsqu'Exchange est configuré pour la haute disponibilité ou la résilience de site. Les principales cmdlets d'analyse de la résilience de site et de la disponibilité élevée sont Get-MailboxDatabaseCopyStatus et Test-ReplicationHealth. Outre la fourniture de cmdlets qui peuvent exécuter des fonctions d'analyse et des rapports d'état, Exchange 2010 propose également un nouveau flux de journal d'événements qui exploite les possibilités du canal crimson de Windows Server, ainsi que des scripts intégrés qui collectent les données à partir de ces canaux d'événements.

Vous pouvez utiliser les informations de cette rubrique pour analyser l'intégrité et l'état des copies de la base de données de boîtes aux lettres pour les groupes de disponibilité de base de données (DAG). Pour obtenir des informations générales sur l'analyse d'Exchange 2010, voir Analyse d'Exchange 2010.

Contenu de cette rubrique

Cmdlet Get-MailboxDatabaseCopyStatus

Cmdlet Test-ReplicationHealth

Journalisation des événements du canal Crimson

Script CollectOverMetrics.ps1

Script CollectReplicationMetrics.ps1

Cmdlet Get-MailboxDatabaseCopyStatus

Vous pouvez utiliser la cmdlet Get-MailboxDatabaseCopyStatus pour afficher des informations sur l'état des copies de la base de données de boîtes aux lettres. Cette cmdlet vous permet de consulter des informations sur toutes les copies d'une base de données spécifique, des informations sur une copie spécifique d'une base de données installée sur un serveur donné ou des informations sur toutes les copies de base de données installées sur un serveur. Le tableau suivant décrit les valeurs possibles de l'état d'une copie de base de données de boîtes aux lettres.

État de copie de la base de données

État de copie de la base de données Description

Échec

La copie de la base de données de boîtes aux lettres possède l'état Échec car elle n'est pas suspendue et n'est pas capable de copier ou de relire les fichiers journaux. Lorsque la copie est définie sur l'état Échec et qu'elle n'est pas suspendue, le système vérifie régulièrement si le problème à l'origine de cet état a été résolu. Si le système détecte que le problème est résolu, et à condition qu'il n'y ait aucune autre difficulté, l'état de copie passe automatiquement à Sain.

Amorçage

La copie de la base de données de boîtes aux lettres ou l'index de contenu est en cours d'amorçage, ou tous deux le sont. Après l'exécution réussie de l'amorçage, l'état de la copie doit passer à Initialisation en cours.

SeedingSource

La copie de la base de données de boîtes aux lettres est utilisée comme élément source pour une opération d'amorçage de copie de base de données.

Suspendu

La copie de la base de données de boîtes aux lettres possède l'état Suspendu car un administrateur a manuellement suspendu la copie de la base de données en exécutant la cmdlet Suspend-MailboxDatabaseCopy.

Sain

La copie de la base de données de boîtes aux lettres est en train de copier et de relire les fichiers journaux ou a déjà effectué cette opération.

ServiceDown

Le service de réplication Microsoft Exchange n'est pas disponible ou est en cours d'exécution sur le serveur qui héberge la copie de la base de données de boîtes aux lettres.

Initialisation en cours

La copie de la base de données de boîtes aux lettres sera définie sur l'état Initialisation en cours lorsqu'une copie de base de données aura été créée, lorsque le service de réplication Microsoft Exchange démarrera ou aura démarré et pendant le passage de l'état Suspendu, ServiceDown, Échec, Amorçage, SinglePageRestore, LostWrite ou Déconnecté à un autre état. Lorsqu'elle est définie sur l'état d'initialisation, le système vérifie que la base de données et l'état du flux de journal sont cohérents. Dans la plupart des cas, l'état de la copie est défini sur Initialisation en cours pendant environ 15 secondes, mais dans tous les cas, il ne doit pas rester défini sur cet état pendant plus de 30 secondes.

Resynchronisation

La copie de la base de données de boîtes aux lettres et ses fichiers journaux sont comparés avec la copie active de la base de données pour vous permettre de rechercher d'éventuelles divergences entre les deux copies. L'état de la copie reste tel quel tant que les divergences trouvées n'ont pas été résolues.

Monté

La copie active est en ligne et accepte les connexions des clients. Seule la copie active de la base de données de boîtes aux lettres peut posséder l'état Monté.

Démontée

La copie active est hors ligne et n'accepte pas les connexions des clients. Seule la copie active de la base de données de boîtes aux lettres peut être définie sur Démontée.

Montage

La copie active va être en ligne mais n'accepte pas encore les connexions des clients. Seule la copie active de la base de données de boîtes aux lettres peut posséder l'état Montage.

Démontage

La copie active va passer en mode hors connexion et met fin aux connexions des clients. Seule la copie active de la base de données de boîtes aux lettres peut posséder l'état Démontage.

Déconnecté et Sain

La copie de la base de données de boîtes aux lettres n'est plus connectée à la copie active de la base de données et possédait l'état Sain lorsque la perte de connexion s'est produite. Cet état représente la copie de la base de données par rapport à la connectivité de sa copie de base de données source. Il peut être signalé lors des défaillances réseau d'un groupe de disponibilité de base de données entre la copie source et la copie cible.

Déconnecté et Resynchronisation

La copie de la base de données de boîtes aux lettres n'est plus connectée à la copie active de la base de données et possédait l'état Resynchronisation lorsque la perte de connexion s'est produite. Cet état représente la copie de la base de données par rapport à la connectivité de sa copie de base de données source. Il peut être signalé lors des défaillances réseau d'un groupe de disponibilité de base de données entre la copie source et la copie cible.

Échec et Suspendu

Les états Échec et Suspendu ont été définis simultanément par le système en raison de la détection d'une défaillance et parce que sa résolution nécessite l'intervention d'un administrateur. Cela se produit, par exemple, lorsque le système détecte une divergence irrécupérable entre la base de données de boîtes aux lettres active et une copie de la base de données. Contrairement à l'état Échec, le système ne vérifie pas régulièrement si le problème a été résolu et si une récupération automatique a lieu. L'intervention d'un administrateur est indispensable pour corriger la cause sous-jacente de la défaillance afin que la copie de la base de données puisse passer à un état sain.

ActivationSuspended

L'activation de la copie de la base de données de boîtes aux lettres a été bloquée manuellement par un administrateur.

SinglePageRestore

Cet état indique qu'une opération de restauration en page unique a lieu sur la copie de la base de données de boîtes aux lettres.

La cmdlet Get-MailboxDatabaseCopyStatus comprend également un paramètre appelé ConnectionStatus qui renvoie des informations sur les réseaux de réplication en cours d'utilisation. Si vous utilisez ce paramètre, les deux champs supplémentaires IncomingLogCopyingNetwork et SeedingNetwork seront renseignés dans la sortie de la tâche.

Exemples Get-MailboxDatabaseCopyStatus

Les exemples suivants utilisent la cmdlet Get-MailboxDatabaseCopyStatus. Chaque exemple transfère les résultats à la cmdlet Format-List afin qu'ils soient affichés sous la forme d'une liste.

Cet exemple renvoie les informations relatives à l'état de toutes les copies de la base de données nommée DB2.

Get-MailboxDatabaseCopyStatus -Identity DB2 | Format-List

Cet exemple renvoie l'état de toutes les copies de base de données sur le serveur de boîtes aux lettres nommé MBX2.

Get-MailboxDatabaseCopyStatus -Server MBX2 | Format-List

Cet exemple renvoie l'état de toutes les copies de base de données sur le serveur de boîtes aux lettres local.

Get-MailboxDatabaseCopyStatus -Local | Format-List

Cet exemple renvoie des informations sur l'état, l'envoi des journaux et le réseau d'amorçage pour la base de données DB3 sur le serveur de boîtes aux lettres nommé MBX1.

Get-MailboxDatabaseCopyStatus -Identity DB3\MBX1 -ConnectionStatus | Format-List

Pour plus d'informations sur l'utilisation de la cmdlet Get-MailboxDatabaseCopyStatus, voir Get-MailboxDatabaseCopyStatus.

Retour au début

Cmdlet Test-ReplicationHealth

Vous pouvez utiliser la cmdlet Test-ReplicationHealth pour afficher des informations sur l'état de réplication continue des copies de la base de données de boîtes aux lettres. Cette cmdlet permet de vérifier tous les aspects de l'état de réplication et de relecture afin d'offrir une vue d'ensemble complète d'un serveur de boîtes aux lettres spécifique dans un groupe de disponibilité de base de données.

La cmdlet Test-ReplicationHealth a été conçue pour l'analyse proactive de la réplication continue et du pipeline de la réplication continue, la disponibilité d'Active Manager, l'état du service de cluster sous-jacent, le quorum et les composants réseau. Elle peut être exécutée localement ou à distance sur n'importe quel serveur de boîtes aux lettres dans un groupe de disponibilité de base de données. La cmdlet Test-ReplicationHealth exécute les tests répertoriés dans le tableau suivant.

Tests de la cmdlet Test-ReplicationHealth

Nom du test Description

ClusterService

Vérifie que le service de cluster est en cours d'exécution et accessible sur le membre du DAG spécifié ou, si aucun membre de DAG n'est indiqué, sur le serveur local.

ReplayService

Vérifie que le service de réplication Microsoft Exchange est en cours d'exécution et accessible sur le membre du DAG spécifié ou, si aucun membre de DAG n'est indiqué, sur le serveur local.

ActiveManager

Vérifie que l'instance d'Active Manager exécutée sur le membre du DAG spécifié (ou, si aucun membre de DAG n'est indiqué, sur le serveur local) se trouve dans un rôle valide (principal, secondaire ou autonome).

TasksRpcListener

Vérifie que le serveur d'appel de procédure distante (RPC) des tâches est en cours d'exécution et accessible sur le membre du DAG spécifié ou, si aucun membre de DAG n'est indiqué, sur le serveur local.

TcpListener

Vérifie que le port d'écoute TCP de copie du journal est en cours d'exécution et accessible sur le membre du DAG spécifié ou, si aucun membre de DAG n'est indiqué, sur le serveur local.

DagMembersUp

Vérifie que tous les membres du DAG sont disponibles, en cours d'exécution et accessibles.

ClusterNetwork

Vérifie que tous les réseaux gérés par des clusters sur le membre de DAG spécifié (ou, si aucun membre de DAG n'est indiqué, sur le serveur local) sont disponibles.

QuorumGroup

Vérifie que le groupe de clusters par défaut (groupe quorum) est sain et en ligne.

FileShareQuorum

Vérifie que le serveur témoin, le répertoire témoin et le partage configurés pour le DAG sont accessibles.

DBCopySuspended

Vérifie si des copies de la base de données de boîtes aux lettres ont l'état Suspendu sur le membre de DAG spécifié ou, si aucun membre de DAG n'est indiqué, sur le serveur local

DBCopyFailed

Vérifie si des copies de la base de données de boîtes aux lettres ont l'état Échec sur le membre de DAG spécifié ou, si aucun membre de DAG n'est indiqué, sur le serveur local.

DBInitializing

Vérifie si des copies de la base de données de boîtes aux lettres ont l'état Initialisation en cours sur le membre de DAG spécifié ou, si aucun membre de DAG n'est indiqué, sur le serveur local.

DBDisconnected

Vérifie si des copies de la base de données de boîtes aux lettres ont l'état Déconnecté sur le membre de DAG spécifié ou, si aucun membre de DAG n'est indiqué, sur le serveur local.

DBLogCopyKeepingUp

Vérifie que la copie et l'inspection du journal par les copies passives des bases de données sur le membre de DAG spécifié (ou, si aucun membre de DAG n'est indiqué, sur le serveur local) sont capables de suivre le rythme de l'activité de génération du journal sur la copie active.

DBLogReplayKeepingUp

Vérifie que l'activité de relecture pour les copies passives des bases de données sur le membre de DAG spécifié (ou, si aucun membre de DAG n'est indiqué, sur le serveur local) est capable de suivre le rythme de l'activité de copie et d'inspection du journal.

Exemple Test-ReplicationHealth

Cet exemple utilise la cmdlet Test-ReplicationHealth pour tester l'intégrité de la réplication pour le serveur de boîtes aux lettres MBX1.

Test-ReplicationHealth -Identity MBX1

Retour au début

Journalisation des événements du canal Crimson

Windows Server 2008 comprend deux catégories de journaux d'événements : les journaux Windows et les journaux des applications et des services. La catégorie de journaux Windows inclut les journaux d'événements disponibles dans les versions précédentes de Windows : les journaux des événements d'application, de sécurité et système. Elle inclut également deux nouveaux journaux : le journal d'installation et le journal des événements transférés. Les journaux Windows sont conçus pour le stockage d'événements appartenant à des applications héritées et d'événements qui s'appliquent à la totalité du système.

Les journaux des applications et des services sont une nouvelle catégorie de journaux d'événements. Ces journaux stockent les événements d'une application ou d'un composant unique au lieu des événements qui concernent le système entier. Cette nouvelle catégorie de journaux d'événements est désignée par les termes « canal crimson d'une application ».

La catégorie de journaux des applications et services inclut quatre sous-types : les journaux d'administration, opérationnels, d'analyse et de débogage. Les événements des journaux d'administration sont particulièrement utiles si vous utilisez des enregistrements du journal d'événements pour résoudre les problèmes. Les événements contenus dans le journal d'administration doivent vous indiquer comment répondre aux événements. Les événements du journal opérationnel sont eux aussi utiles, mais ils nécessitent une interprétation plus détaillée. Les journaux d'administration et de débogage ne sont pas aussi conviviaux. Les journaux d'analyse (masqués et désactivés par défaut) stockent des événements qui effectuent le suivi d'un problème. Ils contiennent généralement un grand nombre d'événements. Les journaux de débogage sont utilisés par les développeurs lors du débogage d'applications.

Exchange 2010 enregistre les événements dans les canaux crimson, dans la zone des journaux des applications et services. Vous pouvez afficher ces canaux en procédant comme suit :

  1. Ouvrez l'Observateur d'événements.
  2. Dans l'arborescence de la console, accédez à Journaux des applications et des services > Microsoft > Exchange.
  3. Sous Exchange, sélectionnez un canal crimson : HighAvailability ou MailboxDatabaseFailureItems.

Le canal HighAvailability contient des événements liés au démarrage et à la fermeture du service de réplication Microsoft Exchange ainsi que les divers composants qui s'exécutent au sein de ce service Microsoft Exchange, comme Active Manager, l'API de réplication synchrone tiers, le serveur de tâches RPC, le port d'écoute TCP et l'enregistreur VSS (Service de cliché instantané de volumes). Le canal HighAvailability permet également à Active Manager de journaliser les événements associés aux événements d'analyse de rôle et d'action de base de données Active Manager, comme le montage de la base de données et la troncation du journal, et d'enregistrer des événements associés au cluster sous-jacent du DAG.

Le canal MailboxDatabaseFailureItems sert à journaliser les événements associés aux défaillances qui affectent une base de données de boîte aux lettres répliquées.

Retour au début

Script CollectOverMetrics.ps1

Exchange 2010 comprend un script appelé CollectOverMetrics.ps1 disponible dans le dossier Scripts. Il s'agit d'un script de flux de travail qui collecte des informations sur diverses statistiques de switchover et de basculement. L'utilisation de ce script constitue une forme passive d'analyse. Ce script collecte et analyse des événements enregistrés. Il prend en charge des paramètres qui vous permettent de personnaliser le comportement et la sortie du script. Les paramètres disponibles sont répertoriés dans le tableau suivant.

Paramètres du script CollectOverMetrics.ps1

Paramètre Description

DatabaseAvailabilityGroup

Spécifie le nom du DAG à partir duquel vous voulez collecter des mesures. Si ce paramètre est omis, le DAG dont le serveur local fait partie sera utilisé.

Database

Fournit la liste des bases de données pour lesquelles le rapport doit être généré. Les caractères génériques sont pris en charge, par exemple, -Database:"DB1","DB2" ou -Database:"DB*".

TemporaryDataPath

Spécifie l'emplacement de stockage des fichiers temporaires. Si ce paramètre est omis, le nom du répertoire sera le suivant : %SystemDrive%\Temp\CollectOverMetrics\<ScriptStartTime>

StartTime

Indique l'heure à laquelle la collecte des données d'événement débute. Si ce paramètre est omis, l'heure de début sera : 00:00 (minuit) hier.

EndTime

Indique l'heure à laquelle la collecte des données d'événement prend fin. Si ce paramètre est omis, les événements pourront être collectés jusqu'à 23:59, hier.

ReportPath

Spécifie le dossier utilisé pour stocker les résultats du traitement d'événement. Si ce paramètre est omis, le dossier Scripts sera utilisé.

ReportAlias

Spécifie l'alias de messagerie auquel le rapport doit être envoyé.

IncludeAppLogs

Indique si les événements du journal des événements d'application doivent aussi être collectés, fusionnés et traités. Par défaut, les fournisseurs suivants seront inclus : MSExchangeIS, banque de boîtes aux lettres MSExchangeIS et MSExchangeRepl.

AppLogProviders

Indique si des événements spécifiques du journal des événements d'application doivent être collectés. Si ce paramètre est spécifié, les fournisseurs répertoriés pour le paramètre IncludeAppLogs ne seront pas inclus et devront être explicitement spécifiés à l'aide du paramètre AppLogProviders.

AnalyzeOnly

Indique que les données ont déjà été collectées et que seul le traitement est requis.

MergedXmlFile

Indique le nom du fichier XML dans lequel les enregistrements du journal d'événements collectés fusionneront.

GenerateHtmlReport

Spécifie que le rapport doit se présenter sous la forme d'un tableau HTML simple afin d'être facile à consulter.

ShowHtmlReport

Indique que le rapport HTML doit être affiché dans un navigateur Web après avoir été généré.

DotSourceMode

Indique qu'aucune autre exécution n'est requise pour l'instant, mais que ce fichier de type « dot source » est prévu pour utiliser les méthodes Windows PowerShell définies pour lui.

Exemples CollectOverMetrics.ps1

Les exemples suivants utilisent le script CollectOverMetrics.ps1.

Cet exemple collecte des mesures pour toutes les bases de données correspondant à DB* (avec un caractère générique) dans le groupe de disponibilité de base de données nommé DAG1. Une fois les mesures recueillies, un rapport HTML est généré et affiché.

CollectOverMetrics.ps1 -DatabaseAvailabilityGroup DAG1 -Database:"DB*" -GenerateHTMLReport -ShowHTMLReport

Cet exemple collecte des mesures pour toutes les bases de données présentes dans le groupe de disponibilité de base de données nommé DAG2. Une fois les mesures recueillies, un rapport HTML est généré et affiché.

CollectOverMetrics.ps1 -DatabaseAvailabilityGroup DAG2 -GenerateHTMLReport -ShowHTMLReport

Retour au début

Script CollectReplicationMetrics.ps1

Le script d'intégrité CollectReplicationMetrics.ps1 est lui aussi inclus dans Exchange 2010. Il représente une forme active d'analye car il collecte des mesures en temps réel, pendant son exécution. Ce script prend en charge des paramètres qui vous permettent de personnaliser son comportement et sa sortie. Les paramètres disponibles sont répertoriés dans le tableau suivant.

Paramètres du script CollectReplicationMetrics.ps1

Paramètre Description

DagName

Spécifie le nom du DAG à partir duquel vous voulez collecter des mesures. Si ce paramètre est omis, le DAG dont le serveur local fait partie sera utilisé.

DatabaseNames

Fournit la liste des bases de données pour lesquelles le rapport doit être généré. Les caractères génériques sont pris en charge, par exemple, -DatabaseNames:"DB1","DB2" ou -DatabaseNames:"DB*".

ReportAlias

Spécifie un alias de messagerie auquel le rapport doit être envoyé.

TemporaryDataPath

Spécifie l'emplacement de stockage des fichiers temporaires. Si ce paramètre est omis, le nom du répertoire sera le suivant : %SystemDrive%\Temp\CollectReplicationMetrics\<ScriptStartTime>

ReportPath

Spécifie le dossier utilisé pour stocker les résultats du traitement d'événement. Si ce paramètre est omis, le dossier Scripts sera utilisé.

Duration

Spécifie la durée pendant laquelle que le processus de collecte doit s'exécuter.

Frequency

Spécifie la fréquence à laquelle les mesures de données sont collectées.

Verbose

Affiche la sortie des tâches à l'écran une fois la tâche terminée.

ProcessOnly

Indique que les données ont déjà été collectées et que seul le traitement est requis.

Exemple CollectReplicationMetrics.ps1

L'exemple suivant utilise le script CollectReplicationMetrics.ps1.

Cet exemple collecte des mesures pour toutes les bases de données du DAG nommé DAG1 et affiche les données collectées dans un rapport à l'écran.

CollectReplicationMetrics.ps1 -DagName DAG1 -Verbose

Retour au début