Snapshot Lifecycle Management: automatisierte Backups einrichten
AI generated
_doc
_index
Elasticsearch / Backup
Snapshot Lifecycle Management: automatisierte Backups einrichten
Zeitplan, Repository-Konfiguration und der Restore-Test als Pflichtübung

Manuelle Snapshots funktionieren so lange gut, bis jemand vergisst, sie auszuführen, oder bis niemand mehr weiß, welcher Snapshot tatsächlich brauchbar ist. Snapshot Lifecycle Management löst dieses Problem, indem es Snapshots nach einem festen Zeitplan erstellt, alte Snapshots automatisch nach klaren Aufbewahrungsregeln bereinigt und den gesamten Prozess über eine zentrale Richtlinie steuerbar macht. Trotzdem bleibt ein Backup nur so gut wie sein letzter erfolgreicher Restore-Test, den auch SLM niemandem abnimmt.

10 Min. Lesezeit SLM-Policy-Aufbau Repository-Konfiguration Restore-Test-Disziplin

1. Warum manuelle Snapshots als Backup-Strategie nicht ausreichen

Ein manuell ausgeführter Snapshot ist im Grunde ein einmaliger Akt guten Willens, kein verlässlicher Prozess. Sobald die Verantwortung für regelmäßige Sicherungen an eine Person oder ein Cron-Skript ohne zentrale Überwachung delegiert wird, entstehen typische Lücken: ein vergessener Snapshot vor einem größeren Deployment, ein fehlgeschlagener Snapshot, dessen Fehlermeldung niemand gesehen hat, oder ein Repository, das über Monate keine Bereinigung erfährt und irgendwann den verfügbaren Speicherplatz sprengt.

Snapshot Lifecycle Management verlagert diese Verantwortung vom einzelnen Menschen in eine deklarative, vom Cluster selbst ausgeführte Richtlinie. Damit wird aus einer fehleranfälligen, manuellen Routine ein reproduzierbarer, überwachbarer Prozess, der nach einem festen Zeitplan läuft, unabhängig davon, ob gerade jemand daran denkt oder nicht, und der zusätzlich alte Snapshots nach klar definierten Regeln automatisch entfernt.

2. Snapshot-Repository einrichten: Objekt-Speicher versus gemeinsames Dateisystem

Bevor eine SLM-Richtlinie überhaupt greifen kann, braucht der Cluster ein registriertes Repository als Ziel für die Snapshots. In der Praxis dominieren zwei Varianten: ein S3-kompatibles Objekt-Speicher-Repository für Cloud-Umgebungen und ein gemeinsames Dateisystem-Repository, das von allen Cluster-Knoten unter demselben Pfad eingehängt sein muss, für On-Premises-Setups. Beide Varianten erfordern das jeweils passende Repository-Plugin sowie korrekt gesetzte Zugriffsrechte, ohne die jeder Snapshot-Versuch mit einer Berechtigungsfehlermeldung scheitert.

Ein S3-Repository bringt zusätzlich Vorteile bei Skalierung und Ausfallsicherheit mit, da Objekt-Speicher unabhängig von der Cluster-Infrastruktur existiert und meist bereits über eine eigene Redundanz verfügt. Ein Dateisystem-Repository ist dagegen einfacher einzurichten, verlangt aber eine sorgfältige, eigene Absicherung gegen Datenverlust, etwa durch RAID oder eine zusätzliche externe Spiegelung, da ein Ausfall des zugrunde liegenden Speichers sonst sowohl den Cluster als auch dessen Sicherungen gleichzeitig betreffen kann.


PUT _snapshot/s3-backup-repo
{
  "type": "s3",
  "settings": {
    "bucket": "meinshop-es-snapshots",
    "region": "eu-central-1",
    "base_path": "produktion/backups",
    "server_side_encryption": true
  }
}

3. SLM-Policy-Grundstruktur: Zeitplan, Name-Muster und Konfiguration

Eine SLM-Richtlinie definiert vier zentrale Bausteine: einen Cron-basierten Zeitplan, ein Namensmuster für die erzeugten Snapshots, das Ziel-Repository und optional eine Konfiguration, welche Indizes eingeschlossen werden sollen. Das Namensmuster kann Datumsvariablen enthalten, sodass jeder Snapshot automatisch einen eindeutigen, chronologisch sortierbaren Namen erhält, etwa daily-snap-2026.08.08, ohne dass dafür zusätzliche Logik außerhalb der Richtlinie nötig wäre.

