Cfengine2
Contents
cfengine
Systeembeheer met cfengine is de manier om Linux en Unix systemen geautomatiseerd te onderhouden. De huidige in debian ondersteunde versie van cfengine is cfengine2, versie cfengine3 bestaat reeds maar is er nog niet voor debian.
De leercurve van cfengine is zeer steil en het duurt ook voor een ervaren goed ingevoerde system administrator geruime tijd voordat hij de eerste resultaten boekt. De leercurve is zo steil dat velen na een aanvankelijk enthousiast begin toch weer de shortcuts van handmatige configuratie op de clients nemen en zo noodgedwongen cfengine op de client uitzetten. Men geeft het na een aanvankelijk blijmoedig begin op.
De voorbeelden komen uit Automating UNIX and Linux Administration (http://kaybee.org:81/kirk/aua.html), de sources zijn ook te downloaden van http://www.apress.com.
Hoofdonderwerpen cfengine
Begin gelijk met versiebeheer
Zonder versiebeheer, zelfs met één enkele machine is er geen enkele reden om met cfengine te beginnen. Sommige wijzigingen zorgen ervoor dat het geheel ontregeld raakt, het duurt geruime tijd voordat de systeembeheerder wijzigingen met enige trefzekerheid kan door voeren. Een eerder mooi uitgewerkte configuratie gaat, zeker in het begin, snel verloren.
Multi domein opzet
De ondersteuning van meerdere domeinen vanuit één template configuratie ligt aan de basis van de opzet van cfengine.
Overzicht
- http://www.cfengine.org/manuals/cf3-upgrade.html#Contents
- http://www.cfwiki.org/cfwiki/index.php/Overview
- https://cockpit.webhuis.nl/cfengine2/
- http://sial.org/howto/cfengine/
- http://watson-wilson.ca/blog/cfcookbook.html#SECTION00090000000000000000
- http://sial.org/howto/cfengine/examples/
- http://sial.org/howto/cfengine/classes/
- http://sial.org/howto/cfengine/examples/update.conf
- http://research.iu.hio.no/viewvc/trunk/ChangeLog?view=markup&revision=210&root=Cfengine-2
- http://www.cfengine.org/manuals/cf2-Reference.html#domain
- http://www.cfwiki.org/cfwiki/index.php/Tips,_Tricks_and_Notes
- http://lists.gnu.org/archive/html/help-cfengine/2004-10/msg00083.html
- http://www.cfwiki.org/cfwiki/index.php/Multiple_Domains
- http://www.cfwiki.org/cfwiki/index.php/Cfagent.conf_Explanation_Draft
- http://www.cfwiki.org/cfwiki/index.php/QuickStart
- http://www.cfwiki.org/cfwiki/index.php/LukesCfengineTutorial
- http://www.cfwiki.org/cfwiki/index.php/Tips,_Tricks_and_Notes
- http://research.iu.hio.no/viewvc/trunk/ChangeLog?view=markup&revision=210&root=Cfengine-2
- http://lists.gnu.org/archive/html/help-cfengine/2004-10/msg00083.html
- http://www.linuxplanet.com/linuxplanet/tutorials/5999/3/
- http://sial.org/howto/cfengine/classes/
- http://www.sun.com/bigadmin/features/articles/cfengine_part2.jsp
- http://sunsite.ualberta.ca/Documentation/Gnu/cfengine-1.6.3/cfengine.html
- http://www.debian-administration.org/articles/224
Initiële cfengine2 configuratie
Installatie
De installatie verloopt als volgt:
# apt-get update && apt-get install cfengine2
Client installatie
Kopieer het bestand update.conf van de cfengine2 server naar de te beheren host:
# scp -p /var/lib/cfengine2/masterfiles/PROD/inputs/update.conf <hostname>:/etc/cfengine
Vervolgens op de te beheren host:
# cfagent -v
De rest verloopt voortaan vanzelf.
Server installatie
De scripts voor het bouwen van een van een cfengine2 configuratie staan in ldap-svn.webhuis.nl/cfengine2/cfengine2-bootstrap:
# svn checkout https://ldap-svn.webhuis.nl/cfengine2/cfengine2-bootstrap
Dit levert de volgende bestanden op:
cfengine2:~/cfengine2-bootstrap# ls -l total 8 -rw-r--r-- 1 root root 3586 2010-01-29 22:34 cf.preconf -rwxr-xr-x 1 root root 471 2010-01-29 22:36 make-cfengine2-indirectories.sh cfengine2:~/cfengine2-bootstrap#
Voer eerst het script make-cfengine2-indirectories.sh uit en daarna cf.preconf:
# make-cfengine2-indirectories.sh # bash cf.preconf
Het resultaat is een initiële cfengine2 configuratie.
Terug naar: CFEngine