Software, Everywhere ...
Softwaredistribution in den PC-Räumen der Uni Wien

von Ralph Staudigl (Ausgabe 02/1, März 2002)

 

Wenn man die PC-Räume an der Universität Wien betrachtet, sticht einem zweierlei ins Auge: Es sind viele, und sie funktionieren. Was auf den ersten Blick alltäglich wirkt, ist bei näherem Hinsehen ganz und gar nicht trivial: Das System besteht derzeit aus rund 770 PCs, für die ca. 45 000 Studierende eine Benutzungsberechtigung (Unet-UserID) besitzen. Die Benutzer finden auf jedem beliebigen Rechner in den PC-Räumen dasselbe System sowie eine identische Software-Ausstattung vor und haben überall Zugriff auf ihre persönlichen Daten.

1:1

Dabei ist zu bedenken, daß schon ein einzelner, "privater" PC einige Nerven kosten kann: Einerseits müssen alle Hardware-Komponenten funktionsfähig und untereinander kompatibel sein und alle erforderlichen Treiber zur Verfügung stehen, andererseits muß ein Betriebssystem und die gewünschte Anwendungssoftware installiert und alles zu einem stabilen Gesamtsystem zusammengefügt werden. Immerhin kann man aber selbst bestimmen, wer wann was auf dem PC anstellt. Daher ist die Bedrohung durch andere Benutzer gering, und die Dauer der Glückseligkeit hängt in erster Linie davon ab, was man dem Rechner nachträglich noch zumutet. Ob Hardware-Änderungen, eine unbekümmerte Einstellung zum Thema Virenschutz oder neue Programme, die sich mit dem bestehenden System nicht vertragen wollen: Es ist keineswegs unwahrscheinlich, daß man eines Tages den gesamten Installationsvorgang zähneknirschend wiederholt und gelobt, mehr Sorgfalt walten zu lassen.

1:15

Die Betreuung eines ganzen PC-Raums mit etwa 15 PCs ist naturgemäß um einiges aufwendiger. Im einfachsten Fall - nämlich wenn jeder Rechner immer vom selben Benutzer verwendet wird - ist zwar die Installation aller PCs eine zeitraubende Angelegenheit, alles weitere bereitet aber nicht mehr Schwierigkeiten als bei einem einzelnen Gerät. Komplizierter wird es, wenn jeder Rechner von mehreren Personen verwendet werden soll. In diesem Fall wird man um die Installation eines Servers kaum herumkommen - es sei denn, man legt alle Benutzerkonten auf jedem PC separat an und nimmt in Kauf, daß die Benutzer entweder das "Risiko Diskette" eingehen oder viel Zeit damit verbringen, ihre auf verschiedenen PCs gespeicherten Daten wiederzufinden.

Wenn man die Rechner jedoch zu einem PC-Netzwerk mit einem gemeinsamen Server zusammenfaßt, können Ressourcen wie Plattenplatz oder Drucker von mehreren Rechnern genutzt und manche Abläufe stark vereinfacht werden. Die wesentlichsten Vorteile sind:

  • Zentrale Authentifizierung: Es gibt nur eine einzige Benutzerdatenbank, die auf dem Server gewartet wird. Wenn sich ein Benutzer an einem PC anmeldet, fragt der PC beim Server nach, ob es den Benutzer gibt, ob sein Paßwort stimmt und welche Berechtigungen er hat.
  • Zentraler Speicherplatz: Die Daten der Benutzer werden nicht auf den lokalen Rechnern, sondern am Server gespeichert. Der Benutzer kann somit von jedem Rechner auf seine Dateien zugreifen und auch seine Programmeinstellungen von PC zu PC "mitnehmen".
  • Zentrales Drucken: Der Drucker ist an den Server angeschlossen und steht von jedem PC aus zur Verfügung.
  • Zentral installierte Anwendungen: Manche Programme lassen sich am Server installieren und lokal ausführen, was den Wartungsaufwand pro PC reduziert.

Trotz dieser verlockenden Möglichkeiten darf man nicht vergessen, daß gerade die Serverbetreuung einen beträchtlichen Lern- und Verwaltungsaufwand erfordert: Für einen problemlosen Betrieb des PC-Raums ist es unumgänglich, laufend die Logfiles, die Platten usw. zu beobachten und eine solide Datensicherung zu betreiben.

