Je größer die Anzahl der Server wird, desto schwieriger wird es alle Systeme synchron zu halten. Bei der Installation ist dies noch über einen zentralen Installationsserver möglich der einen fest definierten System und Paketzustand abbildet. Bei Konfigurationsänderungen oder Paketinstallationen vergisst man allerdings sehr leicht alle Systeme des gleichen Typs z.B. alle Knoten eines Mailserverclusters mit anzupassen.
Eine zentrale Stelle für Konfigurationsdateien verhindert diesen Wildwuchs. Die Konfigurationen oder Paketlisten werden einmal an einer Stelle geändert und alle Systeme, die zum Erhalt der Dateien oder Pakete konfiguriert sind erhalten die neue Ausführung kurze Zeit später.
Ein Open-Source-Tool für diesen Zweck ist Puppet, das auf allen Unix-artigen Systemen lauffähig ist. Die Konfigurationsmöglichkeiten erstrecken sich somit z.B. auch auf Apple-Rechner mit MacOS X. Im Gegensatz zum bisherigen Platzhirsch cfengine ist Puppet noch nicht so verbreitet und bekannt, allerdings bietet es viele Features die mit cfengine nicht oder nur umständlich zu realisieren sind.
Unter anderem ist es cfengine in folgenden Punkten überlegen:

  • (wahlweise zentrales) Backup geänderter Dateien
  • Verwaltung von Benutzern und Gruppen
  • Erweiterbarkeit durch eigene Plugins, die vom Server verteilt werden
  • integrierter Fileserver für Konfigurations-Dateien

Leider lassen sich mit Puppet aktuell noch keine Windows-Server verwalten. Dafür sind die Konfigurationsdateien für den unbedarften Admin aber auch leichter lesbar als die (mehr oder weniger) kryptische Konfiguration von cfengine.
In unserer Server-Umgebung konnten so die Zeiten zum Abgleichen der Systeme, Aktivieren neuer Konfigurationen oder Installation von Paketen auf ein Minimum reduziert werden. Gerade bei lastverteilten oder hochverfügbaren Systemen bei denen Konfigurationsfehler auf einem einzelnen Server unter Umständen erst einige Zeit später auffallen, wird die Installation und Wartung sehr vereinfacht zusätzlich lässt sich durch das zentrale Konfigurationsmanagement die Qualität der erbrachten Dienstleistungen steigern.
Update: Inzwischen haben wir auch auf unseren Webseiten Infos zu Puppet online