Exchange your Mind

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

Archives de la catégorie ‘PRA-2007’

SCR Exchange 2007 – Automatisez vos Bascules sur les sites de secours !

Publié par David PEKMEZ le avril 12, 2009


Introduction

Objectifs

L’objet de cet article est la description du processus d’activation du serveur de messagerie sur le site de secours que le retour sur le site de production.

Cet article ne décrit pas l’installation du serveur cible mais par du principe qu’un serveur Exchange est installé avec les rôles Mailbox, Cas et Hub et n’est pas configuré en cluster.

Je montre dans cet article la façon dont vous pouvez à l’aide de powershell notament, automatiser vos scénarios de bascule sur les sites de secours.

L’infrastructure utilisée est la suivante :

Note : Les scripts fournis dans avec cet article sont livrés à des fins de tests, si vous prenez la responsabilité de les utiliser dans un environnement de production, je ne pourrais en aucun cas en être responsable. Testez ces scripts et adaptez les dans des environnements de test uniquement, ils seront à adapter obligatoirement.

N’hésitez pas à me contacter si vous avez besoin d’informations ou autre.

Les scripts sont disponibles ici en téléchargement

Plan de reprise d’Activité

Activation de la SCR

 

Le processus d’utilisation d’une base de données cible de SCR est appelé activation. Le mode d’activation de la base de données dépend de la nature de la défaillance.

 

Si une ou plusieurs bases de données dans la source de SCR sont affectées, vous pouvez utiliser la fonctionnalité de portabilité des bases de données dans Exchange 2007 dans le cadre du processus d’activation pour les bases de données cibles de SCR.

 

Si toutes les bases de données sur un serveur source de SCR sont affectées, ou si un serveur ou serveur de boîtes aux lettres entier est en cours de récupération, vous pouvez utiliser les fonctionnalités de récupération de serveur du programme d’installation (Setup /m:RecoverServer pour un serveur autonome et Setup /RecoverCMS pour un serveur de boîtes aux lettres en cluster) dans le cadre du processus d’activation.

 

Cet article décrit le processus d’activation de la cible SCR en utilisant la portabilité de base de données ainsi qu’en utilisant l’option de restauration de serveur Exchange à l’aide de la commande Setup /RecoverServer.

 

Portabilité de Base de données

 

Portabilité des bases de données

 

La fonctionnalité de portabilité de base de données Microsoft Exchange Server 2007 permet de monter une base de données de boîtes aux lettres sur tout serveur au sein d’une organisation. Dans les versions précédentes d’Exchange, une base de données ne pouvait être montée que dans les emplacements suivants :

 

  • Groupe de stockage de récupération
  • Serveur ayant le même nom que le serveur d’origine de la base de données
  • Tout autre serveur du même groupe d’administration
     
     

    La fonctionnalité de portabilité de base de données supprime les limites précédentes et traite les problèmes qu’elles présentaient. La portabilité de base de données a été implémentée pour les raisons suivantes :

 

  • La suppression des étapes manuelles qui étaient sources d’erreurs fréquentes dans le processus de récupération optimise la fiabilité.
  • Pour un scénario de perte de serveur de boîtes aux lettres en cluster, le serveur de boîtes aux lettres en cluster doit être récupéré pour que le client puisse accéder aux bases de données Exchange.
  • Les données de boîte aux lettres Exchange ne sont pas spécifiques au serveur ; par conséquent, l’accès à ces données ne doit pas être spécifique au serveur.
  • La portabilité des bases de données réduit les temps de récupération de bout en bout des différents scénarios de récupération d’urgence.

 

Description des scripts utilisés

 

Nous allons tout d’abord faire le point sur les scripts dans le cadre de cette mise en place de PRA Exchange,

 

Voici la liste des scripts qui seront utilisés ainsi que leur Rôle dans l’Activation de la Portabilité de bases de données.

 

Nom du Script

Rôle

Enable-StorageGroupCopy.ps1

Activation de la copie des logs depuis un serveur Source vers un site de PRA

Disable-StorageGroupCopy.ps1

Désactivation de la copie des logs depuis un serveur Source vers un site de PRA

Create_Port.ps1

Création des Storage Group et bases de données utilisés afin de remonter les Bases de données sur le site de secours

