2019-06-07 20:28:01 +02:00
|
|
|
|
[role="xpack"]
|
|
|
|
|
[[snapshot-repositories]]
|
2019-07-12 20:29:57 +02:00
|
|
|
|
== Snapshot and Restore
|
2019-06-07 20:28:01 +02:00
|
|
|
|
|
2019-07-12 20:29:57 +02:00
|
|
|
|
*Snapshot and Restore* enables you to backup your {es}
|
|
|
|
|
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.
|
2019-06-07 20:28:01 +02:00
|
|
|
|
|
2019-07-12 20:29:57 +02:00
|
|
|
|
You’ll find *Snapshot and Restore* under *Management > Elasticsearch*.
|
|
|
|
|
With this UI, you can:
|
2019-06-07 20:28:01 +02:00
|
|
|
|
|
2019-07-18 18:12:43 +02:00
|
|
|
|
* <<kib-snapshot-register-repository, Register a repository for storing your snapshots>>
|
|
|
|
|
* <<kib-view-snapshot, View a list of your snapshots and drill down into details>>
|
|
|
|
|
* <<kib-restore-snapshot, Restore data into your cluster from a snapshot>>
|
2019-09-14 00:38:30 +02:00
|
|
|
|
* <<kib-snapshot-policy, Create a policy for automatic snapshots>>
|
2019-07-18 18:12:43 +02:00
|
|
|
|
* <<kib-delete-snapshot, Delete a snapshot to free storage space>>
|
2019-06-07 20:28:01 +02:00
|
|
|
|
|
|
|
|
|
[role="screenshot"]
|
2019-07-12 20:29:57 +02:00
|
|
|
|
image:management/snapshot-restore/images/snapshot_list.png["Snapshot list"]
|
|
|
|
|
|
|
|
|
|
Before using this feature, you should be familiar with how snapshots work.
|
|
|
|
|
{ref}/modules-snapshots.html[Snapshot and Restore] is a good source for
|
|
|
|
|
more detailed information.
|
2019-06-07 20:28:01 +02:00
|
|
|
|
|
|
|
|
|
[float]
|
2019-07-18 18:12:43 +02:00
|
|
|
|
[[kib-snapshot-register-repository]]
|
2019-07-12 20:29:57 +02:00
|
|
|
|
=== Register a repository
|
2019-06-07 20:28:01 +02:00
|
|
|
|
|
2019-09-14 00:38:30 +02:00
|
|
|
|
The *Repositories* view provides an overview of your repositories.
|
|
|
|
|
Click a repository name to view its type, number of snapshots, and settings, and also to verify status.
|
2019-06-07 20:28:01 +02:00
|
|
|
|
|
|
|
|
|
[role="screenshot"]
|
2019-07-12 20:29:57 +02:00
|
|
|
|
image:management/snapshot-restore/images/repository_list.png["Repository list"]
|
2019-06-07 20:28:01 +02:00
|
|
|
|
|
2019-09-14 00:38:30 +02:00
|
|
|
|
If you don't have a repository, you're prompted to register one.
|
|
|
|
|
{es} supports three repository types
|
2019-07-12 20:29:57 +02:00
|
|
|
|
out of the box: shared file system, read-only URL, and source-only.
|
2019-09-14 00:38:30 +02:00
|
|
|
|
For more information on these repositories and their settings,
|
2019-07-15 22:30:17 +02:00
|
|
|
|
see {ref}/modules-snapshots.html#snapshots-repositories[Repositories]. For an example,
|
2019-07-12 20:29:57 +02:00
|
|
|
|
see <<snapshot-repositories-example, registering a shared file system repository>>.
|
2019-06-07 20:28:01 +02:00
|
|
|
|
|
2019-07-12 20:29:57 +02:00
|
|
|
|
To use other repositories, such as S3, you can install plugins. See
|
2019-06-07 20:28:01 +02:00
|
|
|
|
{ref}/modules-snapshots.html#_repository_plugins[Repository plugins].
|
|
|
|
|
|
|
|
|
|
[float]
|
2019-07-18 18:12:43 +02:00
|
|
|
|
[[kib-view-snapshot]]
|
2019-07-12 20:29:57 +02:00
|
|
|
|
=== View your snapshots
|
|
|
|
|
|
|
|
|
|
The *Snapshots* view gives an overview of your snapshots. You can drill down
|
|
|
|
|
into each snapshot for further investigation.
|
|
|
|
|
|
|
|
|
|
[role="screenshot"]
|
|
|
|
|
image:management/snapshot-restore/images/snapshot_details.png["Snapshot details"]
|
2019-06-07 20:28:01 +02:00
|
|
|
|
|
2019-09-14 00:38:30 +02:00
|
|
|
|
If you don’t have any snapshots, you can create them from the {kib} <<console-kibana, Console>>. The
|
2019-07-15 22:30:17 +02:00
|
|
|
|
{ref}//modules-snapshots.html#snapshots-take-snapshot[snapshot API]
|
2019-07-12 20:29:57 +02:00
|
|
|
|
takes the current state and data in your index or cluster, and then saves it to a
|
2019-06-07 20:28:01 +02:00
|
|
|
|
shared repository.
|
|
|
|
|
|
2019-07-12 20:29:57 +02:00
|
|
|
|
The snapshot process is "smart." Your first snapshot is a complete copy of
|
|
|
|
|
the data in your index or cluster.
|
2019-06-07 20:28:01 +02:00
|
|
|
|
All subsequent snapshots save the changes between the existing snapshots and
|
|
|
|
|
the new data.
|
|
|
|
|
|
2019-07-12 20:29:57 +02:00
|
|
|
|
[float]
|
2019-07-18 18:12:43 +02:00
|
|
|
|
[[kib-restore-snapshot]]
|
2019-07-12 20:29:57 +02:00
|
|
|
|
=== 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
|
2019-09-14 00:38:30 +02:00
|
|
|
|
snapshot, and click the restore icon in the *Actions* column.
|
|
|
|
|
|
|
|
|
|
You’re presented
|
|
|
|
|
options for the restore, including which
|
2019-07-12 20:29:57 +02:00
|
|
|
|
indices to restore and whether to modify the index settings.
|
2019-09-14 00:38:30 +02:00
|
|
|
|
You can restore an existing index only if it’s closed and has the same
|
|
|
|
|
number of shards as the index in the snapshot.
|
2019-07-12 20:29:57 +02:00
|
|
|
|
|
2019-09-14 00:38:30 +02:00
|
|
|
|
Once you initiate the restore, you're navigated to the *Restore Status* view,
|
|
|
|
|
where you can track the progress.
|
2019-06-07 20:28:01 +02:00
|
|
|
|
|
|
|
|
|
[role="screenshot"]
|
2019-09-14 00:38:30 +02:00
|
|
|
|
image:management/snapshot-restore/images/snapshot-restore.png["Snapshot details"]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
[float]
|
|
|
|
|
[[kib-snapshot-policy]]
|
|
|
|
|
=== Create a snapshot lifecycle policy
|
|
|
|
|
|
|
|
|
|
You can create policies to schedule automatic snapshots of your cluster.
|
|
|
|
|
{ref}/snapshot-lifecycle-management-api.html[Snapshot lifecycle policies] are related
|
|
|
|
|
to {ref}/index-lifecycle-management.html[index lifecycle policies].
|
|
|
|
|
However, where an index lifecycle policy applies to a single index,
|
|
|
|
|
a snapshot lifecycle policy can span multiple indices.
|
|
|
|
|
|
|
|
|
|
For an overview of your policies, open the *Policies* view.
|
|
|
|
|
You can drill down into each policy to examine its settings and last successful and failed run.
|
|
|
|
|
|
|
|
|
|
If you don’t have any policies, use the *Create policy* wizard.
|
|
|
|
|
You’ll define the snapshots and repository, when to take snapshots, and
|
|
|
|
|
the settings, such as which indices the snapshot should contain.
|
|
|
|
|
|
|
|
|
|
[role="screenshot"]
|
|
|
|
|
image:management/snapshot-restore/images/create-policy.png["Snapshot details"]
|
|
|
|
|
|
|
|
|
|
You can perform the following actions on a policy:
|
|
|
|
|
|
|
|
|
|
* *Run* a policy immediately without waiting for the scheduled time.
|
|
|
|
|
This action is useful before an upgrade or before performing maintenance on indices.
|
|
|
|
|
* *Edit* a policy and immediately apply changes to the schedule.
|
|
|
|
|
* *Delete* a policy to prevent any future snapshots from being taken.
|
|
|
|
|
This action does not cancel any currently ongoing snapshots or remove any previously taken snapshots.
|
2019-07-12 20:29:57 +02:00
|
|
|
|
|
|
|
|
|
[float]
|
2019-07-18 18:12:43 +02:00
|
|
|
|
[[kib-delete-snapshot]]
|
2019-07-12 20:29:57 +02:00
|
|
|
|
=== 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*.
|
2019-06-07 20:28:01 +02:00
|
|
|
|
|
2019-07-12 20:29:57 +02:00
|
|
|
|
[[snapshot-repositories-example]]
|
2019-06-07 20:28:01 +02:00
|
|
|
|
[float]
|
|
|
|
|
=== Example: Register a shared file system repository
|
|
|
|
|
|
|
|
|
|
This example shows how to register a shared file system repository
|
|
|
|
|
and store snapshots.
|
|
|
|
|
|
|
|
|
|
[float]
|
|
|
|
|
==== 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`
|
|
|
|
|
|
|
|
|
|
[float]
|
|
|
|
|
==== Register the repository
|
|
|
|
|
|
2019-07-12 20:29:57 +02:00
|
|
|
|
Use *Snapshot and Restore* to register the repository where your snapshots
|
|
|
|
|
will live.
|
2019-06-07 20:28:01 +02:00
|
|
|
|
|
2019-07-12 20:29:57 +02:00
|
|
|
|
. Go to *Management > Elasticsearch > Snapshot and Restore*.
|
|
|
|
|
. Open the *Repositories* view.
|
2019-06-07 20:28:01 +02:00
|
|
|
|
. Click *Register a repository*.
|
2019-09-14 00:38:30 +02:00
|
|
|
|
. Enter a name for your repository, for example, `my_backup`.
|
2019-06-07 20:28:01 +02:00
|
|
|
|
. Set *Repository type* to Shared file system.
|
|
|
|
|
+
|
|
|
|
|
[role="screenshot"]
|
|
|
|
|
image:management/snapshot-restore/images/register_repo.png["Register repository"]
|
|
|
|
|
|
|
|
|
|
. Click *Next*.
|
|
|
|
|
. In *Location*, enter the path to the snapshot repository, `/tmp/es-backups`.
|
|
|
|
|
. In *Chunk size*, enter 100mb so that snapshot files are not bigger than that size.
|
|
|
|
|
. Use the defaults for all other fields.
|
|
|
|
|
. Click *Register*.
|
|
|
|
|
+
|
2019-09-14 00:38:30 +02:00
|
|
|
|
Your new repository is listed on the *Repositories* view.
|
2019-06-07 20:28:01 +02:00
|
|
|
|
+
|
2019-07-12 20:29:57 +02:00
|
|
|
|
. Click the respository and inspect its details.
|
2019-06-07 20:28:01 +02:00
|
|
|
|
+
|
|
|
|
|
The repository currently doesn’t have any snapshots.
|
2019-07-12 20:29:57 +02:00
|
|
|
|
|
2019-06-07 20:28:01 +02:00
|
|
|
|
|
|
|
|
|
[float]
|
|
|
|
|
==== Add a snapshot to the repository
|
2019-07-15 22:30:17 +02:00
|
|
|
|
Use the {ref}//modules-snapshots.html#snapshots-take-snapshot[snapshot API] to create a snapshot.
|
2019-06-07 20:28:01 +02:00
|
|
|
|
|
|
|
|
|
. Go to *Dev Tools > Console*.
|
|
|
|
|
. Create the snapshot.
|
|
|
|
|
+
|
|
|
|
|
In this example, the snapshot name is `2019-04-25_snapshot`. You can also
|
|
|
|
|
use {ref}//date-math-index-names.html[date math expression] for the snapshot name.
|
|
|
|
|
+
|
|
|
|
|
[role="screenshot"]
|
|
|
|
|
image:management/snapshot-restore/images/create_snapshot.png["Create snapshot"]
|
|
|
|
|
+
|
2019-07-12 20:29:57 +02:00
|
|
|
|
. Open *Snapshot and Restore*.
|
2019-06-07 20:28:01 +02:00
|
|
|
|
+
|
2019-07-12 20:29:57 +02:00
|
|
|
|
Your new snapshot is available in the *Snapshots* view.
|
2019-06-07 20:28:01 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|