Zurück zurHauptseite

Installations-Server mit JumpStart einrichten (von Daniel Jaesche)


    Inhaltsverzeichnis

    Vorwort

    Anforderung

    Allgemein zur Installation

    Hinweise zu NIS

    1. Boot-Server installieren

    2. Installations-Server installieren

    3. Konfiguration

    4. Finale - Der Test

    5. Rechner vom Netz booten und installieren

Vorwort

    Diese Anleitung habe ich für mich selbst als Gedankenstütze gedacht. Sie ist nicht dafür gedacht, die gesamte Funktion und Installation eines Installservers zu erklären. Vielmehr wollte ich ein kurzes Kochrezept erstellen, um die nötigen Schritte schnell nachvollziehen zu können. Wenn davon auch andere profitieren, dann ist dies mir nur recht. Für Anregungen und Kritik bin ich jederzeit dankbar.

Anforderung

    Die Anforderung ist einen Server so herzurichten, daß ein Client vom Netz aus bootet und automatisch den Installationsprozeß startet.

    Auf dem Install-Server soll festgelegt werden, wie Rechnername und IP lauten. Alle weiteren Abfragen, die während der Installation anfallen (Core oder Full OEM, etc.) sollen ebenfalls im voraus beantwortet werden. Nachdem Aufruf vom OK-Prompt des Clients von

    OK boot net - install

    soll die Installation ohne Unterbrechung automatisch stattfinden, bis sich Solaris mit dem Login-GUI meldet.
Zurück zum Inhaltsverzeichnis

Allgemein zur Installation

    Um den Install-Server einzurichten, habe ich eine Sun Ultra10 genommen. Das Betriebssystem ist Solaris 8, weil es das aktuellste ist, und weil es gut ist.

    Mit der Solaris Distribution (10/00) kommen einige CDs mit. Für das Einrichten des Install-Servers werden aber nur zwei CDs benötigt, Solaris 8 Software 1of2 und Solaris 8 Software 2of2. Die CD Solaris 8 Installation wird eingentlich überhaupt nicht benötigt. Sie erzweugt lediglich bei der manuellen Installation von Solaris 8 eine nett aufgepeppelte, grafische Oberfläche.

    Prinzipiell kann der Install-Server in drei Teile aufgeteilt werden:

    1. Boot-Server

    2. Installations-Server

    3. Konfigurations-Server

    Außerdem kann noch ein weiterer Server hinzugezogen werden, der Applikationen enthält, die nicht mit Solaris 8 installiert werden. Hier werde ich mich erst einmal darauf beschränken, das Betriebssystem zum laufen zu bringen. Ebenso habe ich die Sun Ultra10 so konfiguriert, daß sie Boot-, Installations- und Konfigurations-Server in einem ist. Sollen die Dienste zwischen mehreren Servern aufgeteilt werden, so kann die erforderliche Vorgehensweise von der hier beschriebenen abweichen. Der Name des Servers ist instsrv, der Name des Clients ist temp3.

Hinweise zu NIS

    Bei einem Server, der NIS (Network Information Service) benutzt, gelten insbesondere bei den Dateien /etc/hosts, etc. andere Bestimmungen.

    NIS wird in diesem Beispiel nicht benutzt. Wenn der Server NIS benutzen soll, werden an einigen Stellen andere Vorgehensweisen erforderlich, als hier geschildert.

Zurück zum Inhaltsverzeichnis

1. Boot-Server installieren

    Als erstes wird ein Boot-Server benötigt. Einige Dateien und ein Verzeichnis, die später benötigt werden, legt man am besten ganz am Anfang an. Der Befehl touch ändert an einer bereits vorhandenen Datei nichts, existiert diese Datei nicht, so wird sie ohne Inhalt angelegt.

    #touch /etc/ethers
    #touch /etc/hosts
    #touch /etc/bootparams
    #touch /etc/dfs/dfstab
    #mkdir /tftpboot

    Der Boot-Server antwortet später auf die Anfrage vom Client und weist diesem einen Namen und eine IP zu. Hierzu wird ein Verzeichnis benötigt, welches leer ist und mindestens 156MB freie Kapazität aufweist. In diesem Beispiel habe ich das Verzeichnis

    /export/boot

    gewählt. Nun wird das folgende Skript von der Solaris 8 Software 1of2 CD gestartet:

    #/cdrom/cdrom0/s0/Solaris_8/Tools/setup_install_server -b /export/boot

    Abgesehen von ein paar Einstellungen in den config-files (man verzeihe mir das Neudeutsch) ist der Boot-Server damit installiert.
Zurück zum Inhaltsverzeichnis

