Regelbasierte automatische Installation

In den folgenden Abschnitten werden die grundlegenden Konzepte der regelbasierten automatischen Installation mit AutoYaST vorgestellt. Anhand der Beispielszenarien können Sie eigene benutzerdefinierte Konfigurationen für die automatische Installation erstellen.

Informationen zur regelbasierten automatischen Installation

Die regelbasierte AutoYaST-Installation ermöglicht Ihnen den Einsatz heterogener Hardware-Umgebungen:

  • Gibt es an Ihrem Standort Hardware verschiedener Hersteller?

  • Weisen die Computer an Ihrem Standort eine unterschiedliche Hardware-Konfiguration auf (beispielsweise verschiedene Geräte oder Arbeitsspeicher- und Festplattengrößen)?

  • Beabsichtigen Sie eine Installation über verschiedene Domänen hinweg und müssen Sie zwischen diesen unterscheiden?

Das Ziel der regelbasierten automatischen Installation besteht im Grunde darin, ein benutzerdefiniertes Profil für ein heterogenes Szenario durch Zusammenführung verschiedener Profile zu erstellen. Jede Regel beschreibt hierbei ein bestimmtes Merkmal Ihrer Konfiguration (z. B. die Festplattengröße) und weist AutoYaST an, welches Profil verwendet werden soll, wenn die Regel übereinstimmt. Mehrere Regeln, die die verschiedenen Merkmale Ihrer Konfiguration beschreiben, werden in einer AutoYaST-Datei namens rules.xml zusammengefasst. Der Regelstapel wird dann verarbeitet und AutoYaST generiert das endgültige Profil durch Zusammenführen der verschiedenen Profile, die mit den AutoYaST-Regeln übereinstimmen. Eine Illustration dieses Vorgangs finden Sie unter Abschnitt 5.2.2, „Beispielszenario für die regelbasierte automatische Installation“.

Die regelbasierte AutoYaST-Installation bietet Ihnen große Flexibilität bei der Planung und Durchführung der SUSE Linux Enterprise-Implementierung. Sie haben folgende Möglichkeiten:

  • Regeln für die Übereinstimmung mit den vordefinierten Systemattributen in AutoYaST erstellen

  • Mehrere Systemattribute (wie die Festplattengröße und die Kernel-Architektur) mithilfe logischer Operatoren zu einer Regel zusammenfassen

  • Durch Ausführung von Shell-Skripten und die Übergabe des Ergebnisses an das AutoYaST-Framework benutzerdefinierte Regeln erstellen Die Anzahl der benutzerdefinierten Regeln ist auf fünf beschränkt.

[Note]

Weitere Informationen zur Erstellung und Verwendung von Regeln mit AutoYaST finden Sie in der Dokumentation zum Paket unter /usr/share/doc/packages/autoyast2/html/index.html im Kapitel Regeln und Klassen.

Zur Vorbereitung einer regelbasierten AutoYaST-Masseninstallation gehen Sie wie folgt vor:

  1. Erstellen Sie mehrere AutoYaST-Profile mit den erforderlichen Installationsdetails für Ihre heterogene Konfiguration, wie unter Abschnitt 5.1.1, „Erstellen von AutoYaST-Profilen“ beschrieben.

  2. Definieren Sie Regeln für die Übereinstimmung der Systemattribute Ihrer Hardware-Konfiguration (siehe Abschnitt 5.2.2, „Beispielszenario für die regelbasierte automatische Installation“).

  3. Legen Sie die Quelle für das AutoYaST-Profil und den Parameter fest, der wie in Abschnitt 5.1.2, „Verteilen des Profils und Festlegen der autoyast-Parameter“ beschrieben an die Installationsroutinen weitergegeben wird.

  4. Bestimmen Sie die Quelle für die SUSE Linux Enterprise-Installationsdaten, wie unter Abschnitt 5.1.3, „Bereitstellung der Installationsdaten“ beschrieben.

  5. Übergeben Sie die Kommandozeile an die Installationsroutinen, indem Sie die Parameter manuell hinzufügen oder eine info-Datei erstellen (siehe Abschnitt 5.1.5, „Erstellen der info-Datei“).

  6. Richten Sie das Boot-Szenario für die automatische Installation, wie unter Abschnitt 5.1.4, „Einrichten des Boot-Szenarios“ beschrieben ein.

  7. Starten Sie die automatische Installation, wie unter Abschnitt 5.1.6, „Initialisierung und Überwachung der automatischen Installation“ beschrieben.

