|
UNIVERSITÄTSRECHENZENTRUM |
|
||
|
||||
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.
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:
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.