Die FSMO-Rollen im Active Directory
Die Informationen in einem Active Directory werden nach dem Multi-Master-Prinzip repliziert. Das bedeutet, jeder DC darf gleichberechtigt AD-Objekte hinzufügen, löschen oder modifizieren, und die anderen übernehmen diese Änderungen jeweils. Treten dabei Konflikte auf, gilt das Prinzip des „last writer wins“: Der letzte Schreibvorgang ist gültig, alle anderen werden verworfen.
Der offensichtlichste Vorteil der Multi-Master-Replikation ist die Redundanz; fällt ein DC aus, aktualisieren die anderen die AD-Datenbank weiter. Auch kann man DCs als Replikationsmaster an verschiedenen Standorten einsetzen, die nur durch WAN-Verbindungen miteinander replizieren können, und die Replikationskosten so gering halten, da auf diese Weise nicht für jedes AD-Objekt eine Anfrage an die Zentrale nötig ist.
Es gibt beim Multi-Master-Modell aber auch Nachteile: Nicht immer ist „last writer wins“ die wirklich geeignete Lösung, stattdessen für bestimmte Aufgaben eine zentrale Instanz vorzuziehen, welche die Datenbank zentral hostet und mit der alle replizieren (Single-Master-Replikation). Das lässt Replikationskonflikte erst gar nicht entstehen, ist aber von Datenaufkommen her bei der Replikation teurer.
Für das Active Directory hat Microsoft deshalb eine gemischte Architektur entwickelt: An sich als Multi-Master-Datenbank konzipiert, gibt es einige Aufgaben, die zentral per Single-Master-Replikation verwaltet werden, die FSMO (Flexible Single Master Operations).
FSMO (operations masters): Das sind sie
Seit ca. 2005 verwendet Microsoft den Begriff „FSMO“ nicht mehr und spricht nur mehr von „operations masters“. Im Administrator-Sprachgebrauch ist es hingegen weitgehend bei „FSMO“ geblieben. Die FSMO-Rollen sind definiert als Aufgaben, die nur jeweils ein Server innerhalb einer Domain oder Gesamtstruktur (Forest) innehaben darf. Die verschiedenen FSMO-Rollen selbst können dabei auf mehrere Server verteilt sein, müssen aber nicht. Wie sie derzeit verteilt sind, zeigt das Kommando
netdom query /domain:‹domain› fsmo
Gesamtstruktur-FSMO-Rollen
Diese FSMO-Rollen gibt es einmal pro Gesamtstruktur.
- Der Schema-Master definiert die Klassenschablonen und Attribute für alle Active-Directory-Objekte. Er muss also verfügbar sein, wenn etwa Objekte um Attribute erweitert werden.
- Der Domain Naming Master verwaltet die Domänen-Namen innerhalb einer Gesamtstruktur. Eine Domäne oder Subdomäne anzulegen ist nur möglich, nachdem der Domain Naming Master bestätigt hat, dass der Name noch frei ist.
Domänen-FSMO-Rollen
Diese FSMO-Rollen gibt es einmal pro Domäne.
- Der Infrastruktur-Master sorgt dafür, dass gegenseitige Verweise von Objekten über Domänengrenzen hinweg aufeinander konsistent sind, also etwa kein Gruppenobjekt einen Benutzer enthält, den dieses Benutzerobjekt nicht als Gruppenzugehörigkeit hat. Der Infrastruktur-Master darf sich nicht auf dem DC befinden, der den Globalen Katalog enthält, außer alle DCs führen den Globalen Katalog.
- Der RID-Master verteilt RIDs als Pools an die Domänencontroller, die diese wiederum an neu kreierte Objekte vergeben. RIDs gehören zur SID eines Active-Directory-Objekts; es handelt sich hierbei um die fortlaufenden Nummern im letzten Teil der SID nach der Local ID.
- Der PDC-Emulator verarbeitet alle Passwort-Rücksetzungen der Domäne direkt und verkürzt so die Zeit, nach der sich ein Benutzer nach einer Passwort-Änderung wieder anmelden kann, so dass dieser nicht auf die komplette Replizierung warten muss. Technisch wird dies so realisiert, dass ein DC, der einen Passwort-Fehler feststellt, dieses zunächst am PDC-Emulator gegenprüft, statt den Benutzer sofort abzuweisen.
Außerdem dient der PDC-Emulator als Zeit-Server für alle Clients, auf denen dies nicht anders konfiguriert wurde.
FSMO-Rollen übertragen
Standardmäßig bekommt der erste DC in einer Gesamtstruktur zunächst alle 5 FSMO-Rollen zugewiesen, der erste DC einer neuen Subdomain erhält standardmäßig die 3 Domain-FSMOs. Man kann die Rollen flexibel von einem DC auf den anderen übertragen; die Gesamtstruktur-FSMOs können dabei nur Domänen-Controllern der jeweils ersten Domäne der Gesamtstruktur erhalten.
Zum Übertragen kann man die GUI oder ntdsutil.exe verwenden Beide DCs, Quelle und Ziel, sollten dafür online und voll funktional sein. Der Normalfall ist, dass man eine FSMO-Rolle regulär an einen neuen DC übergibt.
Für den Fall, dass ein FSMO-Server ausgefallen sein sollte, muss man dessen Rolle übernehmen, ohne dass dieser online ist. Dies funktioniert ausschließlich per ntdsutil.exe, und der ausgefallene DC darf danach auf keinen Fall wieder online gehen. Als reguläres Vorgehen ohne Notfall sollte man diese Methode nicht etablieren.