DBAtlas · Atlas d'exploitation des bases de données

Automatiser les snapshots et la rétention avec SLM, suivre la progression des snapshots

ElasticsearchSnapshot

Commande

# 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

Ce que fait la commande

Définit une politique SLM qui prend des snapshots selon une planification cron et supprime les anciens selon une règle de rétention ; affiche la progression par shard d'un snapshot en cours, les snapshots passés et l'accessibilité du dépôt.

Quand l'utiliser

Lors de la mise en place de sauvegardes régulières, sur une alerte d'échec du snapshot nocturne, ou pour estimer quand un snapshot long se terminera.

Attention

La planification est évaluée en UTC. Si plusieurs clusters écrivent dans le même dépôt, ou si le dépôt est enregistré en écriture sur un autre cluster, il peut être corrompu ; utilisez readonly: true sur les autres clusters. La rétention ne supprime que les snapshots pris par SLM. include_global_state true peut aussi restaurer les templates et les paramètres persistent du cluster lors d'une restauration.

Ouvrir dans DBAtlas →

Voir aussi