Snapshots AD: Gérer les clichés instantanés Active Directory

Envoyer

Sommaire

 

 

Introduction

Une des nouveautés introduites avec Active Directory sous Windows 2008 est la possibilité de gérer les clichés instantanés de votre base Active Directory. Ces derniers permettront en clair de disposer de plusieurs versions de votre base Active Directory et de pouvoir les exploiter rapidement pour divers besoins d'administration comme l'exploration ou la restauration.

Réelle avancée d’un premier abord, la nouveauté est toute relative car cette amélioration se situe principalement au niveau de l’outil ntdsutil et de l’apparition de dsamain. La fonctionnalité exploite principalement la technologie Volume Shadow Copy Service apparue dès les versions de Windows Server 2003 (vous pouvez consulter notre article relatif à ce sujet: Les clichés instantanés de dossiers partagés sous Windows 2008). Cependant cela n’en rend pas moins intéressant le sujet que nous vous proposons donc de découvrir ensemble.

Nous verrons dans ce premier article les moyens de gérer les clichés instantanés Active Directory pour ensuite nous consacrer dans notre second article Snapshot AD: Exploiter les clichés instantanés Active Directory à leur exploitation.

 

 

Pourquoi utiliser les clichés instantanés Active Directory ?

Réaliser des clichés instantanés de votre base Active Directory va vous apporter plusieurs avantages non négligeables :

  • Réaliser de façon régulière plusieurs points de sauvegarde de votre base Active Directory grâce à la faible consommation de ressources que les clichés génèrent et leur rapidité d’exécution.
  • Consolider votre plan de sauvegarde de l’annuaire et disposer d’une solution complémentaire.
  • Explorer à l’aide de la console Utilisateurs et ordinateurs Active Directory ou DSCT (Directory Service Comparison Tool) les clichés réalisés et en observer les différences.
  • Restaurer granulairement des objets ou même des attributs à l’aide de DSCT.

Remarque : les deux derniers points sont traités dans notre second article.

ATTENTION !!! Les clichés instantanés de la base Active Directory ne sont pas une alternative à votre solution de sauvegarde. Ils ne sont qu’un complément.

Concernant les pré-requis, la seule exigence pour exploiter les clichés instantanés Active Directory sera de disposer d'un contrôleur de domaine sous Windows Server 2008. Autre point intéressant est que la fonctionnalité s'appuye exclusivement sur le service Volume Shadow Copy et sur ntdsutil et qu'il n'y a donc aucune exigence particulière relatif au niveau fonctionnel du domaine.

 

 

Gérer les clichés instantanés de votre base Active Directory

Pour réaliser un cliché instantané (ou plus communément appelé snapshot) de la base Active Directory, il faudra passer par l’incontournable ntdsutil depuis un contrôleur de domaine sous Windows Server 2008. Nous allons donc commencer par lancer depuis une invite de commandes « ntdsutil » et saisir la commande « snapshot ».

 

 

 

 

 

Remarque : Pour des questions de sécurité, seul les membres du groupe « Administrateurs de l’entreprise » ou « Admins du domaine »  ont la capacité de réaliser un cliché instantané.

Une fois dans le menu « snapshot » de ntdsutil et pour d’obscures raisons, il faut préciser la base Active Directory à activer. En l’occurrence, nous allons donc saisir la commande « activate instance ntds ».

 

 

 

 

 

Il ne reste plus qu’à créer notre snapshot à l’aide de la commande « create » pour enfin disposer assez simplement d’un cliché instantané de notre base Active Directory.

 

 

 

 

 

Vous pourrez bien sûr répéter l’opération autant de fois que nécessaire sachant que la seule contrainte sera l'espace disponible sur votre disque et le nombre de clichés instantanés que vous voudrez conserver. Il est assez compliqué de l’évaluer car cela dépend de plusieurs critères mais un cliché instantané ne devrait pas dépasser quelques dizaines de méga-octets. En terme de performances, cela n’aura d’effet que durant la création du cliché instantané qui multipliera les entrées/sorties sur le disque stockant la base Active Directory.

Si nous retournons dans le menu « snapshot » de ntdsutil, vous pouvez également lister l’ensemble des snapshots disponibles à l’aide de la commande « list all ». Nous voyons ci-dessous que nous disposons de deux snapshots.

 

 

 

 

 

Comme nous l’évoquions précédemment, les clichés instantanés Active Directory s’appuient exclusivement sur le service Volume Shadow Copy déjà présent sur les systèmes Microsoft Windows depuis la version 2003. Nous pouvons le vérifier rapidement à l’aide de l’outil en ligne de commande « vssadmin ». Ouvrez une invite de commande et saisissez la commande « vssadmin list shadows » pour obtenir la liste des clichés instantanés présents et constater que les clichés créés depuis ntdsutil y sont listés.

 

 

 

 

 

 

 

Obtenir la liste des clichés instantanés à l’aide de la commande « list all » va nous permettre dans un premier temps de récupérer l’index du cliché à monter pour pouvoir l’exploiter par la suite. En effet, il est nécessaire dans un premier temps de monter un des clichés instantanés pour l’exploiter et pour cela nous allons utiliser la commande « mount {index} » ou « mount {GUID} ». Nous allons monter par exemple le cliché portant l’index 1 en saisissant la commande « mount 1 ».