Activation_SCR.ps1

Script de Bascule, Activation du site de secours pour une ou plusieurs bases de données

Activation_PRA.ps1

Script de Bascule utilisé si tout le serveur est à restaurer, si toutes les bases sont à restaurer.

 

Il est nécessaire de bien comprendre les différents rôles de chaque script puisque certaines modifications devront y être apportées lors de l’utilisation de ceux-ci.

Création des bases de portabilité

La mise en place de la copie des données d’un serveur « source » vers un serveur « Target » se déroule comme ci-dessous

 

1 – Utilisation du script « Create_Port.ps1 » afin de créer les Groupes de stockage Exchange et Bases de données qui seront utilisés pour remonter les copies des bases de données de production

 

Ce script doit être lancé sur le serveur Cible lors de la mise en place de la copie des données,

Etapes du script

 

Voici les différentes étapes du script

 

# 1 – Création des SG et Bases qui seront utilisée lors de l’activation de la cible SCR

  • Créé les Groupes de stockage et les bases afin d’avoir sur le serveur cible des groupes de stockages et bases de données exchange temporaires qui permettront de monter les fichiers copiés sur le serveur cible

     

  • Note: les Noms doivent être les même que les noms des groupes de stockage et Base de données de production

# 2 – Montage des Bases qui seront utilisées pour la SCR

  • Montage de la base de données exchange

# 3 – Démontage des Bases qui seront utilisées pour la SCR

  • Démontage de la base de données exchange

# 4 – Suppression des fichiers temporaires

  • Suppression des fichiers de base de donnée et logs puisqu’ils ne serviront pas. Seule l’existence de ces informations est nécessaire

 

Détails du Script:

Pour des raisons de sécurité des « » ont été ajoutés au script afin d’éviter toutes mauvaises manipulations

 

Les scripts devront être modifiés pour s’adapter à votre environnement.

 




Exemple d’utilisation

Voici le détail de l’exécution de ce script

 



Mise en place de la copie des données vers le site de secours

La copie des données se fait à l’aide du script « Enable-StorageGroupCopy.ps1 »

Exemple d’activation de la copie pour un groupe de stockage (Le groupe de stockage Numéro 4)

Ce script vous permet de gérer l’activation de cette copie pour un ou plusieurs groupes de stockage ou pour tous les groupes de stockage du serveur, il suffit pour cela de mettre ou de supprimer les « # » devant les commandes,

Etapes du script

 

Chaque numéro représente une action :

 

# 1 – Activation de la copie pour tous les groupes de Stockage

# 1 Bis – Activation de la copie pour chaque les groupes de Stockage

# 2 – Suspension de la copie Pour tous les groupes de Stockage

# 2 Bis – Suspension de la copie pour chaque les groupes de Stockage

# 3 – Update de la copie Pour tous les groupes de Stockage

# 3 Bis – Update de la copie pour chaque les groupes de Stockage

# 4 – Reprise de la copie Pour tous les groupes de Stockage

# 4 Bis – Reprise de la copie pour chaque les groupes de Stockage

Détails du scripts

 

Exemple d’utilisation

 


Le script lance automatiquement une commande permettant de vérifier la bonne santé de la copie.

Note, il faut attendre que les bases de données et logs soient copiés pour avoir un résultat correct, ceci peut prendre du temps.

Get-storagegroup -Server $SourceServer | Get-StorageGroupCopyStatus -StandbyMachine $TargetServer |fl summary*,copy*

A ce stade le serveur Target dispose d’une ou plusieurs bases de données qui sont en mode démonté puisque non utilisés

 

Activation du site de secours par portabilité

Activation de la copie d’une base de donnée sur le serveur Target

 

L’activation de la Target SCR pour une ou plusieurs bases de données se fait à l’aide du script

« Activation_SCR.ps1 »

Si je veux par exemple activer la copie pour le groupe de stockage numéro 4, il me suffit de supprimer les « # » dans les parties 1, 2, 3, 4 correspondant au groupe de stockage 4 comme dans le détail du script ci-dessous

Bien vérifier que les autres présentes bien un « # » afin de désactiver la commande lié à un autre groupe de stockage

Etapes du script

 

