Automatiser les snapshots et la rétention avec SLM, suivre la progression des snapshots
ElasticsearchSnapshotCommande
# 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/_verifyCe 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.