TU Chemmnitz

UNIVERSITÄTSRECHENZENTRUM

TU Chemnitz > URZ > Zeitung > Ausgabe 4/2003

Systeminstallation/-verteilung von Windows XP in Computerpools

Ausgehend von der Aufgabe, eine größere Anzahl PCs gleichzeitig konsistent und schnell mit einer kompletten Windows-XP-Installation zu versehen, werden die Software ghost sowie die Windows-Funktion sysprep vorgestellt. Es werden praktische Erfahrungen vermittelt, beginnend mit einem sogenannten Modell-PC.

Anfang September wurde das Betriebssystem Windows XP in zwei öffentlichen Computerpools bereitgestellt:

Vorher musste die Frage gelöst werden, wie 32 PCs möglichst schnell mit der gleichen Installation versehen werden können. Eine manuelle Installation des Betriebssystems sowie der Software auf jedem einzelnen Rechner scheidet generell aus, da bei diesem Verfahren die Gleichheit der Rechner kaum zu gewährleisten ist. Der dafür erforderliche Zeitaufwand wäre ebenfalls ein Vielfaches. Aus diesen Gründen konnte für die Installation der Rechner nur ein Image-Verfahren zum Einsatz kommen. Dazu wurde die Software Symantec Ghost 7.5 genutzt. Der Zeitaufwand für das Verteilen eines Images bleibt so nahezu unabhängig von der Anzahl der betroffenen Rechner. Der Vorteil, dass nach dem Verteilen alle Rechner absolut gleich sind, ist aber nicht überall gewollt. Mit einem Script lassen sich diese Parameter (z.B. Hostname) aber einstellen. Für das Erkennen und Installieren unterschiedlicher Hardware sind ebenso Vorkehrungen zu treffen.

Über Symantec Ghost lassen sich folgende Funktionen realisieren:

Als Grundlage für die Verteilung musste nun ein sogenannter Modellcomputer erstellt werden. Dabei ist zu beachten, dass der Modellcomputer und die zu duplizierenden Computer den gleichen HAL (hardware-abstraction-layer) besitzen. Als Beispiel könnte das jetzt ein ACPI-Uniprozessor-PC sein.
Es besteht aber die Möglichkeit, über Sysprep unterschiedliche Hardware anzupassen. Zum Beispiel lassen sich UP-Images auf MP-Computer mit Anpassungen verteilen und umgekehrt. Auch die Verteilung auf unterschiedliche Massenspeichergeräte (IDE-SCSI) ist damit möglich. Das Erkennem unterschiedlicher Netzwerk-, Video- und Audiokarten sollte ebenfalls über Sysprep durchgeführt werden. Dabei können die nicht im Windows vorhandenen Treiber über den Sysprep-Parameter OemPnPDriversPath bereitgestellt werden, so dass die Geräte beim ersten Booten erkannt werden.
Die Sysprep.inf-Datei sollte alle die Parameter enthalten, die für eine automatische Ausführung des Mini-Setup notwendig sind. Die Sysprep.inf-Datei kann mit dem Programm setupmgr.exe erstellt und bearbeitet werden. Sysprep stellt weiterhin sicher, dass die SID auf den Zielrechnern eindeutig sind und das der Hostname im Netz nicht schon vorhanden ist. Um mit nur einer Sysprep-Datei auszukommen, lässt man sich die Hostnamen generieren und passt sie später an.
Das Betriebssystem unseres Modellcomputers wurde über eine unbeaufsichtigte Installation (unattanded installation) aufgespielt. Das hat den Vorteil, dass dieser Vorgang jederzeit mit dem gleichen Ergebnis wiederholt werden kann. Im Anschluss daran wurden Servicepacks und Basissoftware wie AFS, NTP, CYGWIN, Acrobat-Reader, Quicktime, Mozilla, Java, Putty, Ghostscript und Ghostview sowie der Console-Client (Ghost) installiert. Nach der Installation des Console-Client meldet sich der Client mit seiner Konfiguration an der Console. Danach wird die Logon-Methode von msgina auf pgina umgestellt. Das sollte immer nach der Installation des Console-Clients erfolgen, weil sonst die Konfiguration des Client an der Console nicht eingelesen werden kann. Über gpedit.msc wurden die Sicherheitsrichtlinien und Gruppenrichtlinien angepasst.
Danach kann der Vorgang zum Erstellen des Images mit Sysprep an der Ghost-Console gestartet werden. Das Betriebssystem des Modellcomputers wird dabei in einen "Grundzustand" versetzt und davon das Image erstellt. Der Modellcomputer verbleibt nach Beendigung des Image-Vorganges in der Kommunikation mit der Ghost-Console und muss durch Eingabe von CTRL-C und ngctdos -hide wiederbelebt werden. Danach durchläuft der Modellcomputer ebenfalls das Mini-Setup wie ein anderer Computer, der dieses Image aufgespielt bekommt.