Der Wartungsaufwand für die PCs ist bei einem einzelnen Raum noch überschaubar. Zwar sinkt mit einer steigenden Benutzer- und Gerätezahl der Bezug der Benutzer zu den Rechnern, was eine indirekt proportionale Sorgfalt zur Folge hat. Hardwarefehler oder Störungen werden aber meistens von den Benutzern umgehend gemeldet, und solange diese keine Programme installieren oder löschen können, ist die Software auf jedem Rechner identisch und kann relativ leicht gewartet werden. Dennoch wird ein guter Teil der Arbeitszeit im Nachinstallieren von Software, im Einspielen von Patches und im gelegentlichen Tauschen von defekten Teilen aufgehen. Alles in allem ist die Betreuung eines einzelnen PC-Raums eine ausfüllende Tätigkeit für einen halbtägig beschäftigten Mitarbeiter - den Lernaufwand nicht mitgerechnet.

4,5:770

Das PC-Raum-Projekt der Uni Wien startete vor rund drei Jahren mit knapp 200 PCs im NIG und im Alten AKH. Per Mitte März 2002 wird es ca. 770 PCs in 49 PC-Räumen umfassen, die auf 28 Standorte in ganz Wien verteilt sind - Tendenz in allen Punkten stark steigend (siehe Artikel Noch mehr PC-Räume). Für die Software auf allen diesen Rechnern ist ein vergleichsweise winziges Team von 4,5 Mitarbeitern verantwortlich. Daher war von Anfang an ein ausgeklügeltes Konzept notwendig.

Einfache Lösungen, die in kleinerem Rahmen durchaus praktikabel sind (z.B. eine fertige Installation auf Festplatten zu kopieren und diese dann in die PCs einzubauen), schieden von vornherein aus: Einerseits setzt dies eine einheitliche Hardware-Ausstattung voraus, die im konkreten Fall nicht gegeben ist; andererseits ist auch das Geräte-Betreuer-Verhältnis an der Universität Wien für eine solche Vorgangsweise nicht geeignet. Außerdem muß bei einem System dieser Größe eine Möglichkeit gefunden werden, zentral zu kontrollieren, was auf den einzelnen PCs passiert und in welchem Zustand sich Hard- und Software befinden.

Mit zunehmenden Gerätezahlen, Standorten und Hardware-Versionen wird es also immer wichtiger, Methoden zur Automatisierung möglichst vieler Arbeiten und zur Überwachung der einzelnen Geräte zu finden. Sind zudem noch die personellen Ressourcen knapp bemessen, steigt das Verlangen nach Lösungen, die ohne Anwesenheit vor Ort auskommen. Die Mühen, einen einzelnen PC-Raum zu betreiben, beginnen hier langsam trivial zu erscheinen.

In langwieriger Entwicklungsarbeit und unterstützt durch die Computer Management Software Unicenter TNG der Firma Computer Associates wurde schließlich für die Verteilung und Wartung der Software in den PC-Räumen der Uni Wien ein stark automatisiertes und relativ komplexes Environment geschaffen, das im folgenden skizziert werden soll. Vorausgeschickt sei noch, daß die hier beschriebene Infrastruktur ausschließlich zur Software-Installation und -Wartung dient und für Benutzer nicht sichtbar ist (die für die Benutzer relevanten File- und Printserver werden nicht unter Windows NT betrieben, sondern mit DCE/DFS bzw. Unix-lpr).

Installation des Betriebssystems

Für die Software-Wartung wurden alle PCs zu einer einzigen Windows-Domäne mit mehreren Subnetzen zusammengefaßt. Die Rechner werden von derzeit vier Servern betreut, die (ebenso wie die PCs) unter Windows NT 4.0 laufen. Drei davon sind als Backup-Domänenkontroller für je ein Drittel der Subnetze zuständig; sie nehmen SNMP-Nachrichten von den PCs entgegen und fungieren auch als DHCP-, Boot- und Softwareverteilungs-Server. Der vierte Server dient als primärer Domänenkontroller für die gesamte Domäne.

Eine Betriebssystem-Installation geht nun folgendermaßen vor sich: Alle PCs sind mit speziellen Netzwerkkarten ausgerüstet, die ständig mit Strom versorgt sind und eine Fernwartung über das Netzwerk erlauben - d.h. die Rechner können von einem zentralen Ort aus eingeschaltet werden (Wake on LAN) und via TFTP über das Netz booten. Sobald ein neuer PC verkabelt und eingeschaltet ist, kommt das Preboot Execution Environment (PXE) der Netzwerkkarte zum Zug - quasi ein Mini-System, das grundlegende Netzwerkfunktionen wie DHCP und TFTP zur Verfügung stellt. Zuerst bezieht der PC via DHCP eine IP-Adresse; anschließend führt er ein Bootserver Discovery durch, um den TFTP-Server zu finden. Wird dieser Vorgang von einem neuen PC ausgeführt, erkennt der zuständige Backup-Domänenkontroller dies und registriert ihn im Common Object Repository (der zentralen PC-Datenbank am primären Domänenkontroller).