Remarque : chaque cliché instantané est toujours associé à deux index. Le premier index représente le numéro du jeu de clichés instantanés et le deuxième index concerne l’ID du cliché instantané. Vous pouvez utiliser indifféremment  l’un ou l’autre.

 

 

 

 

 

Une fois le cliché monté, nous obtenons en résultat le point de montage qui est en l’occurrence dans notre exemple « C:\$SNAP_201106131831_VOLUMEC$\ » et que nous pouvons visualiser désormais depuis l’explorateur Windows. Cela nous permettra de pouvoir accéder au fichier de la base Active Directory « ntds.dit »  par la suite.

 

 

 

 

 

 

Remarque : vous pouvez monter plusieurs clichés simultanément.

Il vous est possible à tout moment de lister les clichés montés à l’aide de la commande « list mounted ». Cela vous permettra de vérifier si un snapshot a été monté et surtout de pouvoir le démonter à l’aide de la commande « umount {index} » après usage. La commande « unmount * » vous permettra de démonter l’ensemble des snapshots.

 

 

 

 

 

 

Vous pouvez enfin supprimer soit un snapshot en particulier à l’aide de la commande « delete {index} » soit l’intégralité des snapshots à l’aide de la commande « delete * ».

 

 

 

 

 

 

 

Automatiser la création

Remarque: je vous conseille de consulter l'article « Gérer efficacement la création des snapshots AD » (http://www.alexwinner.com/articles/divers/132-snapshotactivedirectory3.html) pour l'automatisation de la création de vos snapshots.

Il n’est pas possible par défaut d’automatiser la création des clichés instantanés Active Directory. La seule option que nous propose Microsoft est de créer une tâche planifiée pour exécuter la commande « ntdsutil snapshot  « activate instance ntds » create » de manière régulière. Le principal désavantage de cette solution est l’absence de gestion d’une rotation. En effet, avec cette solution il ne sera pas possible de définir le nombre de snapshots que vous désirez conserver et donc de supprimer les plus anciens.

Nous vous proposons donc une solution pour palier à cette déficience en passant par un script qui sera lancé régulièrement via le planificateur de tâche.

<#
Gestion des clichés instantanés Active Directory (Snapshots AD)
 
Automatisation de la création d'un snapshot et gestion de la rotation.
 
Auteur: Augagneur Alexandre
Date de création: 31/05/2011
#>
 
#Nombre de snapshots à conserver: valeur 0 désactive la rotation
$MaxSnapshots = 14
 
#------------------------------------------------------------------
#Fonction comparant le nombre de snapshot à conserver par rapport
#à la valeur $MaxSnapshots (n'est pas appelé si la valeur est à 0)
#------------------------------------------------------------------
function RemoveSnapshots()
{
#liste le nombre de snapshots
$Items = ntdsutil snapshot "activate instance ntds" "list all" quit quit
 
#verifie la présence de snapshots
If ($Items -eq "Captures instantanées introuvables.")
{
Return
}
 
#applique un filtr et compte le nombre de snapshots
$NumItems= ($Items | where-object {($_ -like "*{*}*") -and ($_ -like "*/*/*")}).count
 
#Supprime le(s) snapshot(s) le(s) plus ancien(s)
While ($NumItems -ge $MaxSnapshots)
{
ntdsutil snapshot "list all" "delete 1" quit quit | Out-Null
$NumItems -= 1
}
}
 
#Appel la fonction RemoveSnapshots si la rotation est activée
if ($MaxSnapshots -ne 0)
{
RemoveSnapshots
}
 
ntdsutil snapshot "activate instance ntds" create quit quit | Out-Null

Il faudra donc récupérer l’intégralité du code ci-dessus pour l’intégrer dans un fichier ADSnapshots.ps1. La seule variable qui devra être modifiée selon vos convenances sera $MaxSnapshots qui vous permettra d’indiquer le nombre de snapshots que vous voudrez conserver. Le script est assez rudimentaire sans journalisation ni gestion d’exceptions mais devrait pouvoir convenir à la majorité des usages ou du moins vous servir de base pour pouvoir développer votre propre script.

Il sera également nécessaire d’autoriser l’exécution de scripts PowerShell en local sur le serveur. Pour cela taper la commande suivante depuis la console PowerShell : Set-ExecutionPolicy RemoteSigned.

 

 

Active Directory Snapshot Manager

Afin de simplifier la gestion au quotidien des clichés instantanés Active Directory et surtout pour offrir la possibilité de les gérer depuis une interface graphique, nous avons développer un front-end en Powershell. Le script est disponible depuis notre zone de téléchargement et fera sans doute l'objet de différents articles afin de vous montrer comment construire votre interface graphique à l'aide de Powershell.

Le script ne peut être exécuter que sur un contrôleur de domaine Windows Server 2008 ou 2008 R2 et nécessitera de disposer de Powershell 2.0.

A l'aide de ADSM, vous pourrez créer, supprimer ou monter un cliché instantané sur simple clic et même l'exposer en exploitant les fonctionnalités de Dsamain.

 

 

 

 

 

 

 

 

 

 

Conclusion

Nous avons donc vu dans un premier temps comment gérer la fonctionnalité des clichés instantanés sous Active Directory et automatiser leur création afin de pouvoir dans un second temps les exploiter. Nous vous invitons donc à poursuivre votre lecture en consultant notre second article Snapshot AD: Exploiter les clichés instantanés Active Directory.

Mise à jour le Mardi, 16 Septembre 2014 21:20