Nach der Erstellung des Images vom Modellcomputer war nun nach einem optimalen Weg für die Verteilung auf die Poolrechner zu suchen. Die Plattenkonfiguration in den beiden Pools stellte sich folgendermaßen dar:

In beiden Pools ist Linux und Windows installiert (Dualboot-Systeme). Im Pool 066 war die erste Platte von Windows NT belegt, so dass diese Platte problemlos neu partitioniert werden konnte (damit NT gelöscht) für das Aufspielen der WindowsXP-Partition. Im Pool B302 wurde eine neue größere Platte (80GB) eingebaut. Danach wurden 2 primäre Partitionen zu je 20 GB angelegt (eine für WindowsXP, eine für Reserveplatz, durch späteres Löschen wird der freie primäre Slot in der Partitiontabelle erreicht). In den verbleibenden Platz wurde Linux neu installiert und danach das Modellcomputer-Image.
Für das Verteilen des Images bieten sich folgende Wege an: Diese beiden Verfahren nutzen standardmäßig Multicast, wodurch sich die Netzwerkbelastung erheblich reduziert, weil jedes Paket zu einer Gruppe von Rechnern geschickt wird.
Eine weitere Möglichkeit der Systemverteilung, über Diskette zu booten und von einem verbundenen Netzlaufwerk das Image zu holen, wäre nur für eine einzelne Installation sinnvoll.
Beim Verteilen des Images im Pool 066 blieben einige Rechner hängen. Der Gesamtvorgang wurde dadurch nicht beeinträchtigt. Diese Rechner wurden in einem zweiten Versuch zurückgespeichert.

Am Ende des Vorganges zum Aufspielen des Images wird automatisch ein Reboot ausgeführt. Es wird das Mini-Setup durchlaufen (Hardwareerkennung) und wenn alle erforderlichen Parameter in der Datei sysprep.inf bereitgestellt wurden, sind keine zusätzlichen Eingaben notwendig. Aufgrund der Tatsache, dass die Hostnamen automatisch generiert werden, ist ein geringer Umfang an Nacharbeit erforderlich. Voraussetzung für die Automatisierung dieses Schrittes ist, dass die Rechner in DHCP und DNS registriert sind. Über Sysprep wird dem neuen Rechner mitgegeben, sich einmal automatisch als Administrator anzumelden und ein Konfigurationsscript auszuführen. In diesem Script wird aus der über DHCP erhaltenen IP-Adresse der richtige Hostname ermittelt und in die Registry eingetragen. Danach werden die Dienste für den Console-Client und das automatische Aktualisieren/Installieren von Software (mit CFENGINE vergleichbar) gestartet sowie die AFS-Konfiguration modifiziert. Nach der Anmeldung an der Ghost-Console wird die Authentifizierungssoftware pGina aktiviert und der Rechner neu gebootet.

Aus diesem Ablauf ist zu ersehen, dass während dieses Vorganges die Rechner zwei Mal automatisch gebootet werden. Bei Dualbootsystemen empfiehlt es sich, in der Vorbereitung das Standardbootsystem auf Windows einzustellen. Am Ende des gesamten Vorganges stehen dann alle Rechner im Windows und zeigen das Anmeldefenster von pGina. An dieser Stelle kann durch einen Console-Vorgang das Standardbootsystem wieder auf Linux gestellt werden.

Zur Zeit ist die Windows-Partition mit 8,6 GB belegt. Das hochkomprimierte Abbild dieser Partition verbraucht 3,5 GB. Diese Datenmenge muss über das Netz an die Rechner übertragen werden, was ca. 15 min in Anspruch nimmt. Einschließlich vor- und nachbereitender Arbeiten kann so in einer Stunde ein Pool neu mit Windows installiert werden. Probleme bestehen noch dort, wo ein Firewall-Router die Verbindung zwischen Ghost-Server und Client unterbricht und nicht zwingend Unicast verwendet wird.


Karl-Heinz Arnold, Oktober 2003