Skip to content

Commit

Permalink
Add Snapshot Restore README with quick-testing steps. (elastic#70494)
Browse files Browse the repository at this point in the history
  • Loading branch information
cjcenizal committed Jul 2, 2020
1 parent 20237b8 commit 67c70e7
Showing 1 changed file with 78 additions and 0 deletions.
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.

0 comments on commit 67c70e7

Please sign in to comment.