kibana/docs/management/snapshot-restore/index.asciidoc
gchaps 10846cb361
[DOCS] Updates Management docs to match UI (#72514)
* [DOCS] Updates Management docs to match UI

* [DOCS] Incorporates review comments

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2020-07-22 08:00:53 -07:00

317 lines
10 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

[role="xpack"]
[[snapshot-repositories]]
== Snapshot and Restore
*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.
To get started, open the menu, then go to *Stack Management > Data > Snapshot and Restore*.
With this UI, you can:
* Register a repository for storing your snapshots
* View a list of your snapshots and drill down into details
* Restore data into your cluster from a snapshot
* Create a policy to automate snapshot creation and deletion
* Delete a snapshot to free storage space
[role="screenshot"]
image:management/snapshot-restore/images/snapshot_list.png["Snapshot list"]
Before using this feature, you should be familiar with how snapshots work.
{ref}/snapshot-restore.html[Snapshot and Restore] is a good source for
more detailed information.
[float]
[[snapshot-permissions]]
=== Required permissions
The minimum required permissions to access *Snapshot and Restore* include:
* Cluster privileges: `monitor`, `manage_slm`, `cluster:admin/snapshot`, and `cluster:admin/repository`
* Index privileges: `all` on the `monitor` index if you want to access content in the *Restore Status* tab
To add privileges, open the menu, then go to *Stack Management > Security > Roles*.
[role="screenshot"]
image:management/snapshot-restore/images/snapshot_permissions.png["Edit Role"]
[float]
[[kib-snapshot-register-repository]]
=== Register a repository
A repository is where your snapshots live. You must register a snapshot
repository before you can perform snapshot and restore operations.
If you don't have a repository, Kibana walks you through the process of
registering one.
{kib} supports three repository types
out of the box: shared file system, read-only URL, and source-only.
For more information on these repositories and their settings,
see {ref}/snapshots-register-repository.html[Repositories].
To use other repositories, such as S3, see
{ref}/snapshots-register-repository.html#snapshots-repository-plugins[Repository plugins].
Once you create a repository, it is listed in the *Repositories*
view.
Click a repository name to view its type, number of snapshots, and settings,
and to verify status.
[role="screenshot"]
image:management/snapshot-restore/images/repository_list.png["Repository list"]
[float]
[[kib-view-snapshot]]
=== View your snapshots
A snapshot is a backup taken from a running {es} cluster. You'll find an overview of
your snapshots in the *Snapshots* view, and you can drill down
into each snapshot for further investigation.
[role="screenshot"]
image:management/snapshot-restore/images/snapshot_details.png["Snapshot details"]
If you dont have any snapshots, you can create them from the {kib} <<console-kibana, Console>>. The
{ref}/snapshots-take-snapshot.html[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.
[float]
[[kib-restore-snapshot]]
=== Restore a snapshot
The information stored in a snapshot is not tied to a specific
cluster or a cluster name. This enables you to
restore a snapshot made from one cluster to another cluster. You might
use the restore operation to:
* Recover data lost due to a failure
* Migrate a current Elasticsearch cluster to a new version
* Move data from one cluster to another cluster
To get started, go to the *Snapshots* view, find the
snapshot, and click the restore icon in the *Actions* column.
The Restore wizard presents
options for the restore operation, including which
indices to restore and whether to modify the index settings.
You can restore an existing index only if its closed and has the same
number of shards as the index in the snapshot.
Once you initiate the restore, you're navigated to the *Restore Status* view,
where you can track the current state for each shard in the snapshot.
[role="screenshot"]
image:management/snapshot-restore/images/snapshot-restore.png["Snapshot details"]
[float]
[[kib-snapshot-policy]]
=== Create a snapshot lifecycle policy
Use a {ref}/snapshot-lifecycle-management-api.html[snapshot lifecycle policy]
to automate the creation and deletion
of cluster snapshots. Taking automatic snapshots:
* Ensures your {es} indices and clusters are backed up on a regular basis
* Ensures a recent and relevant snapshot is available if a situation
arises where a cluster needs to be recovered
* Allows you to manage your snapshots in {kib}, instead of using a
third-party tool
If you dont have any snapshot policies, follow the
*Create policy* wizard. It walks you through defining
when and where to take snapshots, the settings you want,
and how long to retain snapshots.
[role="screenshot"]
image:management/snapshot-restore/images/snapshot-retention.png["Snapshot details"]
An overview of your policies is on the *Policies* view.
You can drill down into each policy to examine its settings and last successful and failed run.
You can perform the following actions on a snapshot 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.
[role="screenshot"]
image:management/snapshot-restore/images/create-policy.png["Snapshot details"]
[float]
[[kib-delete-snapshot]]
=== 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*.
[[snapshot-repositories-example]]
[role="xpack"]
[[snapshot-restore-tutorial]]
=== Tutorial: Snapshot and Restore
Ready to try *Snapshot and Restore*? In this tutorial, you'll learn to:
* Register a repository
* Add snapshots to the repository
* Create a snapshot lifecycle policy
* Restore a snapshot
==== Before you begin
This example shows you how to register a shared file system repository
and store snapshots.
Before you begin, you must register the location of the repository in the
{ref}/snapshots-register-repository.html#snapshots-filesystem-repository[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-repo-example]]
==== Register a repository
Use *Snapshot and Restore* to register the repository where your snapshots
will live.
. Open the menu, then go to *Stack Management > Data > Snapshot and Restore*.
. Click *Register a repository* in either the introductory message or *Repository view*.
. Enter a name for your repository, for example, `my_backup`.
. Select *Shared file system*.
+
[role="screenshot"]
image:management/snapshot-restore/images/register_repo.png["Register repository"]
. Click *Next*.
. In *File system 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, and then click *Register*.
+
Your new repository is listed on the *Repositories* view.
The repository currently doesnt have any snapshots.
[float]
==== Add a snapshot to the repository
Use the {ref}/snapshots-take-snapshot.html[snapshot API] to create a snapshot.
. Open the menu, go to *Dev Tools*, then select *Console*.
. Create the snapshot:
+
[source,js]
PUT /_snapshot/my_backup/2019-04-25_snapshot?wait_for_completion=true
+
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"]
. Return to *Snapshot and Restore*.
+
Your new snapshot is available in the *Snapshots* view.
[[create-policy-example]]
==== Create a snapshot lifecycle policy
Now you'll automate the creation and deletion of snapshots
using the repository created in the previous example.
. Open the *Policies* view.
. Click *Create a policy*.
+
[role="screenshot"]
image:management/snapshot-restore/images/create-policy-example.png["Create policy wizard"]
. As you walk through the wizard, enter the following values:
+
|===
|*Logistics* |
|Policy name
|`daily-snapshots`
|Snapshot name
|`<daily-snap-{now/d}>`
|Schedule
|Every day at 1:30 a.m.
|Repository
|`my_backup`
|*Snapshot&nbsp;settings* |
|Indices
|Select the indices to back up. By default, all indices, including system indices, are backed up.
|All&nbsp;other&nbsp;settings
|Use the defaults.
|*Snapshot&nbsp;retention* |
|Expiration
|`30 days`
|Snapshots&nbsp;to&nbsp;retain
|Minimum count: `5`, Maximum count: `50`
|===
. Review your input, and then click *Create policy*.
+
Your new policy is listed in the *Policies* view, and you see a summary of its details.
[[restore-snapshot-example]]
==== Restore a snapshot
Finally, you'll restore indices from an existing snapshot.
. In the *Snapshots* view, find the snapshot you want to restore, for example `2019-04-25_snapshot`.
. Click the restore icon in the *Actions* column.
. As you walk through the wizard, enter the following values:
+
|===
|*Logistics* |
|Indices
|Toggle to choose specific indices to restore, or leave in place to restore all indices.
|Rename indices
|Toggle to give your restored indices new names, or leave in place to restore under original index names.
|All other fields
|Use the defaults.
|*Index&nbsp;settings* |
|Modify&nbsp;index&nbsp;settings
|Toggle to overwrite index settings when they are restored,
or leave in place to keep existing settings.
|Reset&nbsp;index&nbsp;settings
|Toggle to reset index settings back to the default when they are restored,
or leave in place to keep existing settings.
|===
. Review your restore settings, and then click *Restore snapshot*.
+
The operation loads for a few seconds,
and then youre navigated to *Restore Status*,
where you can monitor the status of your restored indices.