Red Hat Training

A Red Hat training course is available for Red Hat Satellite

Kapitel 11. Cobbler

RHN Satellite ist mit dem Cobbler-Server ausgestattet, der es Administratoren erlaubt, ihre Systeminstallation und Provisioning-Infrastruktur zu zentralisieren. Cobbler ist ein Installationsserver, der die verschiedenen Verfahren zur Durchführung einer unbeaufsichtigten Systeminstallation zusammenbringt, egal ob es sich dabei um Server, Arbeitsplatzrechner, oder Gastsysteme in voll- oder paravirtualisierten Umgebungen handelt.
Cobbler besitzt mehrere Tools, die bei der Installationsvorbereitung, Kickstart-Dateiverwaltung, Installationsumgebungs-Verwaltung, usw. helfen. Die Features von Cobbler umfassen u.a.:
  • Analyse der Installationsumgebung mittels des cobbler check-Befehls
  • Serverkonfiguration an mehreren Installationsstandorten mittels cobbler replicate
  • Erstellung und Verwaltung von Kickstart-Templates mithilfe der Cheetah Template-Engine und Kickstart-Snippets
  • Automatisierung der Gastinstallation auf virtuellen Maschinen mittels des clientseitigen koan-Tools.

11.1. Cobbler-Anforderungen

Um Cobbler als einen PXE Boot-Server zu verwenden, sollten Sie die folgenden Vorgaben beachten:
  • Falls Sie beabsichtigen, Cobbler zur Installation von Systemen mittels PXE einzusetzen, muss tftp-server installiert und konfiguriert sein.
  • Falls Sie beabsichtigen, Cobbler zu verwenden, um Systeme per PXE zu booten für eine Installation, müssen Sie entweder als DHCP-Server für Cobbler PXE Booting fungieren können, oder auf Ihren Netzwerk-DHCP-Server /etc/dhcp.conf zugreifen, um next-server abzuändern auf den Hostnamen oder die IP-Adresse Ihres Cobbler-Servers.

11.1.1. Cobbler konfigurieren mit /etc/cobbler/settings

Die Konfigurierung von Cobbler erfolgt hauptsächlich in der /etc/cobbler/settings-Datei. Die Datei enthält mehrere konfigurierbare Einstellungen und liefert detaillierte Erklärungen für jede Einstellung hinsichtlich der Auswirkungen auf die Funktionsweise von Cobbler, und ob Benutzern empfohlen wird, diese Einstellung für Ihre Umgebung zu ändern.
Die meisten Einstellungen können auf den voreingestellten Werten belassen werden, damit Cobbler wie vorgesehen läuft. Für mehr Informationen über das Konfigurieren der Cobbler-Einstellungen, werfen Sie bitte einen Blick auf die /etc/cobbler/settings-Datei, in der jede Einstellung detailliert dokumentiert ist.

11.1.2. Cobbler und DHCP

Cobbler unterstützt Bare-Metal Kickstart-Installationen von Systemen, die konfiguriert sind für die Ausführung von Netzwerk-Boots unter Verwendung eines PXE-Boot-Servers. Um einen Cobbler Installationsserver ordnungsgemäß zu implementieren, benötigen Administratoren entweder administrativen Zugriff auf den DHCP-Server des Netzwerks, oder sie implementieren DHCP auf dem Cobbler-Server selbst.

11.1.2.1. Konfiguration eines vorhandenen DHCP-Servers

Wenn ein DHCP-Server auf einem anderen System im Netzwerk deployt ist, benötigen Sie administrativen Zugriff auf den DHCP-Server, damit Sie die DHCP-Konfigurationsdatei derart bearbeiten können, dass diese auf den Cobbler-Server und das PXE-Boot-Image verweist.
Bearbeiten Sie als Root auf dem DHCP-Server die /etc/dhcpd.conf-Datei und fügen eine neue Klasse an mit Optionen zum Durchführen einer PXE-Boot-Installation. Zum Beispiel:
allow booting;
allow bootp;
class "PXE" {
match if substring(option vendor-class-identifier, 0, 9) = "PXEClient";
next-server 192.168.2.1;
filename "pxelinux.0";
}
Im Folgenden jede Aktion des o. g. Beispiels Schritt für Schritt:
  1. Der Administrator aktiviert Netzwerk-Booting mit dem bootp-Protokoll.
  2. Anschließend erstellt der Administrator eine Klasse namens PXE. Falls ein System konfiguriert ist, PXE zuoberst in seiner Boot-Priorität zu haben, identifiziert sich diese Klasse als PXEClient.
  3. Danach leitet der DHCP-Server das System zum Cobbler-Server unter 192.168.2.1.
  4. Abschließend ruft der DHCP-Server die pxelinux.0 Bootloader-Datei ab.