2. Installations-Server installieren

    Auch hier wird ein leeres Verzeichnis benötigt. Diesmal darf die Kapazität nicht so sparsam sein, es werden mindestens 700MB angefordert. Mir schien der Name

    /export/install

    angebracht. Nun wird wiederum von der CD Solaris 8 Software 1of2 das Skript

    #/cdrom/cdrom0/s0/Solaris_8/Tools/setup_install_server /export/install

    ausgeführt. Das dauert ungefähr ein Stündchen und läßt Zeit für ein paar Tassen Kaffee.

    Dem aufmerksamen Administrator wird aufgefallen sein, daß Solaris 8 nicht auf eine einzige CD passt. Dies ist nicht ganz richtig, denn für die Core und EndUser Installation ist tatsächlich nur die Solaris 8 Software 1of2 CD erforderlich. Da ich aber davon ausgehe, daß zumindest die Möglichkeit gegeben sein sollte, eine Komplett-Installation zu machen, installiere ich auch die Solaris 8 Software 2of2 CD Daten auf dem Server. Hierzu die besagte CD einlegen und das Skript

    #/cdrom/cdrom0/Solaris_8/Tools/add_to_install_server /export/install

    starten. Auch hier sollte wieder genügend Zeit für die obligatorische Tasse Kaffee sein.
Zurück zum Inhaltsverzeichnis

3. Konfigurations-Server installieren

    Auch der Konfigurations-Server kann ein physikalisch anderer Rechner sein. Wie bereits beschrieben, werde ich alles auf einem Rechner installieren. Als Verzeichnis für die Konfigurations-Dateien habe ich

    /export/config

    gewählt. In dieses Verzeichnis habe ich die Skripte von der Solaris 8 Software 1of2 CD kopiert:

    #cp -r /cdrom/cdrom0/s0/Solaris_8/Misc/jumpstart_sample/* /export/config

    Damit aber auch der neue Client in der Lage ist, auf diese Dateien zuzugreifen, ist der folgende Eintrag erforderlich:
    /etc/dfs/dfstab 

    share -d /export/config /export/config

Zurück zum Inhaltsverzeichnis

    Nun folgen die individuellen Einstellungen, um einen Client neu zu installieren. Folgende Informationen müssen über den Client vorhanden sein:

        Beispiel
      Mac-Adresse bzw. Ethernet-Adresse    8:0:20:b1:1f:5e 
      Zugewiesene IP   192.168.33.3
      Hostname   temp3

    Mit diesem Spezialwissen erweitern wir die folgenden Dateien:

    /etc/ethers 

    8:0:20:b1:1f:5e temp3

    /etc/hosts 

    192.168.33.1 instsrv loghost timehost 192.168.33.3 temp3

    Wichtig ist hier, ein timehost anzugeben. In diesem Fall ist es der Installserver instsrv, es kann aber auch ein beliebig anderer, erreichbarer (!) Rechner in Netz sein. Wenn Boot-, Install-, und/oder Konfigurations-Server physikalisch andere Rechner sind, müßen diese natürlich auch hier angegeben sein.

    Nun muß noch in der Datei

    /etc/netmasks

    192.168.33.0 255.255.255.0

    nachgeprüft werden, ob der Eintrag korrekt ist, denn der Client wird diese Einstellung übernehmen.

    Auf dem Boot-Server muß nun das folgende Skript ausgeführt werden:

       #/export/boot/Solaris_8/Tools/add_install_client -e 8:0:20:b1:1f:5e \
        -i 192.168.33.3 -s instsrv:/export/install \
        -c instsrv:/export/config -p instsrv:/export/config temp3 sun4u
                

    Zugegeben, ein langer, nicht sehr überschaubarer Aufruf eines Skriptes. Deshalb hier eine (hoffentlich) überschaubarere Übersicht:

    Parameter Bedeutung
    /export/boot/add_install_client Das dürfte noch leicht fallen, es ist nur Lokation und Aufruf des Skriptes.
    -e 8:0:20:b1:1f:5e gibt die MAC- oder Ethernet-Adresse des Clients an.
    -i 192.168.33.3 gibt die IP-Adresse des Clients an.
    -s instsrv:/export/install Gibt den Server und das Verzeichnis an, indem die Daten der Solaris 8 Distribution abgelegt sind.
    -c instsrv:/export/config Gibt den Server und das Verzeichnis an, indem die Konfigurations-Dateien gespeichert sind.
    -p instsrv:/export/config Gibt den Server und das Verzeichnis an, in dem die Datei sysidcfg abgespeichert werden soll.
    temp3 Hostname des neuen Clients
    sun4u Gibt die Architektur des zu installierenden Betriebssystems an.

    Mit diesem gigantischem Aufruf sind leider noch nicht alle Einstellungen gemacht. Folgende Datei muß erzeugt werden und mit sinnvollem Inhalt gefült werden:

    /export/config/sysidcfg

    system_locale=en_US timezone=US/Mountain timeserver=localhost terminal=vt100 name_service=NONE security_policy=NONE root_password=rcBB.rfBvJ3xE network_interface=PRIMARY {protocol_ipv6=no netmask=255.255.255.0}

    An dieser Stelle habe ich nicht wirklich Lust, alles zu kommentieren, was in dieser Datei steht. Eigentlich erklärt sich der Inhalt von selbst. Wer mir das Paßwort im Klartext nennt, bekommt von mir dafür ein Drink ausgegeben. ;-)

    Nun muß noch eine class-Datei den Anforderungen entsprechend angepaßt werden. Hier habe ich die schon vorhanden Datei host_class in host_class_temp3 umbenannt und so geändert:

    /export/config/host_class_temp3

    install_type initial_install system_type server partitioning explicit filesys c0t0d0s0 free / filesys c0t0d0s1 1024 swap filesys c0t0d0s6 2000 /export/home filesys c0t0d0s7 300 /var filesys c0t0d0s5 2000 /opt cluster SUNWCall

    Diese Datei ist eigentlich (neben der sysidcfg-Datei) das Herz des Installationsprozesses. Darum hier noch einmal etwas übersichtlich einige Möglichkeiten, die eingestellt werden können:

    Schlüsselwort Parameter Bedeutung
         
    install_type initial_install Gibt an, daß eine Komplettinstallation gemacht werden soll
      upgrade Gibt an, daß ein Upgrade gemacht werden soll
         
    system_type standalone Konfiguration für alleinstehenden Rechner
      server Konfiguration für einen Server
      dataless Selten benötigte Einstellung
         
    partitioning default Partitionierung soll nach default-Werten vorgenommen werden
      existing Partitionierung soll beibehalten werden
      explicit Partitonierung soll so vorgenommen werden, wie (nachstehend) angegeben
         
    filesys device Größe [file-system] mountpoint Hiermit wird angegeben, welche Partition was beinhaltet, default-file-system ist ufs
         
    cluster SUNWCreq Core Software-Cluster wird installiert
      SUNWCuser User Software-Cluster wird installiert
      SUNWCprog Developer Software-Cluster wird installiert
      SUNWCall Entire Distribution Software-Cluster wird installiert
      SUNWCXall Entire Distribution plus OEM Software-Cluster wird installiert
         
    usedisk disk_name Gibt an, welche Platte benutzt werden soll
         
    dontuse disk_name Gibt an, welche Platte nicht benutzt werden soll

    Diese Tabelle ist absichtlich nicht vollständig. Für meinen Einstatz reicht dies vollkommen aus. Weitere Einstellungsmöglichkeiten führen wahrscheinlich eher zu Verwirrungen. Selbst in den Solaris 8 Systemadministration II - Unterlagen werden keine umfangreicheren Beispiele gegeben.

    Als nächstes muß hier noch dieser Eintrag gemacht werden:

    /export/config/rules

    any - - host_class_temp3 -

    Die Datei ist bereits vorhanden und enthält eine recht brauchbare Erklärung. Hier spare ich mir weitere Erklärungen, nur wollte ich kurz die vielfältigen Einstellungsmöglichkeiten erwähnen.

    Damit ist nun die Konfiguration abgeschlossen. Als nächstes werden diese Einstellungen überprüft.

