Cobbler
| 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