22 Snapshot und Restore APIs

22.1 Beschreibung

Die Snapshot und Restore APIs ermöglichen die Sicherung und Wiederherstellung von Indizes oder des gesamten Clusters. Snapshots werden in einem definierten Repository gespeichert und können zur Sicherstellung der Datenintegrität oder zur Disaster Recovery verwendet werden.


22.2 Beispiele

Snapshot-Repository erstellen

PUT /_snapshot/my_repository
{
  "type": "fs",
  "settings": {
    "location": "/mnt/snapshots",
    "compress": true
  }
}

Snapshot erstellen

PUT /_snapshot/my_repository/my_snapshot
{
  "indices": "my-index",
  "include_global_state": true
}

Snapshot wiederherstellen

POST /_snapshot/my_repository/my_snapshot/_restore
{
  "indices": "my-index",
  "include_global_state": false
}

Snapshot-Status prüfen

GET /_snapshot/my_repository/my_snapshot/_status

22.2.1 Wichtigste Parameter

Parameter Beschreibung
type Typ des Snapshot-Repositories (fs, s3, etc.).
location Speicherort für Snapshots (Dateipfad oder Remote-Speicher).
indices Gibt die zu sichernden oder wiederherzustellenden Indizes an.
include_global_state Ob globale Cluster-Metadaten eingeschlossen werden.
compress Ob die Snapshots komprimiert werden sollen.

22.3 Übungsaufgaben

  1. Snapshot-Repository erstellen:
    Erstellen Sie ein Snapshot-Repository backup_repository, das Snapshots im Verzeichnis /var/backups speichert.

    PUT /_snapshot/backup_repository
    {
      "type": "fs",
      "settings": {
        "location": "/var/backups",
        "compress": true
      }
    }
  2. Snapshot erstellen:
    Sichern Sie den Index users in einem Snapshot user_backup im Repository backup_repository.

    PUT /_snapshot/backup_repository/user_backup
    {
      "indices": "users",
      "include_global_state": true
    }
  3. Snapshot wiederherstellen:
    Stellen Sie den Index users aus dem Snapshot user_backup wieder her, ohne globale Metadaten einzuschließen.

    POST /_snapshot/backup_repository/user_backup/_restore
    {
      "indices": "users",
      "include_global_state": false
    }
  4. Snapshot-Status prüfen:
    Überprüfen Sie den Status des Snapshots user_backup im Repository backup_repository.

    GET /_snapshot/backup_repository/user_backup/_status

22.4 Musterlösungen

Snapshot-Repository erstellen

PUT /_snapshot/backup_repository
{
  "type": "fs",
  "settings": {
    "location": "/var/backups",
    "compress": true
  }
}

Snapshot erstellen

PUT /_snapshot/backup_repository/user_backup
{
  "indices": "users",
  "include_global_state": true
}

Snapshot wiederherstellen

POST /_snapshot/backup_repository/user_backup/_restore
{
  "indices": "users",
  "include_global_state": false
}

Snapshot-Status prüfen

GET /_snapshot/backup_repository/user_backup/_status