Ab nun kann der PC über das Netzwerk installiert werden. Die Information über den genauen Ablauf des Bootvorgangs wird aus dem Repository bezogen. Dadurch wird eine "unbeaufsichtigte" Betriebssystem-Installation möglich, was allerdings ein relativ trickreicher Vorgang ist: Im dynamisch erstellten Answerfile müssen alle Einstellungen zur Steuerung des Installationsvorgangs enthalten sein. Zunächst wird nicht von der lokalen Festplatte gestartet, sondern von einem Bootimage - das ist eine Datei, die einer Bootdiskette entspricht, aber über das Netzwerk vom Boot(TFTP)-Server zur Verfügung gestellt wird. Mit dieser Technik können sowohl die notwendigen BIOS-Updates durchgeführt als auch der Installationsvorgang gestartet werden, an dessen Anfang eine definierte Reihe von Bootimages abläuft.

Das Problem der unterschiedlichen Hardware-Versionen wird durch eine Datenbank gelöst, in der nachgefragt wird, für welchen PC welche Hardware-Treiber zu installieren sind. Die automatisierte Betriebssystem-Installation ist auf 24 verschiedene Hardware-Variationen vorbereitet, von denen derzeit etwas mehr als die Hälfte tatsächlich in den PC-Räumen eingesetzt wird (unter Berücksichtigung zusätzlicher Hardware wie Scanner und CD-Brenner sind 192 Kombinationen möglich). Darüber hinaus werden im Rahmen des Installationsvorgangs noch einige weitere Konfigurationen durchgeführt - beispielsweise wird der Rechner in die Windows-Domäne aufgenommen. Am Ende dieser verknüpften Abläufe steht ein PC, der ein komplettes, an ihn angepaßtes Betriebssystem über das Netzwerk erhalten hat.

Installation der Anwendungsprogramme

Die Installation der Anwendungsprogramme erfolgt anschließend mit Hilfe der sogenannten Software Delivery Option (einer Komponente der Software Unicenter TNG), die sowohl das Installieren als auch das Deinstallieren von Software über das Netzwerk ermöglicht. Die Funktionsweise kann man sich in etwa so vorstellen: Am PC wartet der Softwareverteilungs-Klient darauf, über das Netz etwas vom Softwareverteilungs-Server zu hören. Dieser schickt im Fall einer Installation ein für die Ferninstallation speziell aufbereitetes Softwarepaket, in das neben den üblichen Dateien auch alle Installationsanweisungen verpackt wurden. Dieses Paket wird vom Klienten nach den darin enthaltenen Anweisungen installiert. Für eine Standard-Installation sind insgesamt 24 Softwarepakete notwendig; darüber hinaus gibt es noch 16 Pakete mit Spezialsoftware (z.B. Software für Scanner und CD-Brenner). Paket für Paket wird nun die Installation durchgeführt. Dieser Prozeß wird zentral überwacht, damit genau kontrolliert werden kann, welcher PC gerade wie weit installiert ist bzw. ob es irgendwo Probleme gibt. Nach Abschluß der Software-Installation steht ein fertiger, aber ungesicherter Rechner zur Verfügung.

Wiederherstellen des Systems

Ein viel benutzter PC muß mindestens einmal pro Monat in seinen Ausgangszustand zurückversetzt werden, um das System von "softwaremäßigen Verunreinigungen" zu befreien. Damit ein rasches Wiederherstellen der ursprünglichen Installation möglich ist, wird jeder PC "gesichert": Auf der lokalen Festplatte wird eine Sicherungskopie (Image) angelegt, auf die der Benutzer keinen Zugriff hat und die das komplette System komprimiert enthält. Jeder Rechner kann so in ca. 15 Minuten wieder in einen "jungfräulichen" Zustand gebracht werden.

Wie erwähnt, sinkt mit steigender Gerätezahl offenbar das Bedürfnis der Benutzer, mit den PCs sorgsam umzugehen. Da auch das Wiederherstellen von (teilweise mutwillig) zerstörten Systemen zu einer Dauerbeschäftigung ausarten kann, mußten die Zugriffsrechte der Benutzer auf jenem Laufwerk, das das Betriebssystem und die Anwendungsprogramme enthält, auf das Allernötigste beschränkt werden. Das Risiko von Systemausfällen aufgrund gelöschter Dateien wird dadurch auf ein Minimum reduziert; für die Benutzer hat diese Maßnahme allerdings die unangenehme Auswirkung, daß keine "mitgebrachten" Programme installiert werden können.

Wartung

