Skip to Content
产品简介Elasticsearch数据备份与恢复数据备份

数据备份

UES的数据备份功能,使用Elasticsearch(以下简称ES)的 snapshot API,通过elasticsearch-repository-ufile插件(以下简称US3插件)的支持,按照预先设定的备份计划,定时自动生成快照,保存在对象存储 US3当中,从而实现对UES索引数据的有效备份。

名词释义

快照(snapshot):一个快照是对于运行中的ES集群在快照生成时间点的一个备份,可以针对单个索引或者所有索引生成快照。快照采用增量机制生成,这意味着后续快照中仅包含之前快照中不存在的那部分数据。

仓库(repository):仓库是用于存放快照文件的存储空间,必须先创建一个仓库才能进行快照的备份操作。通过安装插件,ES可以支持使用不同类型的存储系统作为快照仓库。

对象存储 US3:对象存储 US3是TopnewCloud提供的非结构化文件云存储的服务,通过安装US3插件,UES使用US3作为存放快照的仓库。

准备工作

1.创建US3存储空间

登录US3控制台,创建用于保存UES快照数据的存储空间。要求: (1)存储空间所在地域必须与您需要快照备份的UES集群所在地域保持一致。 (2)空间类型请选择**”私有空间“**,以确保存储空间内的数据需要得到密钥授权才能访问。

2.创建US3令牌

在US3令牌管理页面,创建用于授权访问上述存储空间的令牌,合理设置有效时长,授权访问上述存储空间,并赋予对所有文件上传、下载、删除、文件列表权限

3.为需要备份的UES集群安装US3插件

登录UES控制台,在目标UES集群的插件管理页面进行US3插件的安装,具体操作方法可以参考文档插件管理章节。

操作步骤

数据备份功能入口:登录UES控制台,点击集群列表中目标集群的“详情”按钮,进入集群详情页面,切换至“数据备份”标签页。

1.注册仓库

在**“仓库管理”子页面中,点击“注册仓库”**按钮,在弹出的对话框中,按照页面提示完成相关信息的填写,点击确认,系统将为该集群创建一个存放快照的仓库。

参数说明
US3存储空间用于存放UES集群的快照。注意:建立仓库之后不可以删除该仓库绑定的US3存储空间,否则已经生成的快照文件将会丢失,新的快照也将无法生成。
US3令牌用于授权访问上述存储空间,必须具有该存储空间的上传、下载、删除、文件列表权限,缺一不可。注意:建立仓库之后不可以删除该仓库绑定的US3令牌,也不可以取消任何一项必备权限,同时还必须确保该US3令牌未过有效期,否则快照生成、快照恢复等操作将会失败。
仓库名称用于标识一个仓库,在一个UES集群内部不允许出现多个同名仓库。
基础路径快照文件在存储空间中的路径,默认为ues_backup,生成的快照文件会存放在US3存储空间中的该目录下。
只读控制UES集群对于该仓库的读写权限。注意:在多个UES集群中注册指向同一个路径(US3存储空间 + 基础路径)的仓库时,只应该设置一个集群对其具有写入权限,其他集群应该设置为只读权限,以确保快照文件的完整性和一致性。
快照压缩启用压缩后,将对快照中的索引映射和设置文件进行压缩,但数据文件不会被压缩。
分块大小用于限制快照过程中单个文件分块的大小。
快照生成最大速度用于限制每个节点生成快照的最大速度。
快照恢复最大速度用于限制每个节点恢复快照的最大速度。
快照自动清理如果开启快照自动清理,系统将会按照设定的时间长度,定期删除该仓库中过期的快照文件。

2.设定备份规则

在**“备份策略”子页面中,点击“新建规则”**按钮,在弹出的对话框中,按照页面提示完成相关信息的填写,点击确认,系统将为该集群创建一条自动生成快照的规则。

参数说明
规则名称用于标识一条备份规则。
快照名称指定该备份规则所生成快照的名称,系统将在快照名称后添加唯一标识符以区分不同时间生成的快照。
所在仓库选择用于存放快照的仓库,只能选择注册仓库时设置为具有写入权限的仓库。
执行计划设定进行自动备份的频率和时间点,目前支持在每天的指定时间进行一次自动备份。
备份索引默认备份全部索引,也可以关闭此开关,手动输入索引名称以备份指定的索引,多个索引名称之间使用英文逗号分隔,支持索引表达式。
忽略不可用索引用于控制对快照备份期间不可用索引的处理方式。此选项开启时,如果遇到不可用索引,将会继续生成不包含这些索引的快照。此选项关闭时,如果遇到不可用索引,快照备份将会失败。
允许不完全索引用于控制对快照备份期间主分片不可用的索引的处理方式。此选项开启时,如果遇到此类情况,将会允许使用主分片不可用的索引生成快照。此选项关闭时,如果遇到此类情况,快照备份将会失败。
包含全局状态用于控制是否将集群的全局状态保存在快照中。

3.执行备份规则

备份规则的执行有两种方式:自动定时执行和手动执行。

(1)自动定时执行

设置好备份规则后,系统会在规则设定的时间,按照规则中配置的参数,定时自动执行快照备份操作。

(2)手动执行

在**“备份策略”子页面中,点击一条规则右侧的“立即执行”**按钮,可以按照规则中配置的参数,立即执行一次快照备份操作。

4.管理生成的快照

在**“快照管理”**子页面中,可以查看或删除已经生成的快照。

(1)查看快照详情

点击一个快照右侧的**“详情”**按钮,可以查看这个快照的详细信息,包括快照的版本、备份状态、包含的索引等。

(2)删除快照

点击一个快照右侧的**“删除”**按钮,可以从仓库中删除这个快照。如果在注册仓库时,开启了快照自动清理功能,系统将会按照设定的时间长度,定期删除该仓库中过期的快照文件。

索引表达式

索引表达式用于指定多个索引,常用的表达式类型包括:

(1)英文逗号分隔的多个索引名称

例如:index_1,index_2,index_3 指定了3个索引。

(2)带通配符 * 的索引名称

例如:index_* 可以表示所有以 index_ 开头的索引,如 index_1,index_2020.02.02 等。

(3)使用通配符 * 时,利用 - 排除不需要的索引。

例如:index_*,-index_1 表示所有以 index_ 开头,但不包含 index_1 在内的索引。

(4)基于日期数学表达式的索引名称

<static_name{date_math_expr{date_format|time_zone}}>

上述表达式中,各个字段的含义如下:

static_name:索引名称中的静态部分

date_math_expr:动态的日期表达式

date_format:日期格式(可选),默认是YYYY.MM.dd

time_zone:时区(可选),默认是UTC

样例(表达式两端的尖括号 <> 必不可少):

假设当前时间是2020年2月20日中午12点(UTC)。

表达式表达式的值
<index_{now/d}>index_2020.02.20
<index_{now-1d}>index_2020.02.19
<index_{now/M}>index_2020.02.01
<index_{now/M{YYYY.MM}}>index_2020.02

参考信息

关于创建快照、从快照恢复数据、查询快照信息等操作的更多信息,请参考Elasticsearch官方文档:

Snapshot And Restore