Springe zum Hauptinhalt
Universitätsrechenzentrum
CFengine

ToSCA: CFengine

Cfengine ist ein Policy-basiertes Softwaresystem zur automatisierten Verwaltung der Konfiguration von Hosts. Ein Cfengine -Programm beschreibt den gewünschten Endzustand einer Host-Konfiguration entsprechend der festgelegten Policy. Cfengine -Skripte können im Regelfall beliebig oft ausgeführt werden, das Ergebnis ist unabhängig vom Ausgangszustand des Systems immer gleich (idempotent). Wenn die Konfiguration des Systems der spezifierten Policy entspricht, dann wird das Cfengine -Script überhaupt nichts tun.

Auf Grundlagen eines Klassenkonzepts und klassen-basierter Entscheidungsstrukturen kann gesichert werden, dass Rechner mit gleicher Funktion und Einsatzzweck, z.B.
  • alle Systeme eines Clusters
  • Rechner eines Ausbildungspools
  • Serverfarmen usw.
konsistent konfiguriert sind.

Cfengine wurde von Mark Burgess am Oslo University College entwickelt. Cfengine wird weltweit für Millionen von Rechnersystemen eingesetzt, insbesondere in Einrichtungen mit mehren hundert bis mehreren tausend Hosts.

Innerhalb von ToSCA ist Cfengine eine Basistechnologie. Praktisch alle durch das URZ der TU Chemnitz betriebenen Rechnersysteme werden mittels Cfengine administriert.

Merkmale von Cfengine

  • liefert eine betriebssystemunabhängig Schnittstelle für UNIX-artige Hosts
  • ist portabel, läuft u.a. auch unter Windows (Cygwin)
  • erfordert ein gewisses Expertenwissen über die Besonderheiten der jeweiligen Betriebssysteme
  • eine Programmiersprache auf sehr hohem Sprachniveau: einzelne Anweisungen können Hunderte von Aktionen auslösen
  • Klassenkonzept und klassen-basierte Entscheidungsstrukturen
  • ein Cfengine-Programm kann z.B.
    • Files kopieren
    • Shell-Scripte und Kommandos ausführen
    • Zugriffsrechte und Eigentümerangaben von Files prüfen und setzen
    • symbolische Links prüfen und einrichten
    • Files löschen
    • Signale an Prozesse schicken
    • Netz-Schnittstellen prüfen und konfigurieren
    • ACSII-Files editieren

Literatur