Die Indexauswahl lässt sich über Muster oder explizite Listen steuern, wobei es sich in der Praxis meist lohnt, systemkritische Indizes wie den Kibana-Konfigurationsindex bewusst mit einzuschließen, da ein Wiederherstellungsszenario ohne diese Indizes zwar die Daten, aber nicht die zugehörigen Visualisierungen und Dashboards zurückbringen würde. Eine bewusste, dokumentierte Auswahl ist hier wichtiger als eine pauschale Regel für alle Indizes.


PUT _slm/policy/daily-snapshots
{
  "schedule": "0 30 1 * * ?",
  "name": "<daily-snap-{now/d}>",
  "repository": "s3-backup-repo",
  "config": {
    "indices": ["*", "-.monitoring*"],
    "include_global_state": true
  },
  "retention": {
    "expire_after": "30d",
    "min_count": 5,
    "max_count": 50
  }
}

4. Retention-Regeln im Detail: expire_after, min_count und max_count

Die Retention-Konfiguration einer SLM-Richtlinie steuert, wie viele alte Snapshots aufbewahrt werden, bevor sie automatisch gelöscht werden. Das Feld expire_after legt eine reine Zeitgrenze fest, nach deren Ablauf ein Snapshot grundsätzlich zum Löschen vorgesehen ist. Die Felder min_count und max_count greifen ergänzend ein: min_count verhindert, dass zu wenige Snapshots übrig bleiben, selbst wenn die Zeitgrenze längst überschritten ist, während max_count eine harte Obergrenze setzt, unabhängig vom Alter.

Diese drei Regeln zusammen verhindern zwei entgegengesetzte Probleme: einerseits ein unkontrolliertes Anwachsen des Repositories durch nie gelöschte Snapshots, andererseits ein versehentliches Löschen aller Sicherungen, falls die Snapshot-Erstellung für längere Zeit ausfällt und dadurch kein neuer Snapshot nachrückt. Ein typisches Muster für produktive Cluster hält Snapshots dreißig Tage vor, garantiert aber mindestens fünf, selbst wenn diese älter als dreißig Tage sind.

5. Snapshot-Ausführung überwachen mit der SLM Stats API

Da SLM-Richtlinien im Hintergrund laufen, ist eine regelmäßige Prüfung des Ausführungsstatus unverzichtbar. Die SLM Stats API sowie die Get-Policy-API liefern Informationen über den letzten erfolgreichen Lauf, den letzten fehlgeschlagenen Lauf inklusive Fehlermeldung sowie kumulierte Zähler für erfolgreiche und fehlgeschlagene Ausführungen seit dem letzten Neustart des Clusters. Diese Werte sollten fester Bestandteil eines Monitoring-Dashboards sein, nicht etwas, das nur bei Verdacht manuell nachgeschaut wird.

Ein besonders tückisches Fehlerbild ist ein Snapshot, der zwar startet, aber wegen eines konkurrierenden, bereits laufenden Snapshots übersprungen wird. Da SLM standardmäßig immer nur einen Snapshot gleichzeitig pro Repository zulässt, kann ein ungewöhnlich lange laufender Snapshot dazu führen, dass mehrere geplante Läufe in Folge ausfallen, ohne dass dies ohne aktives Monitoring auffällt, bis am Ende schlicht kein aktueller Snapshot mehr existiert.

6. Der Restore-Test als Pflichtübung statt Backup-Illusion

Ein Snapshot, der erfolgreich erstellt wurde, beweist nur, dass der Schreibvorgang funktioniert hat, nicht, dass eine Wiederherstellung tatsächlich gelingt. Beschädigte Repository-Metadaten, fehlende Berechtigungen für den Lesezugriff oder ein inkompatibles Cluster-Ziel fallen bei der Erstellung oft gar nicht auf, sondern erst im Ernstfall, wenn es bereits zu spät ist. Ein regelmäßiger, dokumentierter Restore-Test in eine separate Testumgebung ist deshalb kein optionaler Bonus, sondern der einzige Beweis dafür, dass eine Backup-Strategie tatsächlich funktioniert.

In der Praxis bewährt sich ein monatlicher Restore-Test, bei dem ein zufällig gewählter, aktueller Snapshot in einen isolierten Testcluster eingespielt und stichprobenartig auf Vollständigkeit und Konsistenz der Daten geprüft wird. Wer diesen Test überspringt, verlässt sich auf eine reine Vermutung, dass die Backups im Ernstfall funktionieren würden, und genau diese Vermutung erweist sich in der Praxis regelmäßig als der teuerste Fehler im gesamten Sicherungskonzept.