# 1 – Démontage de la banque de donnée source

  • Test de connexion à la base de donnée du server source et tentative de démontage de la base

# 2 – Restore-StorageGroupCopy

  • Permet de monter une copie passive d’une base de données ou une base de données cible SCR dans le cadre de la récupération suite à un échec ou un endommagement de la copie active de la base de données.

# 3 – Vérifier les numéros de log et Adapter le script

  • Action à faire : Adaptation du script

# 4 – Reconfiguration des chemins de Groupes de stockage et bases de données

  • Consiste à faire pointer les groupes de stockage et bases de données Exchange du serveur SCR Target vers les copies des groupes de stockages et bases de données de la production

# 5 – Marque les bases de données comme "Restorables"

  • Le paramètre AllowFileRestore spécifie si la restauration d’une base de données à partir d’une sauvegarde est autorisée. Les valeurs possibles sont $true et $false. Si vous spécifiez $true, la commande autorise le montage d’une base de données ne correspondant pas à l’entrée de base de données dans le service d’annuaire Active Directory.

# 6 – Montage des bases de données du serveur Cible SCR

# 7 – Reconfiguration des utilisateurs afin de pointer sur la nouvelle base de données

Adaptation du script

Afin de pouvoir monter la base de donnée, il va falloir, dans la plupart des cas (raison pour laquelle il est intégré automatiquement au script), utiliser l’outil « ESEUTIL » afin de pourvoir monter la base de donnée Exchange.

La commande est la suivante 

Nous nous plaçons dans le répertoire de la base de donnée que nous voulons vérifier et réparer à l’aide de la commande :

cd "E:\MdbData\SG4"

Puis nous utilisons l’outil "ESEUTIL" pour lancer la réparation de la base, l’élément en rouge E03 Correspond au préfixe les numéros de logs utilisés par exchange, il faut :

 

  1. Vérifier ce numéro en allant dans le répertoire ou sont stockés les logs Exchange, lié à la base en question, dans notre exemple, les logs du groupe de stockage 4 sont stockés dans le répertoire

    "E:\Logs\SG4" (Voir figure suivante)

  2. il faut ensuite modifier le script en conséquence pour chaque commande ESEUTIL nécessaire

     

Eseutil /r E03 /L"E:\Logs\SG4"

 

 

Dans le script ces éléments sont mis de base à E00 mais il convient de vérifier et modifier le script afin de l’adapter à la production

Détails du script

 


Exemple d’utilisation

 

Nous avons Activer la copie SCR sur le serveur Target pour la base de donnée 4.

 

 

Une fois terminé, vous pouvez vous connecter aux bases de données Exchange impactées par l’activation de la Target SCR.

 

Opérations à faire après activation de la Target SCR

Après activation de la Target SCR vous aurez une partie de vos utilisateurs connectés sur un site et une autre partie sur l’autre site

 

Suppression des bases de données du serveur source

Nous allons devoir supprimer les bases de données et groupes de stockage du serveur source,

 

Faire un clic droit sur la base de donnée qui est démonté et choisir « Supprimer », cliquer ensuite sur « OK » quand exchange vous donner un avertissement concernant la suppression des fichiers liés à cette base de données, nous la supprimerons à la main ensuite.

 

 

Nous allons maintenant opérer de la même façon pour supprimer le groupe de stockage

 

 

Faire un clic droit sur le groupe de stockage qui est concerné et choisir « Supprimer », cliquer ensuite sur « OK » quand exchange vous donner un avertissement concernant la suppression des fichiers liés, que nous supprimerons à la main ensuite.

La suppression des fichiers se fait en allant dans les répertoires de la base de donnée et des logs et en supprimant tous les fichiers.

 

 

 

Création des groupes de stockage et base de données utilisés par la SCR

 

Nous devons ensuite recréer un groupe de stockage et une base de données sur le serveur source afin de répliquer les informations en utilisant le script « Create_Port.ps1 » en adaptant le script pour recréer les bases sur le site principal qui ont été activées sur le site PRA.

 

Exemple dans notre cas, si nous avons passé les utilisateurs de la base 4 sur le Site PRA sur le Serveur Target, nous devons créer un storagegroup et une base de données temporaire sur le serveur Source qui sera utilisé lors de la bascule de la base 4 depuis le serveur Target vers le serveur initial Source

 




 

