DFS, FRS, DFRS, SYSVOL, NETLOGON
Anmeldeskripte und Gruppenrichtlinien müssen auf allen Anmeldeservern einer Domain identisch sein, ehe Sie als "SYSVOL" und "NETLOGON" per SMB freigegeben werden. Bei Windows kümmert sich schon seit langem der "File Replication Service darum. Bei Samba-Domains gibt es den Service nicht aber kann mit eigenen Skripten wie RSYNC nachgebaut werden. Hier beschreibe ich meine Erfahrungen und Erkenntnisse vieler Jahre Troubleshooting.
Beachten Sie dazu auch die Seiten SYSVOL, NETLOGON und SysvolReady und SYSVOL Initialisierung
FRS oder DFRS
Bis Windows 2003 hat Microsoft mit dem klassischen "File Replication Service" den Abgleich der Systemverzeichnisse zwischen den Anmeldeservern umgesetzt. Diese Funktion ist bis Windows 2012R2 auch nutzbar aber seit Windows 2008 gibt es mit DFRS einen Nachfolger, der einige Probleme des klassischen FRS beseitigt. Mittlerweile sollte FRS gar nicht mehr relevant sein. Es sei denn, Sie migrieren von Windows 2003 Domain Controllern oder vielleicht Samba-Servern. Dennoch finden sich sogar auf einem Windows 2022 Server noch beide Funktionen.

Die beiden DFS-Dienste (Namespare und Replikation) sind die neue Technik während die "File Replication" mittlerweile auf "Disabled" steht.
FRS/DFRS wird aber nicht nur für den Abgleich von SYSVOL/NETLOGON genutzt, sondern kann auch beliebige Dateien zwischen Servern synchron halten und dann per DFS auch unter einem gemeinsamen Namen freigeben. Das ist natürlich keine Gute Idee für Dateien, die mit Dateisperren arbeiten, z.B. Access Datenbanken, PST-Dateien etc. Wenn Sie aber Informationen primär zum Lesezugriff bereithalten, die nur an einer Stelle geändert werden, dann ist DFS in Verbindung mit DFRS eine interessante Option zur Lastverteilung, Verfügbarkeit und WAN-Optimierung.
- Datenhaltung auf Dateiservern
- SysVol replication (DFS-R)
https://wiki.samba.org/index.php/sVol_replication_(DFS-R) - Robocopy based SysVol replication
workaround
https://wiki.samba.org/index.php/Robocopy_based_SysVol_replication_workaround
DFS Management und Tools
Durch die Nutzung als Domain Controller wird auf dem Server automatisch auch DFS Replikation aktiviert. Allerdings ist das eher "versteckt", denn die entsprechenden Rollen und Features und insbesondere die Admin-Tools werden mit nicht sichtbar installiert. Wenn Sie daher neben einer GUI auch die PowerShell und Kommandozeilentools wie DFSDIAG etc. nutzen wollen, dann sollten sie die Rolle nachinstallieren. Hier am Beispiel von Windows 2022

Das geht natürlich auch per PowerShell:

Die Management Tools lassen sich dann wie folgt schnell und ohne Maus installieren:
Add-WindowsFeature RSAT-DFS-Mgmt-Con
Allerdings sehen Sie die SYSVOL-Replikation dann dennoch nicht in der GUI. Allerdings gibt es schon nützliche Kommandozeilenwerkzeuge wie DFSDIAG

Sie haben damit aber auch eine GUI, um den DFS-Status zu kontrollieren. Eventuell müssen Sie Namespaces und Replikationen erst addieren. Diese Daten liest die MMC aus dem Active Directory aus. Selbst wenn die DFSR-Dienste gestoppt sind, zeigt die MMC weiterhin die konfigurierten Namespaces an.

