Défragmenter une banque d’informations sous Microsoft Exchange Server 2003

Bien qu’Exchange défragmente automatiquement ses bases de données chaque nuit, lorsque vous effectuez (par exemple) des déplacements de BAL massifs, vous pouvez être amené à défragmenter manuellement vos banques d’informations afin de récupérer l’espace disque disponible.

Pour éviter de faire des erreurs, il faut vous assurer de ne pas agir dans l’urgence et d’organiser méthodiquement toutes vos opérations. N’oubliez pas que ce sont de nombreuses BAL utilisateurs avec lesquelles vous aller travailler !

Préparation de la défragmentation

Une première petite astuce consiste à se connecter sur le serveur Exchange puis à consulter l’Observateur d’événements (partie Applications) pour repérer les ID 1221 les plus récents.

Code erreur Exchange 1221

Généralement, on considère qu’une défragmentation se justifie au-delà de 3 Go d’espace disponible. Cette valeur est néanmoins totalement modulable selon vos besoins, votre environnement et vos contraintes. Dans la capture écran ci-dessus, vous remarquerez que l’on peut récupérer environ 4,7 Go sur la base de données concernée. Il va donc falloir effectuer une défragmentation hors ligne. Pour cela, on utilisera l’exécutable en ligne de commande eseutil qui se trouve par défaut dans C:Program FilesExchsrvrbin.

Fichier eseutil.exe

Il faut savoir que la défragmentation de disque est un processus qui mobilise beaucoup de ressources processeur. Par conséquent, non seulement on évitera de réaliser des opérations de maintenance en journée, mais on prendra également soin de déporter ces opérations sur un autre serveur quand cela est possible (dans ce cas, ne manquez pas de lire cet article !).

Pour faire simple, copiez l’intégralité du répertoire bin vers une autre machine et assurez vous d’avoir au minimum deux fois la taille totale de la banque d’informations à défragmenter disponible pour éviter de vous retrouver dans une situation délicate. Vous êtes désormais prêt à commencer les opérations.

Interruption de service

Dans le Gestionnaire système Exchange, repérez votre banque d’information à défragmenter et faites clic droit > Démonter la banque d’informations.

Démontage de la banque

Un message d’avertissement vous rappelle que toutes les connexions vers les BAL présentes dans la banque d’informations seront déconnectées. Idéalement, vous aurez prévenu vos utilisateurs pour qu’ils n’aient pas la surprise de ne pouvoir consulter leurs mails. Rappelez-vous qu’un utilisateur peut en théorie se connecter à n’importe quel moment, ne serait-ce de chez lui avec le webmail.

Au démontage, les utilisateurs seront déconnectés

Une fois la banque démontée, son icône change et confirme la réussite de l’opération.

banque_demontee

Il est à présent temps d’effectuer une copie de la banque d’informations démontée vers le serveur qui effectuera la défragmentation. On copie donc deux fichiers indissociables : un .edb et un .stm

copie_edb_stm

Le serveur de destination contient donc la base à défragmenter ainsi que le dossier bin où se trouve eseutil.exe. Les opérations peuvent être lancées.

Lancement de la défragmentation

L’utilitaire se lance à partir du dossier bin. Une bonne pratique consiste à vérifier que la banque a bien été fermée, au moyen de la commande eseutil /mh

La mention Clean Shutdown vous permet ainsi d’être rassuré concernant les opérations à venir.

C:exchbin>eseutil /mh "C:exchTEST_1.edb"

Microsoft(R) Exchange Server Database Utilities
Version 6.5
Copyright (C) Microsoft Corporation. All Rights Reserved.

Initiating FILE DUMP mode...
          Database: C:exchTEST_1.edb

File Type: Database
Format ulMagic: 0x89abcdef
Engine ulMagic: 0x89abcdef
Format ulVersion: 0x620,11
Engine ulVersion: 0x620,11
Created ulVersion: 0x620,11
DB Signature: Create time:05/03/2009 15:54:30 Rand:664847310 Computer:
cbDbPage: 4096
dbtime: 107989262 (0x66fc90e)
State: Clean Shutdown
Log Required: 0-0 (0x0-0x0)
Streaming File: Yes

[suite tronquée...]

Pour lancer la défragmentation, nous utiliserons deux arguments :

  • /d pour la défragmentation
  • /t pour spécifier un répertoire de destination pour la nouvelle base de données

Si vous omettez /t, votre nouvelle base sera créé dans bin. Pour éviter cela et vous créer des sueurs froides en ne voyant pas la nouvelle base, pensez toujours à spécifier une destination et un nouveau nom de fichier.

C:exchbin>eseutil /d "C:exchTEST_1.edb" /t "C:exchTEST_1temp.edb"

Microsoft(R) Exchange Server Database Utilities
Version 6.5
Copyright (C) Microsoft Corporation. All Rights Reserved.

Initiating DEFRAGMENTATION mode...
Database: C:exchTEST_1.edb
Streaming File: C:exchTEST_1.STM
Temp. Database: C:exchTEST_1temp.edb
Temp. Streaming File: C:exchTEST_1temp.STM

Defragmentation Status (% complete)

0 10 20 30 40 50 60 70 80 90 100
|----|----|----|----|----|----|----|----|----|----|
...................................................

Note:
It is recommended that you immediately perform a full backup
of this database. If you restore a backup made before the
defragmentation, the database will be rolled back to the state
it was in at the time of that backup.

Operation completed successfully in 8.0 seconds.

Voilà, votre banque vient d’être défragmentée avec succès. Vous vous trouvez donc maintenant en possession de trois bases de données :

  • la base originale sur votre serveur Exchange
  • la base copiée sur le serveur de traitement
  • la nouvelle base défragmentée sur le serveur de traitement

Je vous conseille de conserver la base originale sur le serveur Exchange et la base copiée sur le serveur de traitement si vous avez la place disque disponible. Renommez les simplement avec l’extension .bak pour vous souvenir que ce sont vos “bonnes” bases dans le cas où la base défragmentée serait corrompue.

Pour finaliser les opérations, il vous suffit de déplacer nouvelle banque d’informations à son emplacement original et de la renommer, également avec son nom original. De retour dans le Gestionnaire système Exchange, remontez la banque d’information (clic droit sur la banque).

remontage_banque

Votre travail est terminé.

,

  1. #1 par Fabrice le 8 décembre 2009 - 17 05 31 123112

    Enfin une explication très claire pour une intervention assez complexe. Bravo!

Répondre

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Gravatar
Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Twitter picture

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Connexion à %s