Exécution du script

 

Réactivation de la solution de copie

Nous pouvons maintenant lancer la copie des données concernant la base de données 4 situé sur le site de PRA vers le site de production,

Ceci à l’aide du script « Enable-StorageGroupCopy.ps1 »

Il suffit de donner le nom du serveur source de la copie et le nom de serveur cible

Cette fois, contrairement à la copie initiale vers le site PRA, nous n’allons pas activer la copie pour tous les storage group mais seulement pour la banque d’information montée sur le site de secours.

En clair les bases de données seront copiées du site principal vers le site de secours sauf pour la base de donnée 4 qui sera copiée du site de secours vers le site de production.

Je vais donc modifier le script en conséquence dans chaque partie du script ou cela est nécessaire (A chaque Numéro, il y a une action à faire).

 

 

J’ai désactivé les opérations globales pour activer uniquement les opérations liées au groupe de stockage concerné.

 

 

Nous voyons bien dans la copie d’écran ci-dessous dans quel sens vont les copies des bases

 

Une fois la copie des données faite, il est possible de rebasculer ces utilisateurs sur le site de production en activant uniquement la bascule pour le storagegroup et la base de donnée concernés.

 

 

La banque d’information a bien rebasculé sur le serveur de production.

 

Il ne reste qu’ à supprimer le Storage groupe sur le serveur du site de secours ainsi que la base de données et les fichier, puis à réactiver la copie du site de production vers le site de secours .

Attention cependant, lors de l’activation de la copie d’un groupe de stockage vers le site de secours alors de d’autres groupe de stockage sont déjà activés pour la copié, risque de poser des problèmes à ces autres groupes de stockage.

Exemple ci-dessous ou l’activation de la copie d’un groupe de stockage m’a obligé à relancer le processus de copie à savoir pour chaque groupe de stockage

- Suspend-Storagegroupcopy

- UpdateStoragegroupcopy avec le paramètre -DeleteExistingFiles (Donc recopie complète des données)

- Puis Resume-Storagegroupcopy

 

Exemple avec le Storagegroup2 de ces diverses opérations de mise à jour et de reprise du processus de copie.

 

 

 

Si toutes les bases de données sont à basculer sur le site PRA, il est plus simple et plus rapide d’utiliser l’option RecoverServer

 

Préparation de l’activation

 

Nous allons tout d’abord lancer le script « Activation_PRA.ps1 » afin de préparer l’environnement à la bascule

Etapes du script

 

# 1 – Démontage de la banque de donnée source

  • Tentative de connexion au serveur source pour démonter les bases exchange

# 2 – Restore-StorageGroupCopy

  • Permet de monter une copie passive d’une base de données ou une base de données cible SCR dans le cadre de la récupération suite à un échec ou un endommagement de la copie active de la base de données.

 

Détails du script :

 



 

Désinstallation d’Exchange

Il fait maintenant désinstaller Exchange du serveur PRA à l’aide de la commande

Setup /M :Uninstall

 


 

Une fois Exchange désinstallé nous allons supprimer le compte ordinateur du serveur source dans Active Directory / cliquer sur « Oui » aux différentes alertes pour confirmer la suppression.

 

 

Nous allons maintenait renommer le serveur du site de secours avec me nom du serveur de production, dans cet exemple le serveur de production est SRVEXCH01 et le serveur de PRA est SRVEXCH02

 

Nous allons donc renommer le serveur SRVEXCH02 en SRVEXCH01 après avoir supprimé le compte ordinateur de SRVEXCH01 d’Active directory

 

 

Une fois l’ordinateur redémarré suite au changement de nom, il faut l’ajouter au groupe « Exchange Servers »

 

Réinstallation d’Exchange

Nous allons maintenant réinstaller Exchange en utilisant l’option RecoverServer afin de restaurer les informations liées à l’ancien serveur de production à ce serveur.

Commande :

Setup.com /m :RecoverServer

 

 

Nous pouvons maintenant monter les bases de données et se connecter au serveur Exchange.

Il se peut que les bases de données ne montent pas, dans ce cas il faut utiliser l’outil ESEUTIL afin de réparer les bases et de pouvoir les monter ensuite

