创建快照备份Elasticsearch集群数据
CSS服务的快照备份功能为Elasticsearch集群提供数据保护和恢复能力。通过快照备份,可以将集群的数据状态保存到OBS桶中,以便在需要时进行恢复。CSS集群快照分为两种方式:自动创建快照和手动创建快照。
- 自动创建快照:按照预设的时间策略自动执行快照备份操作,适合定期备份场景,例如每日或每周备份,以确保数据的持续保护。通过设置自动快照策略,用户可以减少手动操作,提高备份的可靠性和效率。
- 手动创建快照:用户根据需求手动触发快照备份操作,适合临时备份或特定场景,如在进行重大操作前(如集群升级)进行备份,以便在出现问题时能够快速恢复到之前的状态。手动快照提供了更高的灵活性,用户可以根据实际需求随时创建快照。
计费影响
当使用快照备份功能时,备份的快照存储在OBS桶中需要额外收费,具体收费说明请参见对象存储服务计费说明。
约束限制
- 备份与恢复索引功能上线之前(即2018年3月10日之前)创建的集群,无法创建快照。
- 集群快照会导致CPU、磁盘IO上升等影响,建议在业务低峰期进行操作。
- 备份与恢复过程中,支持访问Kibana、查看监控、删除其他快照的操作。不支持形态变更、重启此集群、删除此集群、删除正在创建或恢复的快照、再次创建或恢复快照的操作。当此集群正在进行创建快照或者恢复快照过程中,同时的自动创建快照任务将被取消。
- 集群第一次快照是全量备份,后面是在之前的快照基础上增量备份,增量快照逻辑会导致快照之间的文件会相互依赖,需按顺序恢复。
- 在配置了存算分离的集群中,冻结且关闭的索引数据不支持备份。
前提条件
- 确认已准备好用于存储快照的OBS桶。OBS桶必须和Elasticsearch集群位于同一“区域”,且“存储类别”为“标准存储”。
- 集群的“集群状态”为“可用”。
启用集群快照功能
- 登录云搜索服务管理控制台。
- 在左侧导航栏,选择“集群管理 > Elasticsearch”。
- 在集群列表,单击目标集群名称,进入集群详情页。
- 选择“集群快照”页签,查看集群是否启用快照功能。
- 是,则跳过该步骤。
- 否,则执行下一步。
- 在集群快照页面,单击“开启快照”,在弹窗中完成集群快照配置。
图1 开启快照
表1 配置开启快照 参数
说明
OBS桶
在下拉框中选择存储快照的OBS桶。
如果没有合适的OBS桶,可以单击“创建桶”跳转到OBS控制台创建OBS桶。具体操作请参见创建桶。
如果是IAM子账号,需要同时设置GetBucketStoragePolicy、GetBucketLocation、ListBucket、ListAllMyBuckets权限,才能看到OBS桶。
备份路径
设置快照在OBS桶中的存放路径。
备份路径配置规则:- 备份路径不能存在符号“\:*?"<>|'{}”。
- 备份路径不能以“/”开头。
- 备份路径不能以“.”开头或结尾。
- 备份路径不能包含两个以上连续的斜杆(/)或点(.)。
- 备份路径的总长度不能超过512字符。
最大备份速率(每秒)
配置每个节点的最大备份速率,当集群快照的备份速率超过设定值时将触发限流机制,防止速率太大导致资源占用过高,影响集群稳定性。实际备份速率可能因OBS性能、磁盘IO等限制而无法达到设定值。
取值格式:数字+单位- 数字的取值范围:0~9999
- 单位的取值范围:KB、MB、GB、TB、PB、B
默认取值:40MB
当填写0MB时,表示不限速。当备份速率过大时,可能导致集群资源占用过高,稳定性下降,建议谨慎配置。
最大恢复速率(每秒)
配置每个节点的最大恢复速率,当集群快照的恢复速率超过设定值时将触发限流机制,防止速率太大导致资源占用过高,影响集群稳定性。实际恢复速率可能因OBS性能、磁盘IO等限制而无法达到设定值。
取值格式:数字+单位- 数字的取值范围:0~9999
- 单位的取值范围:KB、MB、GB、TB、PB、B
默认取值:- 版本为7.6.2及之前的Elasticsearch集群,默认值是40MB。
- 版本高于7.6.2的Elasticsearch集群,默认值是0MB,表示不限速。
当恢复速率过大时,可能导致集群资源占用过高,稳定性下降,建议谨慎配置。
对于版本高于7.6.2的Elasticsearch集群,实际最大恢复速率还受限于“indices.recovery.max_bytes_per_sec”参数。- 当“最大恢复速率(每秒)”小于“indices.recovery.max_bytes_per_sec”时,实际限流值为“最大恢复速率(每秒)”。
- 当“最大恢复速率(每秒)”大于“indices.recovery.max_bytes_per_sec”时,实际限流值为“indices.recovery.max_bytes_per_sec”。
说明:- 当需要查看“indices.recovery.max_bytes_per_sec”参数值时,可以执行如下命令:
GET _cluster/settings
- 当需要修改“indices.recovery.max_bytes_per_sec”参数时,可以参考如下命令:
PUT _cluster/settings { "transient": { "indices.recovery.max_bytes_per_sec": "100mb" } }
IAM委托
选择IAM委托,授权当前账号访问和使用OBS的权限。快照数据存储到OBS桶中,需要OBS的操作权限。- 当首次配置委托时,可以单击“自动创建委托”新建委托“css_obs_agency”直接使用。
- 当已有自动创建的委托时,可以单击“委托一键授权”,自动删除委托中OBS Administrator系统策略的权限,并自动新增如下自定义策略授权委托到最小化权限。
"obs:bucket:GetBucketLocation", "obs:object:GetObjectVersion", "obs:object:GetObject", "obs:object:DeleteObject", "obs:bucket:HeadBucket", "obs:bucket:GetBucketStoragePolicy", "obs:object:DeleteObjectVersion", "obs:bucket:ListBucketVersions", "obs:bucket:ListBucket", "obs:object:PutObject"
- 当OBS桶使用SSE-KMS加密模式时,委托中需要包含KMS的权限,“自动创建委托”和“委托一键授权”会自动增加如下自定义策略授权委托到最小化权限。
"kms:cmk:create", "kms:dek:create", "kms:cmk:get", "kms:dek:decrypt", "kms:cmk:list"
- 执行“自动创建委托”和“委托一键授权”的用户需要如下最小权限。
"iam:agencies:listAgencies", "iam:roles:listRoles", "iam:agencies:getAgency", "iam:agencies:createAgency", "iam:permissions:listRolesForAgency", "iam:permissions:grantRoleToAgency", "iam:permissions:listRolesForAgencyOnProject", "iam:permissions:revokeRoleFromAgency", "iam:roles:createRole"
- 使用委托的用户需要如下最小权限。
"iam:agencies:listAgencies", "iam:agencies:getAgency", "iam:permissions:listRolesForAgencyOnProject", "iam:permissions:listRolesForAgency"
警告:委托名称必须仅包含字符a-z、A-Z、0-9、下划线(_)和短横线(-),否则会备份失败。
“自动创建集群快照”选项请根据业务需要决定是否启用。- 需要自动创建快照,则勾选“自动创建集群快照”选项,并参考自动创建快照完成配置。
- 不需要自动创建快照,手动创建快照即可满足业务需求,则取消勾选“自动创建集群快照”选项。
- 配置完成后,单击“确定”,启用集群快照功能。
此时集群快照页面会显示配置信息。
自动创建快照
当集群启用集群快照功能后,支持设置自动创建快照。
- 在集群快照页面,单击“修改配置”,在弹窗中勾选“自动创建集群快照”选项,并完成备份策略配置。
图2 修改配置
表2 配置自动创建快照 参数
说明
快照名称前缀
设置快照名称前缀,快照名称由快照名称前缀加上时间戳组成,例如“snapshot-1566921603720”。
快照名称前缀只能包含1到32位小写字母、数字、中划线或者下划线,并且以小写字母开头。
默认值是“snapshot”。
时区
指定备份时间对应的时区,基于此时区选择备份开始时间。
备份开始时间
指定自动备份的开始时间。
请在下拉框中选择时间。支持每小时、每天和每周,具体时间的取值范围是“00:00”~“23:00”,只能指定整点时间。
保留快照个数
自定义设置自动快照保留的个数,范围是1~90。系统在半点时刻会自动删除超过保留个数的快照(过期删除策略只针对与当前自动创建快照策略相同执行频次的自动快照)。说明:保存快照个数与自动创建快照策略中设置的执行频次和索引有关,当执行频次间隔时间短或索引数据量大,保留自动快照可能会达不到设置的个数。
索引
指定备份的索引名称。
- 支持恢复指定的索引,多个索引之间使用英文逗号隔开,例如“index1,index2,index3”。
- 支持使用“*”匹配多个索引,比如“index*”,表示恢复快照中名称前缀是index的所有索引。
如果不填写,则默认备份集群中所有索引。
索引名称不能包含空格、大写字母和特殊字符“"\<|>/?”。
说明:在使用GET /_cat/indices命令可以查询到集群中所有索引的名称。
- 配置完成后,单击“确定”,启用自动创建快照功能。
开启自动创建快照后,在集群快照页面会显示自动创建集群快照已开启。
图3 开启自动创建快照按照备份策略自动创建的快照将呈现在集群快照任务列表中,列表中会同时展示自动创建和手动创建的快照。
当“快照状态”为“可用”时,表示备份完成。如果快照创建失败,可以单击“查看失败任务数”了解失败原因。失败任务数最多显示20条,当快照功能关闭或集群删除时,失败记录也会被清空。
- 查看数据是否备份成功。
在集群快照任务列表中,单击快照名称,弹出查看详情对话框,获取备份的分片和索引信息,通过对比数据可以判断数据是否备份成功。
图4 查看详情 - 如需关闭自动创建快照,则单击“修改配置”,在弹窗中取消勾选“自动创建集群快照”选项,单击“确定”,在弹框中确认是否删除自动创建的快照,单击“确定”,关闭自动创建快照。
- 关闭自动快照时,勾选“删除自动创建的快照”选项,仅可删除已成功备份的快照,正在创建的快照将继续完成备份。
- 关闭自动创建快照时,如果未同步删除自动创建的快照,在重启自动创建快照功能时,集群中所有的自动创建的快照都无法被手动删除,只能随当前的备份策略被系统删除。例如,备份策略中定义的“保留快照个数”为“10”,那么当自动快照个数超过10个时,系统在半点时刻会自动删除超过保留个数的历史快照。
关闭自动创建快照后,在集群快照页面会显示自动创建集群快照未开启。
图5 关闭自动创建快照
手动创建快照
当集群启用集群快照功能后,支持手动创建快照。
- 在集群快照页面,单击“手动创建快照”,在弹窗中完成备份策略配置。
图6 手动创建快照
表3 创建快照配置 参数
说明
快照名称
设置快照名称。与自动创建的快照不同,手动创建的快照名称不会自动加上时间信息。
支持4~64个字符,只能包含小写字母、数字、中划线和下划线,且必须以字母开头。
索引
指定备份的索引名称。
- 支持恢复指定的索引,多个索引之间使用英文逗号隔开,例如“index1,index2,index3”。
- 支持使用“*”匹配多个索引,比如“index*”,表示恢复快照中名称前缀是index的所有索引。
如果不填写,则默认备份集群中所有索引。
索引名称不能包含空格、大写字母和特殊字符“"\<|>/?”。
说明:在使用GET /_cat/indices命令可以查询到集群中所有索引的名称。
快照描述
添加快照描述信息。
支持0~256个字符,不能包含特殊字符“!<>=&\"'”。
- 配置完成后,单击“确定”,开始创建快照。
手动创建的快照将呈现在集群快照任务列表中,列表中会同时展示自动创建和手动创建的快照。
当“快照状态”为“可用”时,表示备份完成。如果快照创建失败,可以单击“查看失败任务数”了解失败原因。失败任务数最多显示20条,当快照功能关闭或集群删除时,失败记录也会被清空。
- 查看数据是否备份成功。
在集群快照任务列表中,单击快照名称,弹出查看详情对话框,获取备份的分片和索引信息,通过对比数据可以判断数据是否备份成功。
图7 查看详情
关闭集群快照功能
当不再使用集群快照功能时,支持关闭快照,释放存储资源。
在集群快照页面,单击“关闭快照”,在弹框中单击“确定”即可关闭集群快照功能。关闭后,快照数据不会自动清理,需前往OBS控制台手动清理。

相关文档
使用快照备份和恢复可以实现集群间的数据迁移,请参见通过备份与恢复实现华为云Elasticsearch集群间数据迁移