- DFSDIAG
https://learn.Microsoft.com/de-de/windows-server/administration/windows-commands/dfsdiag - DFSDIAL /TestDC
https://learn.Microsoft.com/de-de/windows-server/administration/windows-commands/dfsdiag-testdcs - Five ways to check your DFS-Namespaces
(DFS-N) configuration with the DFSDIAG.EXE tool
https://barreto.home.blog/2009/07/15/five-ways-to-check-your-dfs-namespaces-dfs-n-configuration-with-the-dfsdiag-exe-tool/
FRS zu DFRS Migration
Wenn ihre Active Directory Domain noch Windows 2012R2-Server oder älter hat und von Windows 2003 oder älter gekommen ist, dann kann es sein, dass sie immer noch die alte FRS-Replikation nutzen. Sie müssen dann vor der Installation des ersten neuen Windows 2016 DC oder höher den Umzug zu DFRS durchführen. Prüfen Sie dies mit:
C:> dfsrmig.exe /GetGlobalState
Die Rückmeldung sagt entweder aus, dass der aktuelle globale Status "Eliminated" oder noch nicht migriert ist. Wir müssen auf DFRS migrieren um später einen Windows 2016 DC oder höher ins die Domain aufzunehmen. Bei der Umstellung müssen natürlich alle Informationen , d.h. Anmeldeskripte und Gruppenrichtlinien mitkommen. Daher ist der Prozess mehrstufig und kann durch aus länger, teilweise auch Stunden dauern und durchläuft mehrere Phasen, die sie als Administrator aktiv per Kommandozeile pro Domain steuern müssen.
Es gibt einen "globalen" Status und zudem den Status pro Domain Controller. Den Status können Sie mit folgendem Befehl in Erfahrung bringen
C:> dfsrmig.exe /GetMigrationState
Es zeigt ihnen den globalen Status und den Status pro DC an. Das folgende Bild möchten Sie sicher niemals sehen:

Hier ist der globale Status schon auf "Eliminated" aber die beiden DCs verharren noch in "Start". Es gibt insgesamt vier Status und bei jeder Änderung sollten sie den Migrationsstatus kontrollieren. Ich habe schon Umgebungen gesehen, in denen der Status der Server noch auf "START" stand, aber die FRS->DFSR-Migration laut globalen Eintrag schon abgeschlossen war. In der Registrierung jedes DCs können Sie nachschauen, ob DFSR schon die Kontrolle übernommen hat.

Wenn auf HKLM\SYSTEM\CurrentControlSet\service\DFSR\Parameters\SysVols\Migrating SysVols\Local State:REG_DWORD = 3 steht, dann ist DFSR auf dem Server aktiv. Die globale Einstellung ist allerdings an einer anderen Stelle codiert:

