Exchange your Mind

"La connaissance ne vaut que si elle est partagée" / "An effective Knowledge is a shared one"

Archives du 7 novembre 2010

Exchange 2010 HA : Des nouvelles de Sam et PAM ?

Publié par Teruin laurent le novembre 7, 2010


Qui sont Pam et SAM ?

Pam est un acronyme désignant Primary Active Manager,Sam désigne Standby Active Manager . Le processus Active Manager est un processus qui s’exécute sur tout serveur Exchange 2010 normalement constitué. Vous trouverez PAM sur le membre d’un groupe de distribution de base de données possédant les ressources du cluster, SAM sur les autres membres du DAG. Comme vous le savez peut être déjà, Active Manager remplace les fonctionnalités de basculement des ressources Exchange assurée dans l’environnement Exchange 2007 par les services de cluster. Si vous cherchez un service portant ces deux acronymes vous ne le trouverez pas, car ils s’exécutent tous les deux au sein du service de réplication des services Exchange (MSExchangeRepl.exe). On notera au passage que si vous arrêtez ce service aucun basculement de facto ne sera possible.

Le rôle de PAM est simple : Il est responsable du contrôle des copies de bases de données qui vont être actives et celles qui seront passives. Il décide également du changement d’état de ces dernières lorsque des pannes de serveurs ou de bases de données se produisent. Lorsque vous décidez de changer le propriétaire du groupe de ressources du cluster, le PAM va également migrer automatiquement.

Voici quelques commandes Powershell qui vous seront utiles :

Qui détient les ressources du cluster ?

Pour vérifier en Powershell qui détient le cluster rien de plus simple voici les deux commandes que vous devez exécuter dans l’environnement Powershell

  • Import-Module FailoverClusters
  • Get-clustergroup | ft –auto

Déplacer les ressources du groupe de cluster vers un autre membre

  • Move-clustergroup « Nomduclustergroupe » – Node nomdunoeudcible.

Pour vérifier ou est Pam

  • Get-DatabaseAvaliabilityGroupe « Nomdevotredag » – Status | FL Name, PrimaryActiveManager

Le rôle de SAM ? Eh bien malgré le fait que ce petit dernier serait de type « Standby » figurez-vous qu’il travaille. SAM fourni des informations concernant les serveurs qui hébergent une copie active de base de données. Il est également en charge de détecter tout évènement de type « panne » sur les bases locales et les éventuels problèmes liés à la banque d’information. Si tel est le cas, il va demander à PAM de procéder à un basculement des bases de données. Les processus SAM accèdent tous à l’environnement Active Directory pour répondre aux requêtes de localisation de bases active provenant des services comme le transport ou les services d’accès client. On parle dans ce cas précis de Client Active Manager.

Dans le cas d’un serveur ne s’exécutant pas dans le cadre d’un groupe de bases de données, l’Active Manager présent dans le service MSExchangeRepl.exe va initier un StandAlone Manager (ne pas confondre avec StandBy : SAM). Toutes les 30 secondes, Active Manager va vérifier les données d’Active Directory et modifier la configuration du serveur en question si ce dernier a été ajouté à un groupe de disponibilité. Si cela est le cas, l’évènement 111 sera inscrit dans les journaux de haute disponibilité.

Nouveauté SP1

Dans le cadre d’un serveur Exchange 2010 fonctionnant en version SP1 et que vous souhaitez mettre sous maintenance, vous pouvez exécuter le script suivant : StartDagServerMaintenance.ps1
qui déplacer du serveur en question toutes les rôles de bases actives vers d’autres copies et marquer ces dernières non activables sur le serveur en question. Une fois que vous en avez terminé lancer le script StopDagServerMaintenance.ps1
pour rétablir la situation. De mémoire vous devrez réactiver manuellement les bases de données se situant sur le serveur ou vous avez effectué une opération de maintenance.

Vous voilà renseigné sur PAM SAM et AM et leurs différents rôles dans les processus de basculement.

Bonne continuation
Laurent TERUIN

Publié dans Cluster-2010, Exchange 2010 Service Pack 1 | Poster un commentaire »

Datacenter Activation Coordination Protocol : Ou comment éviter que vos serveurs Exchange ne deviennent schizophrènes

