其他分享
首页 > 其他分享> > Elasticsearch 快照与恢复-快照仓库 repository

Elasticsearch 快照与恢复-快照仓库 repository

作者:互联网

Elasticsearch 中的一个快照即一个运行时的集群备份。快照能在以下场景使用。

ES 把快照存储在一个叫做快照仓库的地方。在使用快照前,需要先注册快照库,用于管理快照,如提供存储位置、存储用途(敏感数据的存放)。ES 支持部分云存储类型的快照库。

快照内容

默认情况下,集群快照包含集群状态,所有常规的数据流、索引。
索引状态包含下面信息:

快照如何工作

快照会自动的删除以便于节省存储空间和减少完了传输的消耗。为了备份一个索引,快照会复制索引的segment,并将其保存在快照库中,由于segement是不可变的,因此快照只需要复制比快照库中新的索引segement即可完成增量备份。

每个快照是逻辑独立的,当删除一个快照时, ES 只是删除由快照使用的专有段,不会删除快照库中其它快照的segement。

快照和shard allocation

快照从索引的主分片中拷贝segement。当启动一个快照时,ES立即开始复制可用的主分片上的段。当分片在启动中或者重定位时,ES会等该分片可用后再继续拷贝索引段,如果有一个或多个主分片不可以,快照备份会失败。

一旦一个快照开始复制某一个主分片,ES不会移动该分片到其它节点,ES会等到复制完成在进行移动操作。

快照开始和启动时间

一个快照并不能表示一个精确的时间点的集群。相反,每个快照都包含启动时间、结束时间。 快照表示的是在这两个时间点之间的分片数据的视图。

快照兼容性

不能先前兼容,即新版本的快照不能在老版本的es下进行还原。

快照是唯一可靠和支持备份集群的方式。采用备份底层文件的方式会有不可知的问题。
不要修改快照仓库下的任何内容。

注册一个仓库

自己管理下集群的仓库配置

Azure
Google Cloud Storage
AWS S3
Shared file system
Read-only URL
Source-only

使用共享文件系统注册仓库

创建文件系统快照库需要在配置文件中配置 仓库目录,否则会报错,集群中的所有节点需要挂载到相同的目录下。
vi elasticsearch.yml

path.repo: /usr/share/elasticsearch/_snapshots

创建共享文件系统镜像仓库

curl --location --request PUT "http://localhost:29201/_snapshot/person" \
--header "Content-Type: application/json" \
--data-raw "{
  \"type\": \"fs\",
  \"settings\": {
    \"location\": \"perosn\"
  }
}"

当多个集群使用相同的快照库时,只能有一个集群有权限对该仓库写入,其它的应当配置为只读。如集群间复制场景下。

只读配置
PUT _snapshot/my_fs_backup
{
  "type": "fs",
  "settings": {
    "location": "my_fs_backup_location",
    "readonly": true
  }
}
仓库配置

只读的url类型仓库

可以使用url仓库来给集群授予共享文件系统的只读权限。由于url 仓库是只读的,相较于共享文件系统仓库中的只读配置,该方式更安全和方便。

PUT _snapshot/my_read_only_url_repository
{
  "type": "url",
  "settings": {
    "url": "file:/mount/backups/my_fs_backup_location"
  }
}

source-only 快照库

可以使用Source-only 库来实现最小的快照, souce-only 可以比其它类型的快照减少50%的磁盘空间(只存储source 信息)。

和其它类型苦苦不同, souce-only 不直接存储快照,而是委托其它已注册的快照库来存储数据。

当采用source-only 的快照库时,ES 在代理库中创建source-only快照,该快照只包含属性和元数据信息,它不包含索引和文档值,而且当还原是,不是立即可搜索的。若要搜索已还原的数据,首先需要reindex到新的索引中。

source-only 只支持开启了_source 属性且 没有source_filtering 应用的索引。

PUT _snapshot/my_src_only_repository
{
  "type": "source",
  "settings": {
    "delegate_type": "fs",
    "location": "my_backup_repository"
  }
}

标签:快照,repository,仓库,索引,only,Elasticsearch,url,集群
来源: https://www.cnblogs.com/hhan/p/16644107.html