Il fait vérifier les préfixes de Log Utilisé, ici E03

Puis lancer l’outil de réparation de la base Exchange

 

il se peut que vous ayez besoin d’ajouter le paramètre "/a" comme dans l’exemple ci-dessus

Ceci est à faire sur chaque base de données ne pouvant pas être montée dans Exchange.

Une fois l’opération faite, nous pouvons monter la base de données dans la console de messagerie.

 

 

Opérations à faire après activation de la Target SCR

 

Le retour sur le site principal se fait exactement de la même façon, il faut réintégrer le serveur du site de production dans Active Directory avec un autre nom, supprimer tous les fichiers de bases de données et de log, activer la réplication pour tous les groupes de stockage puis Activer la bascule PRA pour revenir à l’état initial.

Publié dans Powershell-2007, PRA-2007 | Leave a Comment »

Exchange 2007 SCR (Standby Continuous Replication)

Publié par David PEKMEZ le août 16, 2008


 
 

Une nouvelle fonctionnalité arrive le Service Pack 1 d’Exchange Server, la Standby Continuous Replication (Réplication continue de secours en Français)

Cette solution apporte de nouvelles réponses techniques aux problématiques de haute disponibilité rencontrées par les utilisateurs, elle permet en effet de répondre aux besoins de résilience de site.

 
 

Principe de Fonctionnement

Les serveurs sources et cibles

 
 

La réplication continue de se cours se base sur des serveurs sources sur lesquels se connectent les clients de messagerie et les serveurs cibles, vers lesquels les données sont répliquées,

Les serveurs source peuvent être :

  • Un serveur de boîtes aux lettres autonome
  • Un serveur de boîtes aux lettres en cluster dans un cluster à copie unique (SCC).
  • Serveur de boîtes aux lettres en cluster dans un environnement de CCR

 
 

Les serveurs cibles peuvent être :

  • Un serveur de boîtes aux lettres autonome qui n’a activé la LCR pour aucun groupe de stockage
  • Un nœud passif de cluster avec basculement sur lequel le rôle de boîtes aux lettres est installé, si ce dernier n’est pas en cluster.

Une source peut avoir plusieurs cibles. Par exemple, une source peut avoir une cible dans le même centre de données qu’elle, et une deuxième cible dans un autre centre de données. Le nombre de cibles possibles pour une source est illimité.

 
 

Voici un exemple concret d’infrastructure de ce type avec un serveur standard

Voici un exemple concret d’infrastructure de ce type avec un serveur en cluster

 
 

Remarques sur l’utilisation de cette fonctionnalité

 
 

  • Les chemins des storage group et bases de données des serveurs sources pour lesquels la SCR est activée sont utilisés pour copier les données vers les serveurs cibles

Par exemple, si sur une source de SCR, les fichiers du groupe de stockage et les fichiers journaux sont situés dans D:\SG1\Logs et la base de données est située dans E:\SG1\Database, vous devez également avoir D:\SG1\Logs et E:\SG1\Database comme chemin d’accès sur tous les ordinateurs cibles de SCR.

Attention aux conflits si vous utilisez un serveur cible pour plusieurs serveurs source !

  • Il n’est pas possible que la LCR soit activée pour un quelconque groupe de stockage sur un serveur de boîtes aux lettres autonome désigné en tant que cible SCR. Le service de réplication Microsoft Exchange n’a pas été conçu ni modifié pour gérer à la fois la LCR et la réplication depuis une autre source.

     
     

  • Seule la copie Active de la base de données dans un environnement SCR peut être sauvegardée

 
 

Configuration de cette fonctionnalité

 
 

Dans cet article l’exemple pris est le plus « basique » à savoir activation de la SCR sur un serveur Exchange 2007 SP1 Std Edition et la cible étant aussi un Std Edition,

Le principe d’activation est le même que les sources soient des serveurs Std ou mis en clusters, seule l’activation de la cible nécessitera l’utilisation de solution différentes suivant si la cible est un serveur standard ou un cluster.

Je vais tout d’abord créer un groupe de stockage et une base de données sur mon serveur Exchange 2007 SP1 qui sera ma source

