DBAtlas · Atlas für Datenbankbetrieb

Snapshots und Aufbewahrung mit SLM automatisieren, Snapshot-Fortschritt überwachen

ElasticsearchSnapshot

Befehl

# Take a snapshot every night at 01:30, keep for 30 days (at least 7, at most 60 snapshots):
PUT _slm/policy/gece-yedek
{
  "schedule": "0 30 1 * * ?",
  "name": "<gece-{now/d}>",
  "repository": "yedek_repo",
  "config": { "indices": ["*"], "include_global_state": true },
  "retention": { "expire_after": "30d", "min_count": 7, "max_count": 60 }
}
# Run the policy now and see success/failure statistics:
POST _slm/policy/gece-yedek/_execute
GET _slm/stats
# Snapshot in progress and per-shard progress:
GET _snapshot/yedek_repo/_current
GET _snapshot/yedek_repo/_status
GET _cat/snapshots/yedek_repo?v&s=end_epoch:desc
# Verify that the repository is writable from all nodes:
POST _snapshot/yedek_repo/_verify

Was es tut

Definiert eine SLM-Policy, die nach einem cron-Zeitplan Snapshots erstellt und alte gemäß einer Aufbewahrungsregel löscht; zeigt den Fortschritt eines laufenden Snapshots pro Shard, frühere Snapshots und die Erreichbarkeit des Repositorys.

Wann einsetzen

Beim Einrichten regelmäßiger Backups, bei einem Alarm über einen fehlgeschlagenen nächtlichen Snapshot oder beim Abschätzen, wann ein lang laufender Snapshot fertig wird.

Vorsicht

Der Zeitplan wird in UTC ausgewertet. Schreibt mehr als ein Cluster in dasselbe Repository oder ist das Repository auf einem anderen Cluster als beschreibbar registriert, kann es beschädigt werden; auf den anderen Clustern readonly: true verwenden. Die Aufbewahrung löscht nur von SLM erstellte Snapshots. include_global_state true kann bei einem Restore auch Templates und persistente Cluster-Einstellungen wiederherstellen.

In DBAtlas öffnen →

Verwandte Einträge