# Snapshot in einen separaten Test-Cluster einspielen
curl -X POST "test-cluster:9200/_snapshot/s3-backup-repo/daily-snap-2026.08.08/_restore" \
  -H 'Content-Type: application/json' -d '{
    "indices": "produktkatalog-*",
    "rename_pattern": "(.+)",
    "rename_replacement": "restored_$1",
    "include_global_state": false
  }'

7. Cross-Cluster-Replikation als Ergänzung, nicht als Ersatz für Snapshots

Manche Teams verwechseln Cross-Cluster-Replikation mit einer Backup-Lösung, weil beide Mechanismen Daten redundant vorhalten. Der entscheidende Unterschied liegt in der Fehlerausbreitung: Eine versehentliche Löschung oder eine korrupte Indexierung wird über die Replikation nahezu in Echtzeit auf den Zielcluster übertragen, sodass beide Cluster denselben fehlerhaften Zustand zeigen. Ein Snapshot dagegen ist ein Zeitpunkt-Abbild, das von genau diesem Problem unberührt bleibt, solange der Fehler nach der Snapshot-Erstellung passiert ist.

Für ein vollständiges Sicherungskonzept ergänzen sich beide Mechanismen: Cross-Cluster-Replikation reduziert die Wiederherstellungszeit bei einem kompletten Rechenzentrumsausfall, während SLM-gesteuerte Snapshots vor logischen Fehlern wie versehentlichen Löschungen, fehlerhaften Bulk-Updates oder Ransomware-Szenarien schützen. Wer nur auf Replikation setzt, verzichtet bewusst oder unbewusst auf genau diesen zweiten Schutzmechanismus.

8. Fehlerbehandlung bei fehlgeschlagenen Snapshots

Ein fehlgeschlagener Snapshot ist meist ein Symptom eines tieferliegenden Problems: volles Repository, fehlende Netzwerkverbindung zum Objekt-Speicher, abgelaufene Zugriffsschlüssel oder Shards, die sich gerade in Relokation befinden und deshalb nicht konsistent gesichert werden können. Die Snapshot-Status-API liefert für jeden fehlgeschlagenen Versuch eine detaillierte Fehlermeldung pro betroffenem Shard, was die Ursachensuche deutlich beschleunigt, sofern diese Meldungen tatsächlich ausgewertet werden.

Ein bewährtes Muster ist eine Alarmierung, die bei zwei aufeinanderfolgenden fehlgeschlagenen SLM-Läufen automatisch eskaliert, statt erst bei einem völligen Ausbleiben von Snapshots über mehrere Wochen zu reagieren. Da SLM standardmäßig weiterläuft und den nächsten Lauf einfach zum vorgesehenen Zeitpunkt erneut versucht, bleibt ein wiederholt scheiternder Snapshot ohne aktive Alarmierung leicht über längere Zeit unbemerkt.

9. Repository-Integrität prüfen und verwaiste Daten aufräumen

Ein Snapshot-Repository sollte regelmäßig auf strukturelle Konsistenz geprüft werden, statt sich blind auf erfolgreiche Snapshot-Meldungen zu verlassen. Die Verify-Repository-API lässt jeden Cluster-Knoten prüfen, ob er tatsächlich lesend und schreibend auf das Repository zugreifen kann, und deckt damit frühzeitig Konfigurationsfehler auf, etwa einen Knoten mit fehlenden Zugriffsrechten, der sonst erst bei einem konkreten Snapshot- oder Restore-Versuch auffallen würde.

Zusätzlich können durch abgebrochene Snapshot-Löschungen oder unterbrochene Uploads verwaiste Datenfragmente im Repository zurückbleiben, die weder von einem aktuellen noch von einem historischen Snapshot referenziert werden, aber weiterhin Speicherplatz und damit Kosten verursachen. Die Cleanup-API räumt genau diese verwaisten Fragmente auf, ohne dabei referenzierte, gültige Snapshots zu gefährden, und sollte deshalb in regelmäßigen Abständen als eigener, von der eigentlichen SLM-Richtlinie unabhängiger Wartungsschritt eingeplant werden.