Zurück zum Inhaltsverzeichnis

4. Finale - der Test

    Als erster wird überprüft, ob die rules-Datei fehlerfrei ist. Hierzu wird in dem gleichen Verzeichnis (/export/config) das Skript

    #/export/config/check

    ausgeführt. Achtung, die Anweisung muß unbedingt aus diesem Verzeichnis aufgerufen werden, sonst müssen noch weitere Parameter angegeben werden. Wird kein Fehler gefunden, so wird eine rules.ok-Datei erzeugt. Diese ist zwingend notwendig.

    Der zweite Test simuliert eine Installation. Hierzu folgendes eingeben:

    #/usr/sbin/install.d/pfinstall -D -c /export/install host_class_temp3

    Hiernach wird recht viel Log-Info ausgegeben. Zufrieden sein kann man, wenn die letzte Meldung so aussieht:

    Test run complete. Exit status 0.

    Dies gibt uns das allen Grund zur Freude, denn der Server ist richtig installiert und auch konfiguriert. Nun kann der Client vom Netz booten und Solaris 8 installieren.

5. Rechner vom Netz booten und installieren

    Nachdem der Boot-, Installations-, und Konfigurations-Server erfolgreich installiert und Konfiguriert ist (sind), wird nun der Client temp3 an das Netz angeschlossen. Nach dem Einschalten des Rechners erscheint der Boot-Prompt. Falls dies nicht der Fall ist, so kann mit der Tastenkombination Stop - a der Boot-Prompt erzwungen werden. Nun folgt die Eingabe von :

    OK boot net - install -v

    Der Rechner fängt an vom Netz zu booten und installiert wie in den config-files angegeben Solaris 8. Die Option -v dient dazu, ausführlichere Angaben bei dem Bootvorgang auf den Bildschirm zu schreiben.

Zurück zum Inhaltsverzeichnis

Zurück zurHauptseite


Last modified: Mon Aug 13 16:10:00 MEST 2001