123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155 |
- [[repository-azure]]
- === Azure Repository Plugin
- The Azure Repository plugin adds support for using Azure as a repository for
- {ref}/modules-snapshots.html[Snapshot/Restore].
- [[repository-azure-install]]
- [float]
- ==== Installation
- This plugin can be installed using the plugin manager:
- [source,sh]
- ----------------------------------------------------------------
- sudo bin/plugin install repository-azure
- ----------------------------------------------------------------
- The plugin must be installed on every node in the cluster, and each node must
- be restarted after installation.
- [[repository-azure-remove]]
- [float]
- ==== Removal
- The plugin can be removed with the following command:
- [source,sh]
- ----------------------------------------------------------------
- sudo bin/plugin remove repository-azure
- ----------------------------------------------------------------
- The node must be stopped before removing the plugin.
- [[repository-azure-usage]]
- ==== Azure Repository
- To enable Azure repositories, you have first to set your azure storage settings in `elasticsearch.yml` file:
- [source,yaml]
- ----
- cloud:
- azure:
- storage:
- account: your_azure_storage_account
- key: your_azure_storage_key
- ----
- For information, in previous version of the azure plugin, settings were:
- [source,yaml]
- ----
- cloud:
- azure:
- storage_account: your_azure_storage_account
- storage_key: your_azure_storage_key
- ----
- The Azure repository supports following settings:
- `container`::
- Container name. Defaults to `elasticsearch-snapshots`
- `base_path`::
- Specifies the path within container to repository data. Defaults to empty
- (root directory).
- `chunk_size`::
- Big files can be broken down into chunks during snapshotting if needed.
- The chunk size can be specified in bytes or by using size value notation,
- i.e. `1g`, `10m`, `5k`. Defaults to `64m` (64m max)
- `compress`::
- When set to `true` metadata files are stored in compressed format. This
- setting doesn't affect index files that are already compressed by default.
- Defaults to `false`.
- `read_only`::
- Makes repository read-only. coming[2.1.0] Defaults to `false`.
- Some examples, using scripts:
- [source,json]
- ----
- # The simpliest one
- PUT _snapshot/my_backup1
- {
- "type": "azure"
- }
- # With some settings
- PUT _snapshot/my_backup2
- {
- "type": "azure",
- "settings": {
- "container": "backup_container",
- "base_path": "backups",
- "chunk_size": "32m",
- "compress": true
- }
- }
- ----
- // AUTOSENSE
- Example using Java:
- [source,java]
- ----
- client.admin().cluster().preparePutRepository("my_backup3")
- .setType("azure").setSettings(Settings.settingsBuilder()
- .put(Storage.CONTAINER, "backup_container")
- .put(Storage.CHUNK_SIZE, new ByteSizeValue(32, ByteSizeUnit.MB))
- ).get();
- ----
- [[repository-azure-validation]]
- ===== Repository validation rules
- According to the http://msdn.microsoft.com/en-us/library/dd135715.aspx[containers naming guide], a container name must
- be a valid DNS name, conforming to the following naming rules:
- * Container names must start with a letter or number, and can contain only letters, numbers, and the dash (-) character.
- * Every dash (-) character must be immediately preceded and followed by a letter or number; consecutive dashes are not
- permitted in container names.
- * All letters in a container name must be lowercase.
- * Container names must be from 3 through 63 characters long.
- [[repository-azure-testing]]
- ==== Testing Azure
- Integrations tests in this plugin require working Azure configuration and therefore disabled by default.
- To enable tests prepare a config file `elasticsearch.yml` with the following content:
- [source,yaml]
- ----
- cloud:
- azure:
- storage:
- account: "YOUR-AZURE-STORAGE-NAME"
- key: "YOUR-AZURE-STORAGE-KEY"
- ----
- Replaces `account`, `key` with your settings. Please, note that the test will delete all snapshot/restore related
- files in the specified bucket.
- To run test:
- [source,sh]
- ----
- mvn -Dtests.azure=true -Dtests.config=/path/to/config/file/elasticsearch.yml clean test
- ----
|