Beispielszenario für die regelbasierte automatische Installation

Zur Erlangung eines Grundverständnisses der Vorgehensweise für die Erstellung von Regeln sollten Sie das folgende Beispiel beachten, das unter Abbildung 5.2, „AutoYaST-Regeln“ dargestellt ist. In einem AutoYaST-Durchlauf wird die folgende Konfiguration installiert:

Ein Druckserver

Dieser Computer erfordert nur eine minimale Installation ohne Desktop-Umgebung sowie einen eingeschränkten Satz von Softwarepaketen.

Arbeitsstationen in der technischen Abteilung

Diese Computer benötigen eine Desktop-Umgebung und eine breite Palette von Entwicklungssoftware.

Laptops in der Verkaufsabteilung

Diese Computer benötigen eine Desktop-Umgebung und eine eingeschränkte Palette spezialisierter Anwendungen, wie Büro- und Terminverwaltungsprogramme.

Abbildung 5.2. AutoYaST-Regeln

AutoYaST-Regeln

Verwenden Sie in einem ersten Schritt eine der unter Abschnitt 5.1.1, „Erstellen von AutoYaST-Profilen“ beschriebenen Methoden, um Profile für jeden Anwendungsfall zu erstellen. In diesem Beispiel würden Sie die Profile print.xml, engineering.xml und sales.xml erstellen.

Im zweiten Schritt erstellen Sie Regeln für die Unterscheidung der drei Hardwaretypen sowie um AutoYaST anzuweisen, welches Profil verwendet werden soll. Verwenden Sie zur Erstellung der Regeln einen Algorithmus, der dem folgenden ähnelt:

  1. Hat der Computer die IP-Adresse 192.168.27.11? Dann mache ihn zum Druckserver.

  2. Verfügt der Computer über PCMCIA-Hardware und einen Intel-Chipsatz? Dann betrachte ihn als Intel-Laptop und installiere darauf die Software-Auswahl für die Verkaufsabteilung.

  3. Wenn keine dieser Bedingungen wahr ist, betrachte den Computer als Entwickler-Arbeitsstation und installiere ihn entsprechend.

Dies kann, grob umrissen, in eine Datei namens rules.xml mit folgendem Inhalt übersetzt werden:

<?xml version="1.0"?>
<!DOCTYPE autoinstall SYSTEM "/usr/share/autoinstall/dtd/rules.dtd"> 
<autoinstall xmlns="http://www.suse.com/1.0/yast2ns" xmlns:config="http://www.suse.com/1.0/configns">
  <rules config:type="list">
    <rule>
       <hostaddress>
	    <match>192.168.27.11</match>
            <match_type>exact</match_type>
       </hostaddress>
       <result>
            <profile>print.xml</profile>
            <continue config:type="boolean">false</continue>
        </result>
    </rule>
    <rule>
       <haspcmcia>
            <match>1</match>
            <match_type>exact</match_type>
       </haspcmcia>
       <custom1>
           <script>
if grep -i intel /proc/cpuinfo > /dev/null; then
echo -n "intel"
else
echo -n "non_intel"
fi;
           </script>
           <match>*</match>
           <match_type>exact</match_type>
       </custom1>
       <result>
            <profile>sales.xml</profile>
            <continue config:type="boolean">false</continue>
        </result>
        <operator>and</operator>
    </rule>
    <rule>
        <haspcmcia>
            <match>0</match>
            <match_type>exact</match_type>
        </haspcmcia>
 	<result>
            <profile>engineering.xml</profile>
            <continue config:type="boolean">false</continue>
        </result>
    </rule>
  </rules>
</autoinstall>

Stellen Sie bei der Verteilung der Regeldatei sicher, dass sich das Verzeichnis rules unterhalb des Verzeichnisses profiles befindet, das in der URL autoyast=protocol:serverip/profiles/ angegeben ist. AutoYaST sucht nach einem Unterverzeichnis namens rules, das eine Datei namens rules.xml enthält, lädt dann die in der Regeldatei angegebenen Profile und führt sie zusammen.

Der Rest des Verfahrens zur automatischen Installation wird wie üblich ausgeführt.