11.1.3. Xinetd und TFTP

Xinetd ist ein Daemon, der eine Reihe von Diensten verwaltet, u. a. TFTP, der FTP-Server, der zum Übertragen des Boot-Images an einen PXE-Client verwendet wird.
Um TFTP zu konfigurieren, müssen Sie zunächst den Dienst via Xinetd aktivieren. Bearbeiten Sie dafür die /etc/xinetd.d/tftp-Datei als Root und ändern die Zeile disable = yes auf disable = no.
Bevor TFTP damit beginnen kann, das pxelinux.0-Boot-Image zu übertragen, müssen Sie den Xinetd-Dienst starten.
chkconfig --level 345 xinetd on
/sbin/service xinetd start
Der chkconfig-Befehl schaltet den xinetd-Dienst für alle Benutzer-Runlevel an, während der /sbin/service-Befehl xinetd sofort anschaltet.

11.1.4. Konfigurieren von SELinux und IPTables für Cobbler-Support

Red Hat Enterprise Linux ist mit SELinux-Support installiert, zusätzlich zur standardmäßig aktivierten sicheren Firewall. Um einen Red Hat Enterprise Linux-Server richtig für die Nutzung von Cobbler zu konfigurieren, müssen Sie zunächst diese System- und Netzwerk-Sicherheitsvorkehrungen konfigurieren, um Verbindungen vom und zum Cobbler-Server zu erlauben.

11.1.4.1. SELinux-Konfiguration

Um SELinux für Cobbler-Support zu aktivieren, müssen Sie den SELinux Booleschen Wert einstellen, so dass HTTPD Web-Service-Komponenten erlaubt werden. Führen Sie den folgenden Befehl als Root auf dem Cobbler-Server aus:
 setsebool -P httpd_can_network_connect true
Der -P-Schalter ist entscheidend, denn dadurch werden HTTPD-Verbindungen anhaltend über alle System-Neustarts hinweg aktiviert.
Weiterhin müssen Sie SELinux-Dateikontext-Regeln einstellen, damit gewährleistet ist, dass Cobbler ordnungsgemäß in einem SELinux-System funktioniert.
Führen Sie den folgenden Befehl als Root auf dem Cobbler-Server aus:
semanage fcontext -a -t public_content_t "/tftpboot/.*"
Der Befehl stellt den Dateikontext für TFTP ein, um die Boot-Image-Datei zu liefern.

11.1.4.2. IPTables-Konfiguration

Nachdem Sie SELinux konfiguriert haben, müssen Sie nun IPTables konfigurieren, um eingehenden und ausgehenden Netzwerkverkehr auf dem Cobbler-Server zu erlauben.
Wenn Ihnen mittels IPTables bereits ein Firewall-Regelsatz vorliegt, müssen Sie die folgenden Regeln hinzufügen, um die für Cobbler erforderlichen Ports zu öffnen. Im Folgenden sind die notwendigen Regeln unter den entsprechenden Diensten aufgelistet.
  • Für TFTP:
    /sbin/iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 69 -j ACCEPT
    /sbin/iptables -A INPUT -m state --state NEW -m udp -p udp --dport 69 -j ACCEPT
    
  • Für HTTPD:
    /sbin/iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
    /sbin/iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 443 -j ACCEPT
    
  • Für Cobbler und Koan XMLRPC:
    /sbin/iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 25151 -j ACCEPT
    
Sobald die Firewall-Regeln eingegeben sind, stellen Sie sicher, dass Sie die Firewall-Konfiguration abspeichern:
/sbin/iptables-save

11.1.5. Synchronisation und Starten des Cobbler-Dienstes

Nachdem alle in cobbler check spezifizierten Voraussetzungen Ihren Anforderungen entsprechend konfiguriert wurden, können Sie nun den Cobbler-Dienst starten.
Starten Sie den Satellite Server mit dem folgenden Befehl:
/usr/sbin/rhn-satellite start

Warnung

Starten oder Stoppen Sie den cobblerd-Dienst nicht unabhängig vom Satellite-Dienst, da dies zu Fehlern und diversen Problemen führen kann.
Verwenden Sie immer /usr/sbin/rhn-satellite, um den RHN Satellite zu starten oder zu stoppen.