Bereits im letzten Beitrag ging es um eine vorbereitende Maßnahme um von einem SBS 2011 zu einem Windows Server 2019 zu migrieren. Allerdings war dies unter Umständen nicht die einzige Vorarbeit, die geleistet werden muss, bevor mit der eigentlichen Migration überhaupt begonnen werden kann. Denn so manche Dienstleiche, wie in diesem Fall der Dateireplikationsdienst, dümpelt noch auf dem alten Domaincontroller rum.
Problem
Beim Versuch den neuen Windows Server 2019 zum Domaincontroller zu befördern, bekommt man folgende Fehlermeldung:
Der Dateireplikationsdienst (File Replication Service, FRS) ist veraltet. Um den SYSVOL-Ordner weiterhin zu replizieren, sollten Sie mit dem DFSRMIG-Befehl zur DFS-Replikation migrieren. Wenn Sie weiterhin FRS für die SYSVOL-Replikation in dieser Domäne verwenden, können Sie möglicherweise keine Domänencontroller hinzufügen, auf denen eine zukünftige Version von Windows Server ausgeführt wird.
Dies liegt daran, dass der entsprechende Dateireplikationsdienst veraltet ist. Dieser ist zuständig für die Replikation von Daten, die sich im SYSVOL-Ordner befinden. In der Praxis macht dies im normalen Betrieb keinen Unterschied, da der Dienst ja trotzdem seine Aufgabe erfüllt. Deshalb wird dieser dann auch oft nicht aktualisiert, da es keine wirkliche Notwendigkeit gibt und weil einen auch nichts auf diesem Umstand aktiv hinweist.
Lösung
Der Dienst muss einfach nur zum moderneren DFS (Distributed File System) migriert werden. Dies geht am einfachsten über die Powershell und ist erst dann möglich, wenn die Domänenfunktionsebene mindestens Windows Server 2008 ist. An dieser Stelle gibt es dann mal wieder ein merkwürdiges Konsolen-Programm seitens Microsoft. Dieses heißt „dfsrmig“, was wohl für „Distributed File System Replication Migration“ stehen soll.
Für die Migration gibt es vier Phasen, welche man selbständig in der richtigen Reihenfolge ausführen muss:
- Starten: Die Replizierung wird angestoßen um die Daten auf allen DCs abzugleichen. Bei einem einzelnen SBS 2011 ist dies mehr oder weniger eigentlich nicht wirklich nötig, da eh nichts mit einem anderen Server abgeglichen werden muss, aber egal.
- Vorbereitet: Die DFS-Replikation wird gestartet, aber noch nicht genutzt.
- Umgeleitet: Anstelle von FRS wird nun DFS genutzt.
- Entfernt: Der FRS wird deaktiviert.
Durchführung
Den aktuellen Status kann man jederzeit mittels des folgenden Befehls abfragen:
1 |
dfsrmig /getglobalstate |
Die erste Phase startet man, wie sollte es „logischerweise“ anders sein, beginnend bei 0 und nicht bei 1, mit folgendem Befehl:
1 |
dfsrmig /setglobalstate 0 |
Diesen und die folgenden Befehle führt man am besten auf dem primären Domaincontroller in einer administrativen Powershell-Konsole aus. Der Status wechselt in den Modus „Starten“. Es wird einem vermutlich die Fehlermeldung „Es wurde eine unzulässige Statusänderung angefordert“ angezeigt. Diese kann man getrost ignorieren.
Nun kann man direkt in Phase 2 wechseln:
1 |
dfsrmig /setglobalstate 1 |
Bei mir dauerte diese Phase etwa 15 bis 20 Minuten. Ich vermute die Dauer hängt von der Datenmenge bzw. dem Umfang des SYSVOL-Ordners ab. Es kann also schon mal wirklich etwas länger dauern bis diese Phase durch ist.
Mit dem Prüfbefehl muss man sicherstellen, dass bei allen Domaincontrollern der Status auf „Vorbereitet“ gewechselt ist:
Wenn dies der Fall ist, geht es mit Phase 3 weiter, in der die DFS-Replikation nun aktiviert wird und die SYSVOL-Freigabe in den Ordner SYSVOL_DFSR wechselt:
1 |
dfsrmig /setglobalstate 2 |
Nachdem man mittels des Prüfbefehls die Info bekommt, dass bei allen Domaincontrollern der Status „Umgeleitet“ erreicht worden ist, kann man dann mit der vierten Phase die Migration abschließen und den FRS-Dienst beenden und deaktivieren:
1 |
dfsrmig /setglobalstate 3 |