La base de données est maintenant montée et peut héberger des boîtes aux lettres utilisateurs, elle est de plus configurée pour utiliser le server EXCH07 (StandbyMachine) comme serveur cible de la copie SCR.

 
 

Nous pouvons vérifier la copie des données entre les serveurs source et cible grâce à la commande suivante

Si vous désirez activer cette fonctionnalité sur un Storage group existant, vous devez utiliser la commande Enable-StorageGroupCopy

Maintenant que la configuration de la SCR est terminée, nous allons créer, sur le serveur cible, un Groupe de stockage ainsi qu’une base de donnée qui nous servirons lors de l’activation de la base cible, en cas de désastre sur le site principal,

L’activation s’appuyant sur la portabilité
d’Exchange 2007, nous modifierons les chemins du groupe de stockage et de la base de donnée afin qu’ils pointent sur la copie de la base de donnée.

Nous n’avons pas besoin de garder les fichiers de la base de données, l’idée est que les informations dont nous allons nous servir soient stockées dans Active Directory, autant le faire avant une catastrophe pour éviter de perdre du temps lors d’une restauration.

Il est recommandé de monter la base, puis de la démonter avant de supprimer les fichiers.

Scénario de panne

 
 

Nous allons maintenant tester cette solution dans un scénario catastrophe, pour cela je vais simplement démonter la base de données de production, et configurer le serveur pour utiliser la copie SCR.

Je démonte la base de données grâce à la commande

Dismount-Database EXCH02\SGSCR\DB1 -Confirm:$False

La tentative d’accès à l’OWA me donne maintenant ce message d’erreur

Pour que la Base sur le Server Target soit montable, il faut utiliser la cmdlet Restore-StoragegroupCopy

Il vérifie que les logs de du serveur source sont bien dans le serveur cible et tente de les copier si ce n’est pas le cas, pour éviter de copier les logs si le serveur source ne fonctionne plus, il faut utiliser le paramètre –Force.

Nous devons maintenant vérifier que la base est en clean shutdown State.

Eseutil /mh "C:\Program Files\Microsoft\Exchange Server\Mailbox\SGSCR\DB1.edb" | findstr State

 
 

 

 

Nous allons maintenant configurer le storage group et la base Exchange que l’on a créé précédemment pour qu’ils pointent sur la copie de la base SCR afin de l’activer.

Reconfiguration du Storage Group

Move-StorageGroupPath EXCH07\SGSCRPort -SystemFolderPath "C:\Program Files\Microsoft\Exchange Server\Mailbox\SGSCR" -LogFolderPath "C:\Program Files\Microsoft\Exchange Server\Mailbox\SGSCR" -ConfigurationOnly -Confirm:$false

 
 

Reconfiguration de la base de données

Move-DatabasePath EXCH07\SGSCRPort\MbxPort -EdbFilePath "C:\Program Files\Microsoft\Exchange Server\Mailbox\SGSCR\DB1.edb" -ConfigurationOnly -Confirm:$false

 
 

Nous devons maintenant marquer la base comme "restaurable" grâce à la commande Set-Mailbox

Set-MailboxDatabase EXCH07\sgscrPort\MbxPort -AllowFileRestore:$True

Il ne reste plus qu’a monter la base Exchange

Mount-Database MbxPort

Nous devons maintenant reconfigurer les utilisateurs de cette base pour utiliser la nouvelle base de production, attention, les bals system ne doivent pas être modifiés

Get-Mailbox -Database EXCH02\SGSCR\DB1 |where {$_.ObjectClass -NotMatch ‘(SystemAttendantMailbox)’}| Move-Mailbox -ConfigurationOnly -TargetDatabase EXCH07\SGSCRPort\MbxPort -Confirm:$false

 
 

A partir de ce moment mes utilisateurs peuvent se reconnecter à leur système de messagerie

Pour aller plus loin

Restauration dans le cas de l’utilisation d’un cluster Exchange comme cible SCR

 
 

Références

Les vidéos disponibles sur le site de l’équipe Exchange

Le Technet Microsoft

 
 

 
 

 
 

 
 

 
 

 
 

 
 

  

Publié dans Powershell-2007, PRA-2007 | Leave a Comment »

 
Suivre

Recevez les nouvelles publications par mail.

Joignez-vous à 223 followers