Active Directory – Migration SYSVOL FRS vers DFS-R

Depuis la version de Windows 2008, la technologie de réplication de fichier a été modifiée. La réplication est réalisée via la technologie DFS-r alors que avant 2008, celle-ci était réalisée avec FRS.

La réplication du répertoire SYSVOL d’Active Directory est réalisée via l’une des deux technologie selon l’historique de l’entreprise.

La migration de FRS vers DFS-R, n’est pas automatiquement réalisée lors des montée de version Active Directory. Pourtant si votre domaine est à minima à un niveau 2008, DFS-R devrait être utilisée. Nous allons voir comment réaliser cette migration lors d’un cas concret.

Dans la migration suivant, le domaine est composé de 12 contrôleurs de domaine. Il n’y a pas de RODC.

Pendant la migration, les GPO et script d’ouverture de session (tout les objets contenu dans le SYSVOL, ne doivent pas être modifiés. Selon la taille de l’entreprise, il est nécessaire de prévoir la communication autour.

Toutes les opérations sont réalisées avec un compte membre des groupes : « Administrateurs de l’entreprise » et « Admins du domaine ».

Sommaire

Prérequis

Avant de commencer l’opération, réaliser une sauvegarde tiers d’Active Directory et du répertoire SYSVOL.

Il est recommandé comme avant toute migration Active Directory de réaliser un diagnostic de celle-ci. Les utilitaires DCDIAD et RepAdmin sont là pour ça.

dcdiag.exe /e /test:sysvolcheck /test:advertising

repadmin.exe /replsum

exemple de dcdiag FRS

Vérifier que votre domaine à le niveau fonctionnel suffisant. Le niveau minimum pour le domaine est Windows Server 2008, dans le cas présenté ci-dessous le niveau du domaine est 2008r2. Le niveau fonctionnel de la foret est négligeable, car celui-ci à minima du niveau du domaine ect…

Sauvegarde des GPO

Il est nécessaire de réaliser une sauvegarde de l’ensemble des GPO dans un format facilement restaurable.

Soit en Powershell selon la version disponible.

Import-Module ActiveDirectory
Backup-GPO -All -Path « C:\temp\BackupGPO »

Ou en utilisant la console gpmc.msc

Vérifier l'espace libre sur les contrôleurs de domaine

Il est important qu’un contrôleur de domaine ne soit jamais à court d’espace libre. Lors de la migration, le répertoire SYSVOL va être copier, ce qui va selon le volume utilisé par celui-ci engendrer surconsommation temporaire de l’espace libre.

Le script Powershell permet de vérifier l’espace disponible sur les contrôleurs de domaine :

Import-Module ActiveDirectory

$Result=@()

$LstDCInDomain=Get-ADDomainController -Filter * | Select-Object HostName

foreach($DC in $LstDCInDomain){

$volConDC= » »

$LstvolConDC=Get-WmiObject -Query « SELECT systemname,DeviceID,FreeSpace FROM win32_logicaldisk » -ComputerName $DC.Hostname

foreach($volConDC in $LstvolConDC){

$ObjectUser = New-Object System.Object

$ObjectUser | Add-Member -Type NoteProperty -Name HostName -Value $volConDC.systemname

$ObjectUser | Add-Member -Type NoteProperty -Name Drive -Value $volConDC.DeviceID

$ObjectUser | Add-Member -Type NoteProperty -Name GB_Free -Value $([math]::round($volConDC.FreeSpace/1GB, 2))

$Result+=$ObjectUser

}

}

$Result | FT

Espace libre sur les DC
Vérification du niveau fonctionnel

Import-Module ActiveDirectory

(Get-ADForest).ForestMode

(Get-ADDomain).DomainMode

Niveau fonctionel forest et domaine
Identification du PDC

Par habitude, je réalise ce type d’opération depuis le contrôleur de domaine depuis de PDC.

netdom query fsmo

Liste des rôles FSMO
S'assurer que la réplication est toujours en FRS

Vérifier que la réplication SYSVOL est toujours en FRS et n’a pas encore commencée

dfsrmig /getmigrationstate

S'assurer que le service DFS-R est démarré sur tous les DC

Vérifier ensuite que tous les contrôleurs de domaine aient le service « DFSR » de démarré.

Import-Module ActiveDirectory

$Result=@()

$LstDCInDomain=Get-ADDomainController -Filter * | Select-Object HostName

foreach($DC in $LstDCInDomain){

$DFSRServiceState=Get-Service -Name DFSR -ComputerName $DC.HostName

$ObjectUser = New-Object System.Object

$ObjectUser | Add-Member -Type NoteProperty -Name HostName -Value $DC.HostName

$ObjectUser | Add-Member -Type NoteProperty -Name ServiceName -Value $DFSRServiceState.Name

$ObjectUser | Add-Member -Type NoteProperty -Name Status -Value $DFSRServiceState.Status

$Result+=$ObjectUser

}

$Result | FT

Vérification de l'état des réplications SYSVOL

Vérifier que la réplication du SYSVOL fonctionne bien.

RepAdmin /ReplSum

Migration

La migration s’effectue avec l’outil DFSRMIG.EXE, celle-ci s’effectue en 4 étapes numérotées de 0 à 3.

La documentation de l’utilitaire DFSMIGR est disponible à l’adresse :

https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/dd641227(v=ws.10)

Étape 0 : initialisation de la migration

La première étape (l’étape 0) initie la migration.

dfsrmig /getmigrationstate

dfsrmig /setglobalstate 0

dfsrmig /getmigrationstate

Étape 1 : préparation du SYSVOL

La préparation du SYSVOL est presque l’étape la plus longue de l’upgrade. Pendant cette étape, un nouveau répertoire « SYSVOL_DFSR » est créé sur chaque contrôleur de domaine, le contenu du SYSVOL actuel est copié dans ce nouveau répertoire puis la réplication DFS-R initiale est lancée.

dfsrmig.exe /setGlobalState 1

L'étape 1 de la migration est lancée
Le nouveau répertoire SYSVOL est créé

Le monitoring de cette étape et le contrôle de son succès doit être réalisé avec la commande :

dfsrmig.exe /getmigrationstate

Suivi de l'avancement de l'étape 1

Dès que l’emsemble des contrôleurs de domaine sont prêt (dans ce cas ci cette étape à duré 1 heure), vous obtenez l’état :

Étape 1 terminée

Sur chaque contrôleur de domaine, nous pouvons constater que :

  • Il existe un répertoire C:\Windows\SYSVOL\
  • Il esiste un répertoire C:\Windows\SYSVOL_DFSR\
  • Le partage SYSVOL pointe encore sur C:\Windows\SYSVOL\

Get-ChildItem C:\Windows\SYSVOL*

net share

L’étape 1 de la migration est maintenant terminée.

Étape 2 : préparation du SYSVOL

Dans l’étape 2 de la migration à pour but de rediriger le partage SYSVOL de tous les contrôleurs de domaine vers le « nouveau répertoire SYSVOL » qui est répliqué via DFS-R (C:\Windows\SYSVOL_DFSR\sysvol).

dfsrmig.exe /setGlobalState 2

Cette étape va durer quelques minutes, elle-ci doit être monitorer (comme l’étape précédente) via la commande :

dfsrmig.exe /getmigrationstate

Lorsque sur tous les contrôleurs de domaine le répertoire SYSVOL est redirigé (dans ce cas ci cette étape à duré 30 minutes), vous obtenez l’état :

Sur chaque contrôleurs de domaine, nous pouvons constater que :

  • Il existe un répertoire C:\Windows\SYSVOL\
  • Il esiste un répertoire C:\Windows\SYSVOL_DFSR\
  • Le partage SYSVOL pointe désormais sur C:\Windows\SYSVOL_DFSR\

Get-ChildItem C:\Windows\SYSVOL*

net share

Import-Module ActiveDirectory

$Result=@()

$LstDCInDomain=Get-ADDomainController -Filter * | Select-Object HostName

foreach($DC in $LstDCInDomain){
$ShareSYSVOL= » »
$ShareSYSVOL=get-WmiObject -class Win32_Share -computer $DC.HostName -filter « Name LIKE ‘SYSVOL' »

$ObjectUser = New-Object System.Object
$ObjectUser | Add-Member -Type NoteProperty -Name HostName -Value $DC.HostName
$ObjectUser | Add-Member -Type NoteProperty -Name ShareName -Value $ShareSYSVOL.Name
$ObjectUser | Add-Member -Type NoteProperty -Name Location -Value $ShareSYSVOL.Path

$Result+=$ObjectUser
}

$Result | FT

L’étape 2 est terminée et avec succès, next step.

Étape 3 : élimination de FRS

​La dernière étape de la migration consiste à la suppression définitive du répertoire SYSVOL réplique par FRS : C:\Windows\SYSVOL\

dfsrmig.exe /setGlobalState 3

Comme lors des étapes précédentes, cette opération est à monitorer toujours avec la commande :

dfsrmig.exe /getmigrationstate

Lorsque l’étape 3 est terminée (dans ce cas ci cette étape à duré 30 minutes), vous obtenez l’état :

Nous pouvons constater que l’étape 3 à :

  • Supprimer le répertoire : C:\Windows\SYSVOL\
  • Le nouveau répertoire SYSVOL est : C:\Windows\SYSVOL_DFSR\
  • Le partage SYSVOL pointe sur : C:\Windows\SYSVOL_DFSR\
  • Le sercice FRS est arrêté et désactivé sur tous les contrôleurs de domaine.

Get-ChildItem C:\Windows\SYSVOL*
net share

Import-Module ActiveDirectory

$Result=@()

$LstDCInDomain=Get-ADDomainController -Filter * | Select-Object HostName

foreach($DC in $LstDCInDomain){

$NTFRSServiceState=Get-WmiObject -Class Win32_Service -Property Name,StartMode,State -Filter « Name=’NTFRS' »

$ObjectUser = New-Object System.Object
$ObjectUser | Add-Member -Type NoteProperty -Name HostName -Value $DC.HostName
$ObjectUser | Add-Member -Type NoteProperty -Name ServiceName -Value $NTFRSServiceState.Name
$ObjectUser | Add-Member -Type NoteProperty -Name State -Value $NTFRSServiceState.State
$ObjectUser | Add-Member -Type NoteProperty -Name StartMode -Value $NTFRSServiceState.StartMode

$Result+=$ObjectUser
}

$Result

La migration est terminée !

Vérification post migration

Vérifier si l’état de la réplication DFR-R du SYSVOL a été initialisée avec la commande (CMD) l’état doit être à 4 . Si après quelques heures ce n’est pas le cas, il est nécessaire de pousser le diagnostic :

For /f %i IN (‘dsquery server -o rdn’) do @echo %i && @wmic /node: »%i » /namespace:\\root\microsoftdfs path dfsrreplicatedfolderinfo WHERE replicatedfoldername=’SYSVOL share’ get replicationgroupname,replicatedfoldername,state

Pour le dépannage, le lien ci-dessous peut vous aider :

https://support.microsoft.com/fr-fr/help/2958414/dfs-replication-how-to-troubleshoot-missing-sysvol-and-netlogon-shares

Vérifier l’état de la réplication du SYSVOL.

RepAdmin /ReplSum

Un dernier test est possible via la console de management DFS, celle-ci n’est pas installée par défaut sur les contrôleurs de domaine. Pour l’installer utiliser la commande Powershell suivante.

Add-WindowsFeatures RSAT-DFS-Mgmt-Con

Il s’agit de la console de management DFS standard « dfsmgmt.msc », car maintenant le SYSVOL est répliqué par DFS-R. Cette réplication bien que déclarée sur des contrôleurs de domaine, n’est qu’une « simple » réplication DFS-R standard qui peut être administrée comme toute réplication DFS-R. Et qui peut aussi dysfonctionné comme toute réplication DFS-R.

Selon le nombre de membres que comporte votre infrastructure, le rapport peut mettre plusieurs minutes à être généré.

Erreurs rencontrées

Erreur : ID 6804

Après la migration le rapport DFS-R affiche l’erreur suivante :

Cette erreur n’est pas inquiétante, Microsoft la reconnue comme faux positif.

https://support.microsoft.com/fr-fr/help/978326/error-message-and-event-log-warning-6804-when-you-complete-a-dfs-repli

Cette même erreur se retrouve aussi dans l’observateur d’événements Windows / Réplication DFS

Le service de réplication DFS a détecté qu’aucune connexion n’est configurée pour le groupe de réplication Domain System Volume.

Aucune donnée n’est répliquée pour ce groupe de réplication.

Informations supplémentaires :

ID du groupe de réplication : D3DD793C-C56B-408C-A81A-0FCF34D4A9A3

ID du membre : 91EA4C9B-54C8-49C6-BDC7-11DE9281DD91

Résolution : Redémarrer le service DFS-R ou le serveur.

Avertissement : "L’espace disque du volume C: est insuffisant"

Cet avertissement ne généré pas d’événement dans l’observateur d’événements , le message est plutôt clair, le lecteur est plein et il va falloir corriger cela.

Avertissement : ID 1004

Cette avertissement n’a rien d’alarmant, il indique juste que le service DFS-r a été redémarré plusieurs fois pendant la dernière semaine. En post migration du SYSVOL, cet avertissement n’est pas normal, mais si vous vérifier l’état des réplications plusieurs jours après la migration et que vos contrôleurs de domaine ont redémarré (ici cas d’une migration donc plusieurs reboot successifs) cet avertissement est négligeable.

Ce même événement se retrouve dans le journal d’événements Windows.

Cas RODC

Ce cas n’a pas été rencontré pour l’instant, mais si votre domaine possède des contrôleurs de domaine en lecture seule, il est nécessaire de prendre connaissance du Kb ci-dessous :

https://support.microsoft.com/fr-fr/help/3212965/events-6804-and-2843-are-logged-and-rodcs-do-not-replicate-sysvol

Et pour finir

Il peut rester un fichier de test de réplication FRS dan sle format « CheckFRSRepl_XXXXXXXXX » localisé dans le répertoire :

\\domaine.name\SYSVOL\domaine.name\

Comme le dit son contenu, il doit être supprimé.

Liens annexes

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *