Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Snapshot Restore README with quick-testing steps. #70494

Merged
merged 1 commit into from
Jul 2, 2020
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
78 changes: 78 additions & 0 deletions x-pack/plugins/snapshot_restore/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
# Snapshot Restore

## Quick steps for testing

### File system

1. Add the file system path you want to use to elasticsearch.yml or as part of starting up ES. Note that this path should point to a directory that exists.

```
path:
repo: /tmp/es-backups
```

or

```
yarn es snapshot --license=trial -E path.repo=/tmp/es-backups
```

2. Use Console or UI to add a repository. Use the file system path above as the `location` setting:

```
PUT /_snapshot/my_backup
{
"type": "fs",
"settings": {
"location": "/tmp/es-backups",
"chunk_size": "10mb"
}
}
```

3. Adjust `settings` as necessary, all available settings can be found in docs:
https://www.elastic.co/guide/en/elasticsearch/reference/master/modules-snapshots.html#_shared_file_system_repository

### Readonly

Readonly repositories only take `url` setting. Documentation: https://www.elastic.co/guide/en/elasticsearch/reference/master/modules-snapshots.html#_read_only_url_repository

It's easy to set up a `file:` url:
```
PUT _snapshot/my_readonly_repository
{
"type": "url",
"settings": {
"url": "file:///tmp/es-backups"
}
}
```

### Source only

Source only repositories are special in that they are basically a wrapper around another repository type. Documentation: https://www.elastic.co/guide/en/elasticsearch/reference/master/modules-snapshots.html#_source_only_repository

This means that the settings that are available depends on the `delegate_type` parameter. For example, this source only repository delegates to `fs` (file system) type, so all file system rules and available settings apply:

```
PUT _snapshot/my_src_only_repository
{
"type" : "source",
"settings" : {
"delegate_type" : "fs",
"location" : "/tmp/es-backups"
}
}
```

### Plugin-based repositories:

There are four official repository plugins available: S3, GCS, HDFS, Azure. Available plugin repository settings can be found in the docs: https://www.elastic.co/guide/en/elasticsearch/plugins/master/repository.html.

To run ES with plugins:

1. Run `yarn es snapshot` from the Kibana directory like normal, then exit out of process.
2. `cd .es/8.0.0`
3. `bin/elasticsearch-plugin install https://snapshots.elastic.co/downloads/elasticsearch-plugins/repository-s3/repository-s3-8.0.0-SNAPSHOT.zip`
4. Repeat step 3 for additional plugins, replacing occurrences of `repository-s3` with the plugin you want to install.
5. Run `bin/elasticsearch` from the `.es/8.0.0` directory. Otherwise, starting ES with `yarn es snapshot` would overwrite the plugins you just installed.