DBAtlas · Atlas de operaciones de bases de datos

Automatizar snapshots y retención con SLM, monitorear el progreso de los snapshots

ElasticsearchSnapshot

Comando

# 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

Qué hace

Define una política SLM que toma snapshots según una programación cron y borra los antiguos según una regla de retención; muestra el progreso por shard de un snapshot en ejecución, los snapshots pasados y la accesibilidad del repositorio.

Cuándo usarlo

Al configurar backups regulares, ante una alerta de que el snapshot nocturno falló o al estimar cuándo terminará un snapshot de larga duración.

Precaución

La programación se evalúa en UTC. Si más de un clúster escribe en el mismo repositorio, o el repositorio está registrado como escribible en otro clúster, puede corromperse; use readonly: true en los demás clústeres. La retención solo borra los snapshots tomados por SLM. include_global_state true también puede restaurar templates y ajustes persistentes del clúster durante una restauración.

Abrir en DBAtlas →

Relacionado