De meeste Red Hat systeembeheerders zullen wel ervaring hebben met Kickstart, Red Hats tool voor automatische installaties. Hiermee kun je heel eenvoudig een speciaal aangepaste installatie uitrollen. Het project Cobbler gaat nog een paar stappen verder: het is een "universele bootserver". Cobbler maakt deel uit van Spacewalk en zo ook dus van Red Hat Network Satellite.

Cobbler verzamelt alle elementen voor een netwerkbootserver, zoals een PXE-server, TFTP-server, DHCP-server en installatiebronnen. Dat laat een snelle setup van een omgeving voor netwerkinstallaties toe. Het enige wat je hoeft te doen is Cobbler installeren, de installatiebronnen van de installatie-DVD of publieke mirror klaarzetten en de installatie starten op de client, bijvoorbeeld een computer of virtuele machine die van PXE kan booten. Cobbler ondersteunt virtuele machines in Xen, Qemu, KVM en sommige varianten van VMware. Je krijgt dan op de client een aantal vensters te zien waarin je de installatie configureert. Maar uiteraard kun je ook volledig geautomatiseerde installaties uitvoeren, bijvoorbeeld met Kickstart-templates.

Cobbler kan ook bijkomende taken uitvoeren, zoals een DNS-server of een mirror van een package repository. Het heeft een (eenvoudig) ingebouwd configuratiebeheersysteem, maar ondersteunt ook integratie met andere configuratiebeheersystemen zoals Puppet.

Aan de slag

Op de bootserver is Cobbler eenvoudig te installeren, als het om een Fedora-server gaat:

# yum install cobbler

Op Red Hat Enterprise Linux en CentOS moet je eerst nog de repository Extras Packages For Enterprise Linux toevoegen. Instructies hiervoor zijn te vinden op de Cobbler-wiki.

De configuratie van Cobbler gebeurt vooral in /etc/cobbler/settings. We geven hier bijvoorbeeld de naam in waaronder de server bereikbaar is voor andere computers. Dit kan een korte naam zijn, een FQDN of een IP-adres. Als je Cobbler ook PXE en DHCP wilt laten beheren, dan vul je hetzelfde in voor de variabele next_server. In dat geval maken we ook een configuratiebestand voor DHCP aan in /etc/cobbler/dhcp.template. Cobbler installeert zelf al een voorbeeldbestand, dat je aan je omgeving kunt aanpassen.

Cobbler komt met een handige optie die controleert wat je nog moet configureren om een werkende installatieserver te krijgen:

# cobbler check

Zo waarschuwt het programma je als je Cobbler nog moet configureren, TFTPd nog moet opzetten, firewallregels moet aanpassen en de Cobbler-daemon moet starten.

Profielen

Het interessantste is natuurlijk de mogelijkheid om profielen aan te maken voor een volledig automatische installatie. Dat kan met het import-commando. Dit importeert een image van een CD-ROM die je op /media/cdrom aangekoppeld hebt, een lokale kopie of een online image op bijvoorbeeld een rsync-server. Het import-commando kopieert alle benodigde RPM-bestanden naar de root-directory van je webserver (standaard /var/www/cobbler) en de install-kernel en ramdisk naar de tftpboot-directory (/var/lib/tftpboot/pxelinux.cfg/). Het commando genereert ook Yum-configuratiebestanden en een Cobbler-profiel.

# cobbler import –-name=CentOS5.4 –-mirror=/media/cdrom

Zorg er wel voor dat je genoeg vrije ruimte hebt in /var, want de hele mirror wordt hierin opgeslagen. Dat importeren kan eventjes duren. Cobbler maakt de mirror ook toegankelijk als repository, zodat je later in de clients extra software kunt installeren via yum.

Met het volgende commando krijg je te zien welke distributies en profielen Cobbler kent:

# cobbler list

Met "cobbler distro add" en "cobbler profile add" voeg je distributies respectievelijk profielen toe.

In de volgende stap voeg je met Cobbler een systeem toe en geef je het eventueel al een MAC-adres, hostnaam en netwerkconfiguratie:

# cobbler system add --name=server1 --profile=CentOS5.4-i386 --mac=AA:BB:CC:DD:EE:FF

Toegevoegde systemen kun je opvragen met "cobbler system list".

Wanneer de Cobbler-server eenmaal draait, start je de host op en stel je in de BIOS-instellingen van de computer PXE in als eerste opstartapparaat. De computer zal dan een IP-adres vragen en een antwoord van je DHCP-server krijgen. Daarna krijg je een opdrachtregel te zien, waarna je "menu" intypt om je profiel te kiezen. Heb je bij het toevoegen van het systeem met "cobbler system add" een specifiek profiel aan het MAC-adres gekoppeld, dan wordt dit al voorgeselecteerd.

Het loont overigens de moeite om specifieke profielen voor je eigen situatie aan te maken, zoals een profiel voor een webserver of voor een databaseserver. Een profiel aanmaken op basis van een ander profiel gaat als volgt:

# cobbler profile copy --name=CentOS5.4-i386 --newname=webserver

Nu hebben we gewoon een standaard CentOS 5.4-systeem als profiel, maar we kunnen de inhoud van het profiel bekijken om te onderzoeken wat we kunnen aanpassen:

# cobbler profile report --name=webserver

In de uitvoer vind je onder andere de locatie van het Kickstart-bestand, waarin de configuratie van de server gedefinieerd staat. We kopiëren dit bestand eerst voor we dit gaan aanpassen:

# cp /var/lib/cobbler/kickstarts/sample.ks /var/lib/cobbler/kickstarts/webserver.ks

Voeg dan de gewenste pakketten toe. Daarna verwijzen we naar het nieuwe Kickstart-template in het profiel webserver:

# cobbler profile edit --name=webserver --kickstart=/var/lib/cobbler/kickstarts/webserver.ks

Koan

Een tool die Cobbler aanvult is Koan (yum install koan), dat de clientkant voor virtuele machines en herinstallaties verzorgt. Je kunt op de client bijvoorbeeld beschikbare profielen opvragen:

# koan –-server=cobbler.example.org –-list=profiles

En de herinstallatie volgens een specifiek profiel starten:

# koan –-replace-self –-server=cobbler.example.org --profile=RHEL5-xen-i386

Hierbij downloadt koan een kernel en initrd en configureert GRUB om hiervan op te starten. Daarna reboot je:

# reboot

En nu begint de machine alle benodigde bestanden van de Cobbler-server te downloaden en zichzelf te herinstalleren. Koan kan overigens ook virtuele machines voor Xen, KVM en VMware creëren.

En verder

Cobbler heeft een webinterface die je toelaat om heel wat taken in de browser uit te voeren. Cobbler kan bovendien geïnstalleerd worden op andere distributies en kan ook andere distributies installeren, maar dit is niet officieel ondersteund en werkt vaak iets omslachtiger. Details hierover zijn te vinden op de wiki. Documentatie over Cobbler is overvloedig te vinden op de wiki van het project, evenals in de man-pagina van de commando's cobbler en koan.

Bron: Techworld