Folgende Werte habe ich gesehen. (Bitte nur lesen!)
Achtung:
Ändern Sie diese Werte nie
manuell sondern nur über "DFSMIG /SetGlobalState 1|2|3". Ein
Rollback ist nicht immer supported!
0 Start 16 Prepared 32 Redirected 48 Eliminated
Ich habe auch schon (neuere) Umgebungen gesehen, in denen die neuen DCs gar nicht mehr erscheinen aber dafür mit aktiviertem Password Hash Sync (PHS) ein "Azure AD Domain Controller (RODC)" erscheint.
Es kann durchaus auch Stunden dauern, dass DFRS bei Fehlern auch mal 15 Min "Pause" einlegt, um z.B. eine AD-Replikation abzuwarten da die Information zu SYSVOL m AD hinterlegt ist. Viele DCs und geografisch verteilte Domains mit Sitelinks (default 180 Min, min 15 Min Replikation) können den Prozess auf Stunden erweitern. Vielleicht ist es jetzt ein guter Moment einmal über AD Sitelink Replication Notification nachzudenken.
Während der Umstellung wird SYSVOL einmal kopiert, d.h. der Platzbedarf auf den DCs verdoppelt sich! Wenn Sie in SYSVOL also auch komplette MSI-Pakete per Gruppenrichtlinie abgelegt haben, dann dauert dies lange und könnte an Platzmangel scheitern.
Die vier Phasen sind:
| Phase | Beschreibung | Status |
|---|---|---|
Start |
Die Ausgangssituation ist eine Domain mit FRS, die noch nicht migriert ist. Alle Windows 2003 oder ältere DCs sind mittlerweile durch Windows 2008 oder neuer ersetzt worden und der Forest unctional Level ist auf mindestens Windows 2008 angehoben worden. |
|
Prepare |
Sie starten die Umstellung durch diesen Befehl auf einem Domain Controller der Domain. DFSRMIG.EXE /Prepare Das ist das Signal, dass der DC im Hintergrund mit "ROBOCOPY" eine Kopie des aktuellen Verzeichnis C:\WINDOWS\SYSVOL auf C:\WINDOWS\SYSVOL_DFRS anlegt wird. Dabei werden auch Berechtigungen und symbolische Links berücksichtigt. Versuchen Sie also besser nicht dies manuell zu beschleunigen. Dies passiert auf allen DCs und den Erfolg sollten Sie entsprechend mit DFSRMIG /GetMigrationState prüfen, dass alle DCs den gleichen Status haben. |
|
Redirect |
Nachdem alle DCs ebenfalls auf "Prepare" stehen, starten Sie die nächste Stufe mit: DFSRMIG.EXE /Redirect Nun wird die Freigabe von SYSVOL/NETLOGON auf das neue Verzeichnis umgestellt. Auch das müssen alle DCs mitbekommen. |
|
Eliminate |
Wenn alle DCs ihre Freigaben auf die neuen Pfade gelegt haben, dann können Sie die alten Verzeichnisse aufräumen lasen, indem Sie die letzte Stufe einläuten. DFSRMIG.EXE /Eliminate Damit wird der globale Status auf Eliminate gestellt und alle DCs räumen FRS und SYSVOL auf und deaktivieren den FRS Dienst. Sie können ihn auch nicht mehr starten. Im "File Replication Service" Eventlog landet die passende Meldung mit der EventID 13575.
|
|
Eine genauere Beschreibung der einzelnen Schritte erspare ich mir hier, denn ich vermute mal, dass die allermeisten Domains mittlerweile schon DFRS nutzen.
- Migrieren der SYSVOL-Replikation zur
DFS-Replikation
hthttps://learn.Microsoft.com/de-de/windows-server/storage/dfs-replication/migrate-sysvol-to-dfsr - DFSR SYSVOL kann nicht migriert oder
repliziert werden, SYSVOL nicht freigegeben,
Ereignis-IDs 8028 oder 6016
https://learn.Microsoft.com/de-de/troubleshoot/windows-server/group-policy/dfsr-sysvol-fails-migrate-replicate - SYSVOL DFSR migration fails after you
in-place upgrade a domain controller to
Windows Server 2019
https://learn.Microsoft.com/en-us/troubleshoot/windows-server/networking/sysvol-dfsr-migration-fails-after-in-place-upgrade
Mit Anleitung ein DFRSUpdate im Fehlerfall wieder zurückzudrehen. - DcDiag VerifyReferences-Test schlägt fehl, wenn Sie DFSR zum Replizieren von
SYSVOL verwenden
https://learn.Microsoft.com/de-de/previous-versions/troubleshoot/windows-server/dcdiag-verifyreferences-test-fails - SYSVOL-Migration von FRS auf DFSR
https://sbsland.me/2021/03/01/sysvol-migration-von-frs-auf-dfsr/ - DFS-Migration auf Domänencontrollern
durchführen
https://www.tech-faq.net/dfs-migration-active-directory/ - DFS Replication in Windows Server 2012 R2: Revenge of the Sync
https://techcommunity.Microsoft.com/t5/storage-at-Microsoft/dfs-replication-in-windows-server-2012-r2-revenge-of-the-sync/ba-p/424807 - Verifying File Replication during the Windows Server 2008 DFSR SYSVOL
Migration – Down and Dirty Style
https://techcommunity.Microsoft.com/t5/ask-the-directory-services-team/verifying-file-replication-during-the-windows-server-2008-dfsr/ba-p/395317
SYSVOL Migration Series: Part 1 – Introduction to the SYSVOL migration process
https://techcommunity.Microsoft.com/t5/storage-at-Microsoft/sysvol-migration-series-part-1-8211-introduction-to-the-sysvol/ba-p/423456
SYSVOL Migration Series: Part 2 – Dfsrmig.exe: The SYSVOL migration tool
https://techcommunity.Microsoft.com/t5/storage-at-Microsoft/sysvol-migration-series-part-2-8211-dfsrmig-exe-the-sysvol/ba-p/423470
SYSVOL Migration Series: Part 3 - Migrating to the 'PREPARED' state
https://techcommunity.Microsoft.com/t5/storage-at-Microsoft/sysvol-migration-series-part-3-migrating-to-the-prepared-state/ba-p/423503
SYSVOL Migration Series: Part 4 – Migrating to the ‘REDIRECTED’ state
https://techcommunity.Microsoft.com/t5/storage-at-Microsoft/sysvol-migration-series-part-4-8211-migrating-to-the-8216/ba-p/423514
SYSVOL Migration Series: Part 5 – Migrating to the ‘ELIMINATED’ state
https://techcommunity.Microsoft.com/t5/storage-at-Microsoft/sysvol-migration-series-part-5-8211-migrating-to-the-8216/ba-p/423516 - Streamlined Migration of
FRS to DFSR SYSVOL
https://techcommunity.Microsoft.com/t5/storage-at-Microsoft/streamlined-migration-of-frs-to-dfsr-sysvol/ba-p/425405 - Migrate from FRS to DFSR
https://www.linkedin.com/pulse/migrate-from-frs-dfsr-dulaj-chamikara - SYSVOL migration from FRS to DFSR step
by step
https://judeperera.wordpress.com/2019/03/19/sysvol-migration-from-frs-to-dfsr-step-by-step/
DfsrMachineConfig.XML
Neben all den Einträgen im Active Directory und Registrierung gibt es auch noch eine Datei auf jedem Volume. DFSR nutzt erweiterte NTFS-Funktionen (ChangeNotifications und USNs) um Änderungen zu erkennen und sehr schnell zu replizieren. Idealerweise sofort. In Der Registrierung finden Sie z.B. den Hinweis auf so eine Datei

