Filebucket-Konfiguration in Puppet

11

Wie konfigurierst und arbeitest du mit deinem Puppet Filebucket?

Ich möchte gerne:

  1. Speichern Sie Datei-Bucket-Daten auf einem einzelnen Server
  2. Sie können den Datei-Bucket bei Bedarf überwachen / analysieren / bereinigen
  3. Stellen Sie sicher, dass Filebucket-Daten sicher zwischen Client-> Master übertragen werden
Robbyt
quelle

Antworten:

16

Nun, in einer Klasse, die von allen meinen Knoten enthalten ist, habe ich:

filebucket { puppet: server => "puppet.example.edu" }

Die Standardeinstellung im Dateityp ist die Sicherung in einem lokalen Dateibucket mit dem Namen "Puppet". Wenn Sie den "Puppet" -Dateibucket in einen Server-Filebucket ändern, erhalten Sie standardmäßig einen serverbasierten Filebucket.

Wenn Sie die Option beibehalten möchten, eine bestimmte Datei zu überschreiben, um einen lokalen Datei-Bucket zu verwenden, können Sie alternativ Folgendes tun:

filebucket { main: server => "puppet.example.edu"; }
File { backup => main }

Weitere Informationen zu Optionen finden Sie unter http://docs.puppetlabs.com/references/latest/type.html#filebucket .

Dies führt Punkt 1 aus, da die Knoten angewiesen werden, alle denselben einzelnen Server für den Filebucket zu verwenden. Artikel 3 ist kostenlos erhältlich, da immer noch alles über eine SSL-basierte Verbindung mit SSL-Zertifikatsüberprüfung läuft.

Filebucket ist vor allem im Falle einer Wiederherstellung nützlich, die wahrscheinlich am selben Tag stattfindet. In diesem Fall sehen Sie sich den Bericht an und verwenden Sie den Befehl " filebucket" oder " puppet filebucket", um den ursprünglichen Inhalt basierend auf der md5sum im Bericht abzurufen.


In Punkt 2 wird es schwierig ...

Ich beschneide es mit einem Skript wie diesem:

find /var/lib/puppet/clientbucket/ -type f -mtime +45 -atime +45 -delete

Dadurch werden alle Elemente entfernt, die älter als 45 Tage sind und auf die in dieser Zeit überhaupt nicht zugegriffen wurde. Die 45 Tage basieren auf unserer Richtlinie zur Sicherung und Aufbewahrung von Sicherungen, da diese für eine Sicherung mit langer Aufbewahrungsdauer ausreicht und uns eine theoretische Wiederherstellungszeit von 18 Monaten bietet.


Welche Art von Analyse suchen Sie? Das Bucket-Setup auf dem Server ist eine von md5sum organisierte Hierarchie. In einem Verzeichnisnamen, der mit md5sum übereinstimmt, gibt es "Pfade", die angeben, welche Datei und welcher "Inhalt" die eigentliche Datei ist. Sie müssen sich die Berichte ansehen, um zu sehen, von welchem ​​System sie stammen.


Ich mache keine Audits. Welche Art von Auditing suchen Sie? Das könnte viele Dinge bedeuten.

freiheit
quelle
Danke, eigentlich ist das sehr hilfreich. Ich wusste nicht, dass die Konfiguration eines zentralen Filebucket-Servers beim Puppetmaster so einfach ist! Es sind einige Tickets für Feature-Anfragen für bessere Filebucket-Verwaltungstools @puppetlabs geöffnet. Scheint, als wäre es im Moment nur ein bisschen unreif. Mein zentraler Filebucket füllt sich jetzt mit Dateien, aber ich habe anscheinend keine Möglichkeit festzustellen, von welchem ​​Host die Dateien stammen. Ihr 1-Liner ist jedoch hilfreich.
Robbyt
Ich denke, wenn mehrere Hosts identische Dateien in den Filebucket aufnehmen, wird dieser nur einmal gespeichert, sodass die Beziehung zwischen Dateien im Filebucket und Hosts nicht einfach ist.
Freiheit
0

Ein Vorschlag wäre, Dateien zu einem Revisionskontrollserver (svn, git) hinzuzufügen. Ich speichere alle Dateien, die mit einem bestimmten Modul korrelieren, im Modulverzeichnis unter / files. Wenn eine Datei geändert wird, wird sie in SVN eingecheckt und über Hooks an den Master gesendet.

Zum Beispiel habe ich ein Modul, das Postfix verwaltet und die Dateien / etc / postfix / virtual an Clients weiterleitet. Diese Dateien werden unter / etc / puppet / modules / postfix / files gespeichert.

Dies gibt Ihnen den Vorteil, dass Sie in Ihren Modulen erstellten Code wiederverwenden und Dateien pro Modul organisieren können.

st3v3o
quelle
2
filebucket! = Dateiserver. Ich habe den gleichen Fehler beim ersten Lesen der Frage gemacht.
Sirex
Ja, ich spreche von der Marionette Filebucket. Das System in Puppet, das ersetzte Dateien in einen Staging-Bereich verschiebt, anstatt sie nur zu löschen. linux.die.net/man/8/filebucket
Robbyt
Eigentlich verstehe ich es auch nicht. Wenn Sie alle Versionen von Konfigurationsdateien in Git Repo haben, warum sollten Sie sich mit FileBucket anlegen? Versehentlich etwas anderes löschen? Das Löschen von etwas anderem ist in Puppet ziemlich explizit. IMHO Filebucket wurde für Leute ohne Versionskontrolle entwickelt.
Art Shayderov
Nein, Filebuckets sind nur zum manuellen Abrufen versehentlich entfernter / überschriebener Dateien nützlich (z. B. suchen Sie im Protokoll nach der MD5-Summe und rufen die Datei mit dieser Summe aus dem Filebucket ab), aber wenn Transaktionen vollständig unterstützt werden, werden Filebuckets verwendet Transaktionen rückgängig machen.
Martijn Heemels