Cobbler

De wiki.nexiat.fr
Aller à la navigation Aller à la recherche
Fiche express
Domaine Provisioning centralisé (PXE + Kickstart)
Commande cobbler
Paquets cobbler, cobbler-web (dépôt EPEL)
Contexte RHEL/CentOS 6 — orchestre TFTP, DHCP et kickstart depuis un point unique
Voir aussi PXE (boot réseau), Kickstart RHEL6 (fichier ks.cfg généré)

Cobbler est un système de gestion de provisioning qui chapeaute PXE et le kickstart : il génère et sert les menus PXE, distribue les fichiers de configuration TFTP, synchronise les dépôts de paquets et produit les fichiers kickstart à partir de templates. Il évite de gérer à la main la configuration TFTP/DHCP décrite dans PXE et le fichier ks.cfg pour chaque profil de machine.

Installation

rpm -Uvh http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-X-Y.noarch.rpm
yum install cobbler cobbler-web

Configuration

La configuration principale est dans /etc/cobbler/settings. Après toute modification d'un fichier sous /etc/cobbler/, resynchroniser pour régénérer les fichiers PXE/TFTP :

cobbler sync

Gestion des dépôts

cobbler reposync --only=rhel-x86_64-server-6   # synchroniser un dépôt en particulier
cobbler repo list                              # lister tous les dépôts déclarés

Importer une distribution

cobbler check                                                              # vérifier les prérequis (TFTP, DHCP, SELinux...)
cobbler import --mirror=rsync://serveur/chemin/vers/distro --name=rhel6    # importer depuis un miroir rsync
cobbler distro add                                                         # déclarer une distribution manuellement
cobbler profile add                                                        # créer un profil (distro + kickstart)
cobbler system add                                                        # déclarer une machine cible
cobbler sync                                                                # appliquer les changements

Mot de passe sur le menu PXE

Cobbler génère les templates PXE à partir de /etc/cobbler/pxe/pxedefault.template (mot de passe du menu global) et /etc/cobbler/pxe/pxeprofile.template (mot de passe par entrée). Générer le hash à insérer :

openssl passwd -1 -salt sXiKzkus mypassword

pxedefault.template :

DEFAULT menu
PROMPT 0
MENU TITLE Cobbler | http://fedorahosted.org/cobbler
MENU MASTER PASSWD $1$sXiKzkus$haDZ9JpVrRHBznY5OxB82.

TIMEOUT 200
TOTALTIMEOUT 6000
ONTIMEOUT $pxe_timeout_profile

LABEL local
        MENU LABEL (local)
        MENU DEFAULT
        LOCALBOOT 0

$pxe_menu_items

MENU end

pxeprofile.template :

LABEL $profile_name
        MENU PASSWD
        kernel $kernel_path
        $menu_label
        $append_line
        ipappend 2

Après modification des templates, relancer cobbler sync pour régénérer les menus.

Variables kickstart personnalisées

Cobbler peut injecter des variables dans le template kickstart via --ksmeta, référencées ensuite dans ks.cfg avec la syntaxe Cheetah $VARIABLE :

cobbler system add --name=srv01 --profile=rhel6 --ksmeta="KEY=us"

Dans le kickstart généré, la variable est substituée directement :

keyboard $KEY

Côté client : koan

koan (Kickstart Over A Network) est le client qui interroge un serveur Cobbler pour lancer une installation ou créer une VM à partir d'un profil :

koan --server=serveur.exemple.org --profile=RHEL5-i386           # installation physique/PXE
koan --server=serveur.exemple.org --profile=RHEL5-i386 --virt    # création d'une VM libvirt

Documentation complète : http://www.cobblerd.org/manuals/2.4.0/7/1_-_Koan_Basics.html

Économiser l'espace disque

Les distributions importées partagent de nombreux fichiers identiques (paquets communs entre versions/architectures). cobbler hardlink remplace les copies par des hardlinks pour réduire l'espace utilisé :

cobbler hardlink

Détails sur la gestion des paquets et des miroirs : http://www.cobblerd.org/manuals/2.4.0/4/7_-_Package_Management_and_Mirroring.html

Voir aussi

  • PXE — boot réseau et infrastructure TFTP/DHCP sous-jacente
  • Kickstart RHEL6 — structure détaillée d'un fichier kickstart généré par Cobbler