Active-Directory-Replikation richtig konfigurieren
Das Active Directory verwaltet seine logische Struktur unabhängig von der physischen Netzwerktopologie. Damit Änderungen an Benutzern, Computern oder Gruppenrichtlinien dennoch zuverlässig auf allen Domaincontrollern ankommen, spielen Standorte, Subnetze und deren Verknüpfungen eine zentrale Rolle. Unser Workshop zeigt, wie Sie Active-Directory-Standorte planen, die Replikationstopologie optimieren und den Datenabgleich zwischen Domaincontrollern effizient steuern.
- Die Replikation hält die Daten des Active Directory auf allen Domaincontrollern einer Gesamtstruktur konsistent.
- Standorte, Subnetze und Standortverknüpfungen steuern, wie Active Directory die Replikation automatisch optimiert.
- Der Knowledge Consistency Checker (KCC) erstellt und aktualisiert die Replikationstopologie weitgehend selbstständig.
- Mit repadmin und dcdiag überprüfen Administratoren den Zustand der AD-Replikation und erkennen Störungen frühzeitig.
Das Active Directory (AD) bildet die Schaltzentrale für die Verwaltung von Benutzern, Computern und Ressourcen in einer lokalen Windows-Infrastruktur. Unter der Haube handelt es sich um eine multimasterfähige Datenbank mit jeweils einer beschreibbaren Kopie auf jedem Domaincontroller (DC) einer Gesamtstruktur. Jeder DC kann dabei, abgesehen von wenigen Sonderfällen wie etwa Schemaerweiterungen, Änderungen an Objekten im Verzeichnis verarbeiten.
Datenbank mit mehreren Partitionen
Die DCs halten jeweils eine Kopie der AD-Datenbank, die intern aus mehreren Partitionen besteht. Die Konfigurationspartition speichert alle Informationen zum logischen Aufbau einer Gesamtstruktur mitsamt ihren Domänen und Standorten, weiteren DCs und Diensten, wie etwa Exchange- und DHCP-Server oder auch eine AD-integrierte PKI. Die Schemapartition enthält Informationen zu Klassen von Objekten und ihren Attributen, also die Schablonen, nach denen Objekte im AD entstehen. Alle DCs einer Gesamtstruktur replizieren die vollständigen Konfigurations- und Schemapartitionen.
Die Domänenpartition speichert sämtliche Objekte einer Domäne, daher replizieren alle DCs dieser Domäne die Partition vollständig. Der Globale Katalog (Global Catalog, GC), den entsprechend konfigurierte DCs der Gesamtstruktur replizieren, enthält die Objekte aus den Domänen nur mit einer Teilmenge ihrer Attribute. Zu guter Letzt unterstützt das AD Anwendungsverzeichnis-Partitionen, die Hierarchien beliebiger Objekttypen mit Ausnahme von Sicherheitsprinzipalen enthalten dürfen und die etwa die Basis für das AD-integrierte DNS bilden. Entwickler können eine solche Partition zum Speichern eigener dynamischer Daten nutzen und selbst steuern, welche DCs die Partition replizieren sollen.
Um die Verfügbarkeit und Konsistenz der in der Datenbank gespeicherten Informationen sicherzustellen, ist die funktionierende Replikation, also der Prozess, der Objekte im AD von einem DC auf einen anderen überträgt und aktualisiert, von entscheidender Bedeutung. Ebenso wichtig wie die in der AD-Datenbank enthaltenen Informationen zu Benutzern, Computern und weiteren Ressourcen sind die Gruppenrichtlinien. Diese speichern DCs zusätzlich zur Datenbank dateibasiert in der SYSVOL-Freigabe, die sie mithilfe der DFS Replication (DFSR) replizieren. Die Replikation ist dabei nicht nur eine technische Herausforderung, sondern vor allem auch eine organisatorische, denn sie muss die physische Struktur des Netzwerks berücksichtigen. Dazu bedient sich Microsoft des Konzepts von Standorten und ihren Verbindungen untereinander.
Standorte als Grundlage der Replikation
Ein Standort ist ein Objekt im AD, das einen physischen, meist geografisch definierten Standort repräsentiert, der wiederum ein oder mehrere TCP/IP-Subnetze mit äußerst zuverlässigen und schnellen Verbindungen untereinander umfasst. Standorte helfen dem AD dabei, automatisch die Replikation zu optimieren. Dazu nutzt das AD mit der Konsistenzprüfung (Knowledge Consistency Checker, KCC) einen integrierten Prozess, auf den wir gleich im Detail zurückkommen. Der KCC läuft auf allen DCs und generiert weitestgehend automatisch eine Replikationstopologie für die Gesamtstruktur. Diese Topologie ist die Anordnung der Verbindungen zwischen den DCs, die bestimmt, wie oft und auf welchen Wegen die Replikation stattfindet. Dazu nutzt der KCC die Informationen über Standorte, um den Netzwerkverkehr über WAN-Strecken zwischen den Standorten zu reduzieren.
Damit der KCC sein Werk vollbringen kann, teilen Sie ihm mit, welche Standorte und Standortverbindungen Ihre Gesamtstruktur umfasst. Wichtig ist dabei vor allem die Netzwerktopologie. Handelt es sich um ein vollständig vermaschtes Netzwerk, in dem jeder Standort mit jedem kommunizieren kann? Oder liegt eine sternförmige oder hierarchische Topologie vor, in der nicht jeder Standort unmittelbar jeden anderen erreichen kann?
Standorte erstellen und verknüpfen
Die Informationen zu den Standorten und ihren Verknüpfungen konfigurieren Sie wahlweise grafisch über "Active Directory-Standorte und -Dienste" oder per PowerShell. Im Folgenden verwenden wir die Methode über die GUI, da dieser Weg die Zusammenhänge besser verdeutlicht. Platzieren Sie als Faustformel an jedem Standort mindestens einen DC, der die AD-Daten für diesen Standort bereitstellt und dort Computer sowie Benutzer authentifiziert. Berücksichtigen Sie dabei auch die besondere Rolle des GCs. In einer Gesamtstruktur mit nur einer einzelnen Domäne konfigurieren Sie einfach alle DCs an allen Standorten für den Globalen Katalog. In einer Gesamtstruktur mit mehreren Domänen platzieren Sie den GC in der Nähe der meisten Benutzer und Anwendungen, typischerweise mindestens einen pro Standort.
Ordnen Sie weiterhin jedes Ihrer IP-Subnetze einem Standort zu, damit das AD weiß, welche DCs sich am besten für Anfragen aus den jeweiligen Subnetzen eignen. Dazu öffnen Sie "Active Directory-Standorte und -Dienste": Unterhalb des Knotens "Sites" finden Sie die beiden Unterordner "Inter-Site Transports" und "Subnets", auf die wir gleich zurückkommen. In einer noch nicht weiter konfigurierten Umgebung sehen Sie darunter den ersten Standort, den Microsoft je nach Spracheinstellung des ersten DCs wahlweise mit "Default-First-Site-Name" oder "Standardname-des-ersten-Standorts" benannt hat.
Per Rechtsklick auf den Ordner "Sites" erreichen Sie die Aktion "Neuer Standort" und legen darüber weitere an. Dabei müssen Sie ein Standortverknüpfungsobjekt auswählen. Anfangs erscheint hier mit dem "DEFAULTIPSITELINK" lediglich ein Objekt. Im optimalen Fall, dass sich alle Standorte in einer vollständig vermaschten Netzwerk-Topologie untereinander erreichen, belassen Sie es dabei. Andernfalls konfigurieren Sie Verknüpfungen zwischen den Standorten. Die Verbindungen zwischen den Standorten bezeichnet Microsoft als Standortverknüpfungen. Diese Verknüpfungen definieren, welche Standorte miteinander kommunizieren können und wie oft das AD seine Daten zwischen ihnen repliziert. Orientieren Sie sich bei der Konfiguration Ihrer Standortverknüpfungen an der physischen Netzwerktopologie und berücksichtigen Sie dabei Bandbreite, Latenz sowie Zuverlässigkeit der Verbindungen zwischen den Standorten.
Haben wir es etwa mit einer Stern-Topologie zu tun, bei der mehrere Zweigstellen mit einer Hauptniederlassung, jedoch nicht direkt untereinander verbunden sind, konfigurieren Sie eine Standortverknüpfung pro Zweigstelle. Expandieren Sie dazu den Knoten "Sites /Inter-Site Transports". Darunter finden Sie zwei weitere Knoten, "IP" und "SMTP". Typischerweise nutzt die Replikation Remote Procedure Calls (RPC) über IP.
Frühere Windows-Versionen unterstützten das Simple Mail Transfer Protocol (SMTP) als Alternative für die Replikation zwischen Standorten. In aktuellen Versionen der Active Directory Domain Services wird die SMTP-Replikation jedoch nicht mehr unterstützt. Verwenden Sie daher ausschließlich IP-basierte Standortverknüpfungen. Wir erzeugen unsere Verknüpfung per Rechtsklick auf den Ordner "IP" und die Aktion "Neue Standortverknüpfung". Hier fügen Sie jeweils die Standorte hinzu, die direkt miteinander kommunizieren können.
Kosten und Zeit steuern Replikation
Der Assistent konfiguriert für neue Verknüpfungen jeweils standardmäßig Kosten mit einem relativen Wert von 100 und einem Replikationsintervall von 180 Minuten. Per Rechtsklick auf eine Verknüpfung öffnen Sie deren Eigenschaften und passen die Werte bei Bedarf an. Das Replikationsintervall bestimmt, wie oft die Replikation zwischen zwei Standorten stattfinden soll. Stellen Sie hier nach Bedarf eine kürzere Frist ein, um Änderungen im AD schneller an andere Standorte zu replizieren. Beachten Sie dabei aber, dass das mögliche Minimum bei 15 Minuten liegt. Wir kommen gleich darauf zurück, wie Sie bei Bedarf eine schnellere Replikation auch zwischen Standorten realisieren. Mit der Option "Zeitplan ändern" beschränken Sie die Replikation auf Wunsch auf bestimmte Wochentage und Uhrzeiten pro Tag.
Bei den Kosten handelt es sich um eine relative Angabe. Existieren mehrere Replikationspfade zwischen zwei Standorten, entscheidet der KCC anhand der Kosten, welche Verknüpfung zum Zuge kommt. Der KCC wählt dabei immer die Verknüpfung mit dem niedrigsten Wert. Standortverknüpfungen stellen eine logische Verbindung her und müssen nicht zwingend der physischen Leitung entsprechen, die Netzwerkpakete während der Replikation im Netzwerk passieren. Sofern Ihre Standorte auf Netzwerkebene redundant verbunden sind und diese Redundanz, also etwa das Failover von einer primären Leitung auf eine Backupleitung, für das AD transparent geschieht, müssen Sie keine derartigen Verknüpfungen erstellen.
Sonderfall Standortverknüpfungsbrücke
Ebenfalls per Rechtsklick auf den Ordner "IP" gelangen Sie zu der Aktion "Neue Standortverknüpfungsbrücke", die Sie in kleinen bis mittelgroßen Gesamtstrukturen mit wenigen Domänen und Standorten in der Regel nicht benötigen. Der KCC bildet standardmäßig eine transitive Route über alle Standortverknüpfungen, die einige Standorte gemeinsam haben. Der KCC geht also davon aus, dass sich die Standorte untereinander zumindest mittelbar über einen Zwischenstandort per Replikation logisch erreichen können. Dies trifft zu, wenn auch der Zwischenstandort mindestens einen DC enthält, der eine zu replizierende AD-Partition hält. Nur wenn dies nicht gegeben ist, ermöglicht eine Standortverknüpfungsbrücke auch DCs, die nicht direkt oder mittelbar über eine Kommunikationsverbindung in Kontakt stehen, eine gegenseitige Replikation, ohne dass dazu ein DC am Zwischenstandort die jeweilige Verzeichnispartition hostet.
In diesem Fall öffnen Sie die Eigenschaften aus dem Kontextmenü des Ordners "IP". Dort deaktivieren Sie die Option "Brücke zwischen allen Standortverknüpfungen herstellen" und verbinden anschließend über die Aktion "Neue Standortverknüpfungsbrücke" mehrere Standortverknüpfungen zu logischen Pfaden, die der KCC zur Replikation zwischen isolierten Standorten verwenden soll. Dabei addiert die Konsistenzprüfung die Kosten der einzelnen Standortverknüpfungen zu Gesamtkosten für den kompletten Pfad. Die Replikation nutzt eine solche Standortverknüpfungsbrücke jedoch nur, wenn sich tatsächlich an den Zwischenstandorten keine DCs finden, die die gewünschten Verzeichnispartitionen halten.
Subnetze zuordnen
Per Rechtsklick auf den Knoten "Subnets" rufen Sie daraufhin, nach Bedarf mehrfach, die Aktion "Neues Subnetz" auf. Im folgenden Dialog tragen Sie jeweils Ihre IPv4- und IPv6-Subnetze in CIDR-Notation (Classless Inter-Domain Routing) ein und wählen das zugehörige Standortobjekt aus. Nun installieren Sie mindestens einen DC an jedem Standort oder verschieben vorhandene DCs aus dem ersten Standort dorthin. Dazu expandieren Sie unterhalb des ersten Standorts den Knoten "Servers", starten per Rechtsklick auf den gewünschten DC die Aktion "Verschieben" und wählen den Zielort aus.
Damit verfügt der KCC nun über sämtliche Informationen, um die Replikationstopologie zu generieren. Der KCC erstellt automatisch die Verbindungen zwischen den DCs innerhalb eines Standorts und zwischen jenen in verschiedenen Standorten, die Teil derselben Standortverknüpfung sind. Dabei berücksichtigt der KCC die Anzahl der DCs, die Anzahl der AD-Partitionen, die Verfügbarkeit der DCs und die Kosten der Standortverknüpfungen, um eine effiziente und redundante Replikationstopologie zu generieren. Nach Bedarf passt der KCC die Replikationstopologie regelmäßig an, um Änderungen in der Netzwerkumgebung oder in der AD-Konfiguration zu berücksichtigen.
Automatisch zur Replikationstopologie
Die Standortverknüpfungen ebnen die Wege, über die DCs miteinander kommunizieren können. Welcher DC nun tatsächlich mit welchem repliziert, bestimmt der KCC automatisch mit separaten Replikationstopologien, je nachdem, ob die Replikation innerhalb eines Standorts oder zwischen Standorten stattfinden soll. Standortintern etabliert der KCC die Replikation in einem bidirektionalen Ring mit zusätzlichen Abkürzungsverbindungen, um die Latenz bei großen Standorten zu verringern.
Die Instanzen des KCC auf den einzelnen DCs kommunizieren dazu größtenteils nicht direkt miteinander. Stattdessen arbeiten die KCC-Instanzen dezentral zusammen und nutzen die gemeinsam replizierten Informationen der Konfigurationspartition. Jede Instanz des KCC verwendet ihre eigene Sicht auf die Topologie, um lokal eingehende Verbindungen zu erstellen, und kommuniziert mit anderen Instanzen nur, um eine RPC-Anforderung für Replikationsfehler-Informationen zu stellen. Der KCC verwendet die Fehlerinformationen, um Lücken in der Replikationstopologie zu erkennen. Eine Anforderung von Replikationsfehler-Informationen erfolgt nur zwischen Domaincontrollern desselben Standorts.
Zur standortübergreifenden Replikation bestimmen die DCs je einen der ihren pro Standort als Inter-Site-Topology-Generator (ISTG). Der ISTG wiederum wählt automatisch einen oder mehrere DCs aus, die Microsoft als Bridgehead-Server bezeichnet und die von Standort zu Standort replizieren. Standortübergreifend erfolgt die Replikation nach dem Spanning-Tree-Algorithmus, genauer in Form von mehreren Spanning-Trees, je eine standortübergreifende Verbindung zwischen zwei Standorten für jede AD-Partition. Im normalen Betrieb müssen Sie sich um diese Interna aber nicht kümmern, da die KCC-Instanzen die Replikationstopologie in der Regel automatisch bestimmen und beim Ausfall einzelner DCs selbsttätig anpassen.
Verbindungsobjekte anpassen
Expandieren Sie unterhalb der Standorte die Knoten "Servers" und darin die einzelnen DCs, erscheint darunter jeweils der Unterordner "NTDS Settings". Hat der KCC sein Werk vollbracht, finden Sie im rechten Teil des Fensters jeweils ein oder mehrere Verbindungsobjekte mit dem Namen "<automatisch generiert>". Bei Bedarf können Sie per Rechtsklick auf den Ordner "NTDS Settings" auch manuell Verbindungsobjekte anlegen und so gezielt Replikationspartner festlegen oder vorhandene Objekte verändern, um etwa den Zeitplan für die Replikation zu ändern. Manuell erzeugte oder veränderte Verbindungen sind allerdings statisch und der KCC nimmt keine dynamischen Anpassungen mehr an solchen Verbindungsobjekten vor.
Unter normalen Betriebsbedingungen dürfen Sie auf die automatischen Verbindungsobjekte und die Selbstheilungskräfte der Replikation bauen. Die Konsistenzprüfung ermittelt in regelmäßigen Abständen den Replikationsstatus. Sollte eine Verbindung aufgrund eines ausgefallenen DCs nicht funktionieren, baut der KCC automatisch temporäre Verbindungen zu anderen Replikationspartnern auf, um zu gewährleisten, dass die Replikation stattfindet.
Replikation zwischen Standorten beschleunigen
Innerhalb eines Standorts wartet ein DC, der eine Änderung in seine lokale Kopie der AD-Datenbank schreibt, standardmäßig 15 Sekunden, bevor er seine Replikationspartner benachrichtigt. Ein zweites Intervall von ab Werk drei Sekunden bestimmt eine Benachrichtigungsverzögerung, um gleichzeitige Antworten der Replikationspartner zu verhindern. Sie können beide Intervalle bei Bedarf durch Bearbeiten der Registry verändern. In der Praxis ist dies jedoch nur selten erforderlich, da die Standardwerte für die meisten Umgebungen gut geeignet sind.
Während sich Änderungen somit standortintern sehr schnell verbreiten, beträgt der niedrigste Wert für die standortübergreifende Replikation 15 Minuten. Dies geht auf die Wurzeln des ADs zurück, die aus einer Zeit stammen, als schmalbandige und unzuverlässige WAN-Strecken oder gar Wählverbindungen der Regelfall waren. Doch wenn Ihre Standorte über breitbandige und latenzarme WAN-Verbindungen kommunizieren, können Sie eine Standortverknüpfung so konfigurieren, dass sie dieselben Änderungsbenachrichtigungen wie ein lokaler Standort verwendet und sich Änderungen somit auch über Standortgrenzen hinweg deutlich schneller verbreiten.
Öffnen Sie aus dem Startmenü den ADSI-Editor und starten Sie dann mit einem Rechtsklick auf den gleichnamigen Punkt die Aktion "Verbindung herstellen". Im folgenden Dialog wählen Sie unterhalb der Option "Bekannten Namenskontext auswählen" die Konfiguration. Nun expandieren Sie den Pfad "ADSI-Editor / Konfiguration / CN=Configuration / CN=Sites /CN=Inter-Site Transports / CN = IP". Im rechten Teil des Fensters öffnen Sie anschließend die Eigenschaften der gewünschten Standortverknüpfung. Wählen Sie im Attribut-Editor das Attribut "Options" und passen Sie es an.
Sofern das Attribut den Wert "<Nicht festgelegt>" hat, verwenden Sie "1" für die komprimierte Replikation oder "5" für die unkomprimierte Replikation zwischen den beiden Standorten (siehe Bild). Beachten Sie dabei, dass es sich bei dem Attribut um eine Bit-Maske handelt. Falls es bereits mit einem Wert belegt ist, müssen Sie den neuen durch eine bitweise ODER-Berechnung aus dem alten Wert ableiten. Ist das Feld etwa bereits mit dem Wert "2", binär 0010, vorbelegt, folgt für die komprimierte Übertragung aus 0010 ODER 0001 der Wert 0011 und damit dezimal "3". Für die unkomprimierte Übertragung ergibt sich entsprechend aus 0010 ODER 0101 der Wert 0111 und damit dezimal "7".
Segmentieren Sie Ihr Netz mithilfe von Firewalls, so achten Sie standortintern wie auch -übergreifend darauf, dass die für die Replikation benötigten Ports geöffnet sind. Sie müssen die Ports sowohl für eingehenden als auch für ausgehenden Datenverkehr freischalten, um die bidirektionale Kommunikation zwischen den DCs zu ermöglichen. Öffnen Sie die Ports gezielt nur für die an der Replikation beteiligten DCs und nicht für andere Systeme, um die Sicherheit zu erhöhen.
Ob die Replikation wie gewünscht funktioniert, verrät Ihnen das Kommandozeilen-Tool repadmin. Mittels repadmin /showreps ermitteln Sie, getrennt nach den AD-Partitionen, die eingehenden Nachbarn des ausführenden DCs. Die Ausgabe von repadmin /replsum sollte für alle Quellen und Ziele jeweils keine Fehler ausweisen. Bei Bedarf lösen Sie mithilfe des Befehls repadmin /syncall eine sofortige Replikation mit allen Partnern des lokalen Systems aus oder veranlassen per repadmin /kcc die Konsistenzprüfung zu einer Neuberechnung der eingehenden Replikationstopologie. Ergänzend hilft das Werkzeug dcdiag dabei, den Zustand und die Funktion eines Domaincontrollers zu überprüfen.
Fazit
Mit Standorten, der Zuordnung von Subnetzen sowie Standortverknüpfungen helfen Sie dem Active Directory dabei, automatisch die optimale Topologie für die Replikation der Domaincontroller untereinander zu bestimmen. Die Konsistenzprüfung kümmert sich automatisch darum und kann auch mit dem Ausfall einzelner Domaincontroller oder Verbindungen umgehen. Sofern es Bandbreite und Latenz erlauben, läuft die Replikation auf Wunsch zwischen Standorten genauso schnell wie lokal. (jp/ln)
Über den Autor: Dr. Christian Knermann veröffentlichte bisher zahlreiche Artikel im Bereich der Informationstechnologie für verschiedene Fachmagazine – darunter seit 20 Jahren für den IT-Administrator. Außerdem wirkt er an Buchprojekten mit und trägt auf nationalen und internationalen Konferenzen vor.
FAQs
✚ Was sind Active-Directory-Standorte?
Standorte bilden die physische Netzwerktopologie im Active Directory ab. Sie fassen schnelle und zuverlässige Netzwerkverbindungen zusammen und helfen dabei, die Replikation zwischen Domaincontrollern zu optimieren.
✚ Welche Aufgabe übernimmt der Knowledge Consistency Checker (KCC)?
Der KCC erstellt und pflegt automatisch die Replikationstopologie zwischen Domaincontrollern. Dabei berücksichtigt er unter anderem Standorte, Standortverknüpfungen, Kosten und die Verfügbarkeit der einzelnen Domaincontroller.
✚ Wann sind Standortverknüpfungen erforderlich?
Standortverknüpfungen definieren, welche Standorte miteinander replizieren dürfen und in welchen Intervallen dies geschieht. Sie orientieren sich an der physischen Netzwerktopologie und den verfügbaren WAN-Verbindungen.
✚ Wie lässt sich die Active-Directory-Replikation überprüfen?
Mit dem Werkzeug repadmin kontrollieren Administratoren den Replikationsstatus und stoßen bei Bedarf eine sofortige Synchronisation an. Ergänzend hilft dcdiag dabei, den Zustand eines Domaincontrollers umfassend zu prüfen.
Dieser Artikel erschien im IT-Administrator Sonderheft II/2024
"Active Directory – Administration,
Security und Troubleshooting"
Das Sonderheft II/2024 zeigt auf 211 Seiten Best Practices sowohl für den lokalen als auch den hybriden Betrieb des Active Directory und deckt dabei praxisnah Aspekte wie Betriebsmasterrollen, Globalen Katalog, AD-Migration und -Upgrades, Replikation, Standortkonzepte sowie Zertifikatsdienste einschließlich PKI ab.
Bestellen Sie das Sonderheft hier als E-Paper
(Die gedruckte Ausgabe ist leider vergriffen)
