Networking: Learning by doing
Artikel erschienen in Swiss IT Magazine 2003/08
Wenn man sich die Änderungen beim Active Directory zwischen Windows 2000 Server und Windows Server 2003 betrachtet, dann fallen gleich mehrere Neuerungen auf, die zu einer signifikanten Reduktion der Netzlast führen. Dazu zählen Anpassungen wie eine optimierte Berechnung der Replikationstopologie, die abschaltbare Komprimierung bei der Replikation, eine effizientere Global-Catalog-Replikation und nicht zuletzt die Anwendungs-Partitionen. Alle diese Neuerungen sind vor allem bei sehr grossen Netzwerken mit vielen - auch kleineren - Standorten wichtig.
Ähnlich wie bei der Integration von Forests ist das aber eine Konstellation, die sich bei Microsoft nicht findet. Das Unternehmen stand 2002 zwar nach Umsatz auf Platz 72 der US-Fortune-500-Liste, aber nach der Mitarbeiterzahl nur auf Platz 356. Und diese Mitarbeiter verteilen sich nicht auf Tausende von Zweigstellen, sondern sitzen in der Mehrzahl an relativ wenigen Standorten. Microsoft testet seine eigenen Systeme zwar immer auch im eigenen Unternehmen. Nur lassen sich manche Dinge eben nicht testen, weil bei Microsoft nicht alles so ist wie in anderen Firmen.
Hinzu kommt, dass manche der nun beim Windows Server 2003 adressierten Themen sehr komplex und daher nicht ohne weiteres zu lösen sind, auch wenn man sie schon früh erkannt hat. Microsoft hat hier, trotz der intensiven Tests im eigenen Unternehmen und der engen Zusammenarbeit mit vielen Pilotkunden, die Erfahrung machen müssen, dass sich manche Probleme erst in der Praxis zeigen. Grau ist alle Theorie, und auch noch so grosse Feldtests sind allenfalls hellgrau.
Darüber hinaus darf man die Komplexität von Replikationsmechanismen wie beim Active Directory nicht übersehen. Verteilte Systeme, die im LAN wie im WAN immer aktuelle Informationen haben und bei denen dennoch nur eine minimale Netzlast erzeugt wird, sind schon fast die Quadratur des Kreises. Dabei müssen Kompromisse eingegangen werden - und einige Kompromisse beim Windows 2000 Server waren eben noch nicht optimal.
Das gilt vor allem für die automatische Berechnung der Replikationstopologie im Active Directory: Alle Controller einer Domäne replizieren Informationen zu den Objekten in der Domäne. Ein Teil dieser Informationen geht aber auch an spezielle Server (Global Catalog Server), von denen es meist mindestens einen pro Standort gibt. Informationen zum Schema und zu den Konfigurationseinstellungen des Active Directory werden zudem wiederum auf alle Domänencontroller repliziert. Diese Domänencontroller können sich im gleichen Netzwerk, aber auch an entfernten Standorten befinden - in grossen Netzen sind das manchmal Hunderte oder Tausende von Controllern, die über Hunderte von Standorten verteilt sind.
Das Active Directory hat nun die Aufgabe, zunächst einmal unter Berücksichtigung von Standorten und Domänen die optimalen Wege für die Replikation zu ermitteln. Bei den von Windows 2000 verwendeten Algorithmen geht dabei die Anzahl der Standorte, der erforderliche Speicher und die Rechenleistung in der zweiten Potenz in die Berechnung ein. Die Konsequenz ist, dass bei spätestens 100 Standorten so viel Rechenleistung benötigt wird, dass der Server, der die Berechnung durchführt, praktisch lahmgelegt ist. Dieser Algorithmus wurde beim Windows Server 2003 optimiert, um auch in sehr grossen Netzwerken die Replikationstopologien effizient berechnen zu können.
Ebenfalls rechenintensiv ist die Komprimierung von Informationen. Im Prinzip ist es ja sinnvoll, Daten bei der Replikation zwischen Standorten zu komprimieren. Wenn aber die Bandbreite der Verbindung relativ hoch ist, die Domänencontroller dagegen ohnehin stark ausgelastet sind, kann es sinnvoller sein, auf die Komprimierung zu verzichten und statt dessen ein paar Megabyte mehr an Daten zu senden. Beim Windows Server 2003 lässt sich die Komprimierung daher optional ausschalten.
Weiter verbessert wird das Lastverhalten dadurch, dass bei Änderungen der Mitglieder von Gruppen nur die geänderten Daten und nicht mehr die kompletten Gruppenobjekte repliziert werden. Die AD-Datenbank von Domänencontrollern an neuen Standorten lassen sich neu zunächst von einer CD aus beschicken, statt alle Informationen über das Netzwerk zu übertragen. Und an kleinen Standorten kann sogar auf den Global Catalog Server verzichtet werden, weil die für die Authentifizierung erforderlichen Informationen von den lokalen Domänencontrollern regelmässig von einem entfernten Server angefordert und dann im Cache gehalten werden können - kleine Verbesserungen, die in manchen Netzwerken aber sehr positive Auswirkungen auf die Netzlast haben.
Die vielleicht spannendste Erweiterung sind aber die Anwendungspartitionen im Active Directory. Bei Windows 2000 werden neben dem Schema und den Konfigurationsinformationen alle weiteren Daten in separaten Partitionen pro Domäne gehalten. Wenn eine Anwendung Informationen im Active Directory ablegt, muss sie diese also in eine Domänenpartition schreiben. Das ist aber nicht immer sinnvoll. Der ISA Server (Internet Security and Acceleration Server) ist beispielsweise ein Dienst, der mit allen Domänen zusammenspielt. Wenn solche Informationen nun lokal verfügbar sein sollen, muss pro Standort ein Domänencontroller dieser Domäne eingerichtet werden - vielleicht werden die Informationen aber nur von einem oder zwei Servern benötigt. Die anderen Informationen der Domäne sind dagegen kaum an jedem Standort erforderlich. Eine Trennung von Anwendungspartitionen von den für das Benutzermanagement verwendeten Domänenpartitionen, wie sie in Windows Server 2003 nun möglich ist, macht daher Sinn. In den Anwendungspartitionen können keine Benutzerobjekte, aber praktisch alle anderen Objekte gehalten werden. Und es kann exakt definiert werden, auf welche Domänencontroller diese Partitionen repliziert werden sollen. Damit lässt sich das Active Directory sehr viel effizienter als bei Windows 2000 als Repository für Anwendungsinformationen nutzen.
Die ganzen Optimierungen machen deutlich, dass Microsoft viel aus der praktischen Nutzung des Active Directory vor allem bei seinen grossen Kunden gelernt hat. Denn die Realität ist oft viel komplexer als alles, was man testen kann.