Snapshot and Restore

Snapshot and Restore enables you to backup your Elasticsearch indices and clusters using data and state snapshots. Snapshots are important because they provide a copy of your data in case something goes wrong. If you need to roll back to an older version of your data, you can restore a snapshot from the repository.

You’ll find Snapshot and Restore under Management > Elasticsearch. With this UI, you can:

Snapshot list

Before using this feature, you should be familiar with how snapshots work. Snapshot and Restore is a good source for more detailed information.

Register a repository

The Repositories view provides an overview of your repositories. You can drill down into each repository for further investigation.

Repository list

If you don’t have a repository, you’re prompted to register one. The Register repository wizard supports three repository types out of the box: shared file system, read-only URL, and source-only. For details about these repositories and their settings, see Repositories. For an example, see registering a shared file system repository.

To use other repositories, such as S3, you can install plugins. See Repository plugins.

View your snapshots

The Snapshots view gives an overview of your snapshots. You can drill down into each snapshot for further investigation.

Snapshot details

To create snapshots, use the Kibana Console. The snapshot API takes the current state and data in your index or cluster, and then saves it to a shared repository.

The snapshot process is "smart." Your first snapshot is a complete copy of the data in your index or cluster. All subsequent snapshots save the changes between the existing snapshots and the new data.

Restore a snapshot

The Restore wizard walks you through the process of restoring a snapshot into a running cluster. To get started, go to the Snapshots view, find the snapshot, and click the restore icon in the Actions column. You’re presented options for defining the restore, including which indices to restore and whether to modify the index settings.

To track the progress of a restore, use the Restore Status view. You’ll see the current state for each shard in the snapshot.

Snapshot details

Delete a snapshot

Delete snapshots to manage your repository storage space. Find the snapshot in the Snapshots view and click the trash icon in the Actions column. To delete snapshots in bulk, select their checkboxes, and then click Delete snapshots.

Example: Register a shared file system repository

This example shows how to register a shared file system repository and store snapshots.

Register the repository location

You must register the location of the repository in the path.repo setting on your master and data nodes. You can do this in one of two ways:

  • Edit your elasticsearch.yml to include the path.repo setting.
  • Pass the path.repo setting when you start Elasticsearch.

    bin/elasticsearch -E path.repo=/tmp/es-backups

Register the repository

Use Snapshot and Restore to register the repository where your snapshots will live.

  1. Go to Management > Elasticsearch > Snapshot and Restore.
  2. Open the Repositories view.
  3. Click Register a repository.
  4. Enter a name for your repository. For example, my_backup.
  5. Set Repository type to Shared file system.

    Register repository

  6. Click Next.
  7. In Location, enter the path to the snapshot repository, /tmp/es-backups.
  8. In Chunk size, enter 100mb so that snapshot files are not bigger than that size.
  9. Use the defaults for all other fields.
  10. Click Register.

    Your new repository is listed on the Repositories tab.

  11. Click the respository and inspect its details.

    The repository currently doesn’t have any snapshots.

Add a snapshot to the repository

Use the snapshot API to create a snapshot.

  1. Go to Dev Tools > Console.
  2. Create the snapshot.

    In this example, the snapshot name is 2019-04-25_snapshot. You can also use date math expression for the snapshot name.

    Create snapshot

  3. Open Snapshot and Restore.

    Your new snapshot is available in the Snapshots view.