Wenn wir dann in die Datei "C:\System Volume Information\DFSR\Config\DfsrMachineConfig.XML" schauen, dann sehen Wir hier eine XML-Datei.

Bitte ändern Sie dies Datei nicht und
nutzen Sie auch keinen Editor, der Dateien sperrt.
Es ist immer eine gute Idee, solche Dateien zuerst zu
kopieren und die Kopien zu nutzen.
Debugging
Für die Suche nach Fehlern kennen Sie sicher schon folgenden Befehl
dcdiag /v /c /e /q
Wenn Sie aber tiefer einsteigen wollen, dann sollten Sie wissen, dass Sie auch mit DFSR das Debugging hochschrauben können
REM Debugging auf Max setzen wmic /namespace:\\root\Microsoftdfs path dfsrmachineconfig set debuglogseverity=5 REM Debugging wieder auf normal wmic /namespace:\\root\Microsoftdfs path dfsrmachineconfig set debuglogseverity=4
- Konfigurieren der DFSR-Protokollierung
https://learn.Microsoft.com/de-de/troubleshoot/windows-server/networking/change-dfsr-debug-log-settings - Active
Directory-Gesamtstrukturwiederherstellung:
Ausführen einer autoritativen
Synchronisierung von DFSR-replizierten
SYSVOL
https://learn.Microsoft.com/de-de/windows-server/identity/ad-ds/manage/forest-recovery-guide/ad-forest-recovery-authoritative-recovery-sysvol - Recovering missing FRS objects and FRS
attributes in Active Directory
https://learn.Microsoft.com/en-us/troubleshoot/windows-server/networking/recovering-missing-frs-objects-attributes-ad - Fix der SysVol-Replikation (DFS-R)
https://sbsland.me/2022/02/15/fix-der-sysvol-replikation-dfs-r/
Weitere Links
- Datenhaltung auf Dateiservern
- Univention Community/Corporate Server
- SYSVOL, NETLOGON und SysvolReady
- SYSVOL Initialisierung
- Common DFSR Configuration
Mistakes and Oversights
https://docs.Microsoft.com/en-us/archive/blogs/askds/common-dfsr-configuration-mistakes-and-oversights - DCDiag VerifyReferences test fails when
you use DFSR to replicate SYSVOL
https://learn.Microsoft.com/en-us/previous-versions/troubleshoot/windows-server/dcdiag-verifyreferences-test-fails - DFS Namespaces overview
https://learn.Microsoft.com/en-us/windows-server/storage/dfs-namespaces/dfs-overview?tabs=server-manager - Troubleshoot DFS
connectivity on clients
https://blog.ls-al.com/troubleshoot-dfs-connectivity-on-clients/ - Updating Samba
https://wiki.samba.org/index.php/Updating_Samba#Fixing_Incorrect_Sysvol_and_Directory_ACLs - SYSVOL replication failing on domain
controller with DFSR errors 4612, 5002, and
5008
https://www.dell.com/support/kbdoc/en-us/000202712/sysvol-replication-failing-with-dfsr-errors - How to Perform an Authoritative Sync of
SYSVOL Data Using Distributed File System
Replication (DFSR)
https://www.dell.com/support/kbdoc/en-us/000207115/how-to-perform-an-authoritative-sync-of-sysvol-data-using-distributed-file-system-replication-dfsr - SYSVOL tree – how to rebuild it and its
content in a domain (NTFRS, nicht DFRS)
https://marcocarcano.wordpress.com/sysvol-tree-how-to-rebuild-it-and-its-content-in-a-domain/ - Recovery process of a DFS Namespace in
Windows 2003 and 2008 Server
https://learn.Microsoft.com/en-us/troubleshoot/windows-server/networking/recovery-process-of-dfs-namespace
