curl -X POST "localhost:9200/_snapshot/s3-backup-repo/_verify"
curl -X POST "localhost:9200/_snapshot/s3-backup-repo/_cleanup"
Repository-Typ Einsatzbereich Redundanz Setup-Aufwand
S3 / Objekt-Speicher Cloud-Umgebungen durch Anbieter integriert gering, Plugin plus IAM-Rechte
Gemeinsames Dateisystem On-Premises muss selbst aufgebaut werden mittel, gemeinsamer Mount nötig
Azure Blob Storage Azure-Umgebungen durch Anbieter integriert gering, Plugin plus Zugangsdaten
Google Cloud Storage GCP-Umgebungen durch Anbieter integriert gering, Plugin plus Service-Account

Mironsoft

Suchindex-Setup, Relevanz-Tuning und Magento-Suche

Magento-Suche, die die falschen Produkte zuerst zeigt?

Wir richten Elasticsearch oder OpenSearch für Magento sauber ein, tunen Relevanz und Facetten auf das tatsächliche Sortiment und optimieren Indexierungsprozesse für große Kataloge.

Relevanz-Tuning

Suchergebnisse und Facetten auf die tatsächlichen Kundenbedürfnisse abstimmen.

Such-Migration

Umstieg von Solr oder MySQL-Suche auf Elasticsearch/OpenSearch sauber begleiten.

Index-Performance

Indexierungsprozesse für große Kataloge zuverlässig und performant gestalten.

10. Zusammenfassung

SLM in Elasticsearch: Das Wichtigste auf einen Blick

Kernprinzip

SLM erstellt Snapshots nach Zeitplan und bereinigt alte automatisch, statt sich auf manuelle Routine zu verlassen.

Repository-Wahl

S3-kompatibler Objekt-Speicher eignet sich für Cloud-Setups, gemeinsames Dateisystem für On-Premises.

Retention-Logik

expire_after, min_count und max_count zusammen verhindern sowohl Repository-Überlauf als auch versehentlichen Totalverlust.

Restore-Pflicht

Nur ein regelmäßiger, dokumentierter Restore-Test beweist, dass ein Backup im Ernstfall tatsächlich funktioniert.

11. FAQ: SLM in Elasticsearch: Das Wichtigste auf einen Blick

1Wie unterscheidet sich SLM von einem manuellen Snapshot?
SLM führt Snapshots nach einem festen Zeitplan automatisch aus und bereinigt alte Snapshots nach definierten Regeln, ohne dass jemand manuell eingreifen muss.
2Welches Repository eignet sich für Cloud-Umgebungen?
Ein S3-kompatibles Objekt-Speicher-Repository ist die übliche Wahl, da es unabhängig vom Cluster existiert und meist bereits über eigene Redundanz verfügt.
3Was bewirkt expire_after in der Retention-Konfiguration?
Es legt fest, nach welcher Zeitspanne ein Snapshot grundsätzlich zum Löschen vorgesehen ist, sofern min_count nicht dagegen spricht.
4Warum reicht ein erfolgreich erstellter Snapshot nicht als Beweis?
Die erfolgreiche Erstellung zeigt nur, dass der Schreibvorgang funktioniert hat. Ob eine Wiederherstellung tatsächlich gelingt, zeigt erst ein durchgeführter Restore-Test.
5Kann Cross-Cluster-Replikation Snapshots ersetzen?
Nein, Replikation überträgt auch fehlerhafte Zustände wie versehentliche Löschungen nahezu in Echtzeit. Snapshots als Zeitpunkt-Abbild bleiben davon unberührt und ergänzen die Replikation.
6Wie oft sollte ein Restore-Test durchgeführt werden?
Ein monatlicher Restore-Test in eine isolierte Testumgebung hat sich in der Praxis als sinnvoller Rhythmus etabliert.
7Was passiert, wenn zwei Snapshots gleichzeitig starten sollen?
SLM lässt standardmäßig nur einen Snapshot gleichzeitig pro Repository zu, ein bereits laufender Snapshot führt zum Überspringen des nächsten geplanten Laufs.
8Wie erkennt man fehlgeschlagene SLM-Läufe frühzeitig?
Über die SLM Stats API sowie eine Alarmierung, die bereits bei zwei aufeinanderfolgenden Fehlschlägen greift, statt erst bei völligem Ausbleiben von Snapshots.
9Sollte man den Kibana-Konfigurationsindex mitsichern?
Ja, ohne diesen Index bringt ein Restore zwar die Rohdaten, aber nicht die zugehörigen Dashboards und Visualisierungen zurück.
10Was ist der häufigste Grund für fehlgeschlagene Snapshots?
Volle Repositories, abgelaufene Zugriffsschlüssel für Objekt-Speicher und Shards, die sich gerade in Relokation befinden, zählen zu den häufigsten Ursachen.