In großen Umgebungen mit Tausenden von Nutzern, befinden sich in der Regel immer mehrere Domain Controller für die Authentisierung und Authentifizierung von Benutzern. Um dies für Windows PCs zu ermöglichen, nutzt Univention Corporate Server (UCS) Samba 4. Samba 4 eignet sich ausgezeichnet dafür, Daten optimal zu synchronisieren.
Die Replikation von Verzeichnisdiensten auf andere Server-Systeme bietet einge Vorteile, der wichtigste ist die so mögliche Lastverteilung und Redundanz. Während für OpenLDAP ein hierarchisches Replikationsmodell umgesetzt ist, erfolgt die Replikation in einem Active Directory (und damit auch bei Samba AD Domaincontrollern) als sog. Multi-Master-Replikation. Das bedeutet, dass jeder Domaincontroller von und mit jedem anderen Domaincontroller replizieren kann. Als technische Komponente kommt hier der sog. Directory Replication Service (DRS) zum Tragen. Samba 4 eignet sich ausgezeichnet dafür, Daten optimal zu synchronisieren. Mit einigen kleinen Anpassungen können Sie damit aber auch noch die Performance Ihrer Umgebung deutlich erhöhen. Für welche Umgebungen sich das anbietet und welche Einstellungen Sie dafür in einer UCS-Umgebung vornehmen müssen, erkläre ich Ihnen im Folgenden.
Replikations Topologie – „Vermaschte Netzwerke“
Bei der Installation eines zweiten Domain Controllers (DC) in UCS, tritt dieser der Domäne bei, die durch den UCS DC Master generiert wurde. Bei dem Beitritt wird automatisch eine Verbindung zwischen den beiden Servern hergestellt und gleichzeitig sichergestellt, dass die Daten zwischen beiden Servern synchronisiert sind. Samba 4 ist dabei in der Lage, den speziellen Aufbau Ihres Netzwerks zu berücksichtigen.
Bei dieser Synchronisation versucht standardmäßig jeder Server sich mit so vielen Servern wie möglich zu verbinden, auch wenn dies nicht die effektivste Verbindung ist.
Stellen Sie sich einmal das in der Grafik abgebildete Szenario mit 4 Servern vor. Ein Master- und ein Backup-Server befinden sich im Hauptquartier und jeweils ein Slave Server an zwei Außenstellen. Die netzwerkseitige Verbindung zwischen den Außenstellen erfolgt in diesem Szenario durch eine Firewall geschützt über die Zentrale. Dies verlangsamt die direkte Verbindung zwischen den Slaves deutlich.
Im Standardfall replizieren die Daten von einem Slave immer direkt zum Master und Backup in der Zentrale. Auch die Replikation zum zweiten Slave erfolgt ohne Umweg. Nur wenn keine direkte Verbindung zwischen den zwei Servern möglich ist, werden die Daten indirekt repliziert. Dies nennt man auch „vollständig vermaschte Netzwerke“.
Replikation in komplexen Netzwerken
In Umgebungen mit bis zu sechs Domain Controllern funktioniert dieses in der Regel auch gut. Wenn die Topologie jedoch komplexer wird als ein einfacher Stern um einen zentralen Punkt oder wenn die Zahl der Domain Controller zu weit ansteigt, liefert diese einfache Topologie oft nicht das beste Resultat. In diesem Fall sollten Sie die Replikationsprozesse in Ihrem Netzwerk reduzieren. Samba 4 bietet dazu den „sparse“ Modus. Im oben genannten Beispiel würden in diesem Modus alle Daten zuerst an einen der zentralen Server repliziert werden, welcher die Änderung dann weiterleitet. Bei vielen Domaincontroller lässt sich dadurch die Menge an Verbindungen und damit auch die Zahl an Nachrichten zur Aufrechterhaltung deutlich reduzieren. Dies entlastet gleichzeitig das 12Netzwerk. Nachteil ist dabei jedoch, dass der Ausfall eines Servers oder einer Verbindung nur mit Verzögerungen behoben werden kann.
Außerdem kommt es beim Aufbau und Neuaufbau des Netzwerkes, z. B. beim Neustart eines Servers, zu Lastspitzen insbesondere bei den zentral gelegenen Servern, da zum einen der optimale Pfad bestimmt und zum anderen für jeden Knoten die Zahl der indirekt erreichbaren Systeme definiert werden muss. Daher ist diese Topologie nur dann sinnvoll, wenn für sie die Reduzierung der Belastung durch die Replikation höher ist als der Mehraufwand zur Bestimmung der Topologie. Dies ist oft erst bei sieben oder mehr Servern der Fall.
Um die Replikation zu ändern, müssen Sie die folgende UCR-Variable auf allen Domain Controllern folgendermaßen setzen:
<pre>ucr set samba4/kccsrv/samba_kcc=yes</pre>
Danach muss Samba 4 neu gestartet werden.
<pre>systemctl restart samba-ad-dc.service</pre>
Bitte beachten Sie dabei, dass Sie die Variable wirklich auf allen Servern setzen. Ansonsten kombinieren Sie die Nachteile aus beiden Ansätzen anstatt eine Verbesserung zu schaffen.