Publié par Teruin laurent le novembre 7, 2010


Les serveurs Exchange 2010 pourraient-il devenir schizophrènes. En quelque sorte…. La réponse est Oui. Mais rassurez-vous le DACP veille ;-)
J’ai donc traduit pour une meilleure compréhension l’article du TechNet suivant (http://technet.microsoft.com/en-us/library/dd979790.aspx). Ce dernier me parait très important spécialement si vous envisager de mettre en place une même architecture Exchange répartie dans deux centres de données.

Bonne lecture !

Le mode de coordination d’activation de centre de données (Datacenter Activation Coordination Mode) est une propriété mise en place sur un Groupe de Disponibilité de Bases de données (DAG). Le mode Dac est désactivé par défaut et doit être activé pour tous les Groupes de Disponibilité de Bases de données (DAG) qui utilisent la réplication continue. Le mode DAC ne doit pas être activé pour les Groupes de bases de données qui utilisent la réplication tierce partie sauf sur recommandations par l’éditeur en question.
Si un panne importante provient et qui affecte le Groupe de bases de données (Par exemple une panne générale d’un des centres de bases de données), le mode DAC est utilisé pour contrôler le comportement de l’activation au sein du DAG. Lorsque le mode DAC n’est pas activé et qu’une panne survient affectant plusieurs serveurs dans le groupe de base de données, ce comportement peut engendrer un split Brain Syndrome, une condition qui provient lorsque tous les réseaux ne sont plus disponibles, et que les membres du DAG ne peuvent pas recevoir des signaux de vie (HeartBeat) des autres membres. Le Split Brain Syndrome, peut également se produire lorsque la connectivité réseau n’est plus disponible entres les centres de données.

Le phénomène de Split Brain Syndrome peut toujours être évité en requérant la disponibilité de la majorité des membres du groupe de disponibilité (Et dans le cas de Dag qui ont un nombre pair de membre, avec l’utilisation de témoin de partage de fichier) et en interagissant, afin que le groupe de base de données soit opérationnel. Lorsque la majorité des membres communiquent, on dit alors que le groupe de disponibilité possède le quorum.
Par exemple, considérons un scénario ou le premier centre de données contenant deux membres d’un groupe de disponibilité de bases de données et un témoin de partage de fichier , et un second centre de données contenant deux autres serveurs membres du groupes de disponibilités de base de données. Si le premier centre de données est remis en route sans connectivité réseaux vers le second centre de donnés, le groupe de disponibilité peut entrer en mode splitbrain syndrome.
Comment fonctionne le mode DAC (coordination d’activation de centre de données)
Le mode DAC a été conçu pour éviter qu’un syndrome SplitBrain ne puisse survenir, en incluant le protocole DACP (Datacenter Activation Coordination Protocol). Après une panne majeure lorsque le groupe de disponibilité de base de donnés remonte, il ne va pas remonter automatiquement les bases de données sauf dans le cas où le Dag possède le quorum. Dans le cas contraire, le protocole DACP est utilisé pour déterminer l’état en cours du groupe de disponibilité de bases de données et si le processus Active Manager doit tenter de monter les bases de données.
On pourrait penser que le mode DAC se rapproche d’un niveau applicatif lié au quorum dans le but de monter les bases de données. . Afin de bien comprendre le but du DACP et comment ce dernier fonctionne, il est important de prendre en compte le premier scenario décrit ci-dessus.
Considérant deux centre de données, en supposant qu’un panne complète de courant se produise dans le premier centre de données, dans ce cas de figure tous les serveurs et l’interconnexion réseau seront arrêtés. L’organisation va donc décider d’activer le second centre de données considéré comme "de secours". Dans la plupart des cas, lors des opérations de remise en route, lorsque l’électricité va revenir dans le premier centre de données, les liens d’interconnexion réseau risquent de ne pas être opérationnels. Cela implique donc que les membres du groupe de disponibilités dans le centre de données primaire vont démarrer mais ne seront pas capable de communiquer avec les autres membres du Groupe de Disponibilité de base de données s’exécutant dans le centre de secours. Or les membres du Groupe de disponibilité de bases de données du premier centre posséderont la majorité et par conséquent le quorum. Ceci pose donc un problème car ces serveurs vont tenter de monter les bases de données, ce qui va provoquer une divergence vis à vis des bases de données déjà actives sur le site de secours.

Le protocole DACP a donc été créé dans ce but. Active Manager va stocker un Bit en mémoire (0 ou 1) qui va informer le DAG, lui permettant de savoir s’il est dans la position de monter ou pas les bases de données locales assignées comme « active » sur ce server. Lorsque le groupe de disponibilité de base de données s’exécute en mode DAC (Ce qui peut être n’importe quel groupe de disponibilité de base de données comprenant 3 membres ou plus), alors, chaque fois que le processus Active Manager démarre, il positionne le bit à zéro, précisant qu’il n’est pas autorisé à monter les bases de données. Parce ce que l’on est en mode Dac, le serveur doit essayer de communiquer avec les autres membres du groupe de disponibilité de base de données qu’il connait de façon à obtenir une réponse lui permettant de savoir si il peut ou non monter les bases de données qui lui sont assignée comme actives.
La réponse viendra par conséquent de la valeur assignée au bit en question par les processus Active manager des autres serveurs du DAG. Si les autres serveurs répondent que la valeur du Bit est à 1, cela précise qu’il est possible de monter les bases de données, le serveur démarrant, va positionner le bit à 1 et monter ces bases de données.
Lorsque l’on remet en route un centre de données après un dommage électrique et lorsque les serveurs remontent sans interconnexion possible sur le réseau étendu, tous les membres du groupe de disponibilité de base de données du centre de données primaire vont avoir comme Bit liés au protocole DACP la valeur 0. Ainsi, aucun des serveurs du centre de données primaire ne va tenter de monter les bases de données en question, car aucun d’entre eux n’est capable de communiquer avec des membres du groupe de disponibilité de base de données ayant une valeur égale à 1.
Le Mode Dac avec un groupe de disponibilité de base de données comprenant uniquement deux membres.
Les groupes de disponibilité comprenant uniquement deux membres ont des limitations intrinsèques qui permettent au protocole DACP d’être totalement protégé vis à vis du syndrome de type splitbrain. Pour les Groupes de disponibilité de base de données ne comprenant que deux membres, le mode Dac utilise également les informations de temps liés au démarrage du serveur témoin de partage de fichier afin de déterminer s’il est dans la mesure de monter ou non les bases de données. L’heure de démarrage du serveur de témoin du partage de fichier est alors comparée à l’heure ou le bit de DACP a été positionné à 1.
  • Si le moment ou le bit DACP précède le moment de démarrage du serveur témoin, le système va estimer que le serveur du dag en question et que le serveur témoin de partage de fichier ont été redémarré au même moment (Vraisemblablement dans le cas d’un problème d’alimentation électrique du premier centre de données), et dans ce cas les serveurs membre du dag ne seront pas autorisés à monter les bases de données.
  • Dans le cas contraire, ou le moment ou le bit du DACP succède le moment de démarrage du serveur témoin, le système va estimer que le membre du groupe de disponibilité de bases de données a été redémarrer pour d’autre raisons (Eventuellement un arrêt programmé dans le cas d’un maintenance, un crash server ou une panne de courant local a ce dernier) et le membre du groupe sera donc autorisé a monté les bases de données
IMPORTANT
En raison du fait que l’heure de démarrage du serveur témoin de partage de fichier est prise en compte pour déterminer si un membre du DAG est en mesure de monter ses bases Actives on démarrage, vous ne devez jamais redémarrer le serveur témoin de partage de fichier et le membre du DAG au même moment. Si cela se produisait, le membre du Dag serait dans un état ou il ne pourrait pas monter les bases. Dans ce cas précis vous devez utiliser la commande PowerShell Restore-DatabaseAvailabilityGroup
sur le DAG en question. Cette commande aura pour effet de paramétrer le Bit du DACP et permettre au membre du DAG de monter ses bases de données.
La prochaine fois on essayera d’illustrer cela dans le cadre d’un exemple concret
Cordialement
Laurent Teruin

Publié dans Administration-2010, Doc-de-Ref-2010, Exchange 2010 Service Pack 1 | Poster un commentaire »

 
Suivre

Recevez les nouvelles publications par mail.

Joignez-vous à 184 followers