Bei einem System dieser Größe muß die Wartung der PCs genau überlegt bzw. automatisiert werden. An erster Stelle steht hier das Aktualisieren der Virusdefinitions-Datei: Da der Hersteller des in den PC-Räumen eingesetzten Virenschutzprogramms McAfee VirusScan mindestens einmal pro Woche eine neue Fassung dieser Datei veröffentlicht, wird sie auf allen PCs täglich automatisch aktualisiert.

Während des laufenden Betriebs schicken alle PCs Statusinformationen an die Server. Daraus läßt sich beispielsweise entnehmen, ob das Starten des Rechners reibungslos funktioniert hat oder ob sich Benutzer anmelden können, was viel über die Befindlichkeit der einzelnen PCs und des Gesamtsystems aussagt. Der aktuelle Zustand aller Rechner ist in einer Datenbank organisiert. Sobald ein Rechner oder ein Benutzer meldet, daß ein PC defekt ist, wird dies in einem Fehlermeldesystem erfaßt und die entsprechende Instandsetzungsmaßnahme veranlaßt (z.B. Austausch des Monitors durch einen Servicetechniker).

Damit ein reibungsloser Betrieb in den PC-Räumen gewährleistet ist, müssen natürlich auch die Server regelmäßig gewartet werden. Dies erfordert einen hohen Planungsaufwand und eine besonders sorgfältige Vorgangsweise, weil es sehr schwierig ist, alle Auswirkungen von neuer oder geänderter Server-Software im vorab zu testen.

Man lernt nie aus

Obwohl die installierte Software genau definiert ist, entstehen laufend neue Anforderungen. Vor allem die Hardware-Vielfalt führt zu einem ständigen Entwicklungsaufwand: Die Generationenfolge ist hier derart dicht, daß alle Monate wieder gewisse Komponenten nicht mehr lieferbar sind. Besonders stark wirkt sich das bei Peripheriegeräten aus (z.B. bei Scannern), die für jedes Modell eine eigene Software benötigen. Leider ändern sich mit den Programmen auch die Installationsroutinen und somit die Art und Weise, wie die Installation automatisiert wird.

Daher müssen ständig neue Softwarekomponenten bearbeitet werden. Es hat sich bewährt, neue Hard- und Software gründlich zu testen, bevor sie eingesetzt wird; nachdem es aber relativ unpopulär ist, einen PC-Raum für Testzwecke zu sperren, steht dafür ein eigenes PC-Labor zur Verfügung (siehe Foto). Hier befinden sich Systeme aus allen in den PC-Räumen verwendeten Hardware-Versionen und einem Teil der Peripheriegeräte, und hier läuft normalerweise der gesamte Vorgang ab - vom Eintreffen der neuen Geräte bzw. Programme bis hin zur Verteilung der Softwarepakete.

Zunächst wird die Verträglichkeit der neuen Komponenten mit den bestehenden Installationen geprüft. Darauf folgt die Erstellung der Softwarepakete (was oft zeitlich am schwierigsten abzuschätzen ist, da sich einige Programme äußerst widerborstig gegenüber ihrer Verarbeitung zu distributierbaren Paketen verhalten). Wenn sich genügend Komponenten angesammelt haben oder ein bestimmtes Update dringend notwendig ist, wird ein detaillierter Zeitplan für den Installationsablauf auf allen betroffenen PCs ausgearbeitet. Für die Installation ist ein definierter Ausgangszustand notwendig; deshalb muß vor jeder Aktion die Sicherungskopie des Rechners eingespielt und anschließend ein neues Image vom aktualisierten Installationszustand erstellt werden. Da die PCs tagsüber in Verwendung sind, können Updates bzw. Neuinstallationen meistens erst nach den Öffnungszeiten oder am Wochenende durchgeführt werden. Alle PCs mit neuer Software auszustatten dauert unter vollem Einsatz aller 4,5 Mitarbeiter etwa drei Wochen. Man kann diesen Vorgang mit der Richtungskorrektur eines großen Schiffes vergleichen, die ebenfalls rechtzeitig überlegt und eingeleitet sein will.

Die Komplexität des Unterfangens, sehr viele Geräte mit einheitlicher Software auszustatten und diese auch regelmäßig zu warten, kann hier nur in groben Zügen geschildert werden. Technik fällt nicht auf, solange sie funktioniert; daher sind diese Problemstellungen im täglichen Betrieb der PC-Räume nicht ersichtlich. Vielleicht ist aber nun etwas verständlicher geworden, warum dem Wunsch mancher Benutzer nach zusätzlichen Anwendungsprogrammen oder weiterreichenden Berechtigungen auf den Rechnern nur in den seltensten Fällen entsprochen werden kann.