创建快照备份Elasticsearch集群数据
本文介绍CSS集群快照备份的两种方式:自动创建快照和手动创建快照。
约束限制
- 备份与恢复索引功能上线之前(即2018年3月10日之前)创建的集群,无法创建快照。
- 集群快照会导致CPU、磁盘IO上升等影响,建议在业务低峰期进行操作。
- 当集群处于“不可用”状态时,快照功能中除了恢复快照功能外,其他快照信息或功能只能查看,无法进行编辑。
- 备份与恢复过程中,支持集群扩容(如果是恢复至本集群,则本集群不支持扩容)、访问Kibana、查看监控、删除其他快照的操作。不支持重启此集群、删除此集群、删除正在创建或恢复的快照、再次创建或恢复快照的操作。当此集群正在进行创建快照或者恢复快照过程中,同时的自动创建快照任务将被取消。
- CSS集群第一次快照是全量,后面再备份快照是在之前的快照基础上增量,CSS是增量快照逻辑,快照之间的文件会相互依赖。
- 在配置了存算分离的集群中,冻结且关闭的索引数据不支持备份。
前提条件
- 已创建用于存储快照的OBS桶。快照存储在OBS桶中需要额外收费,具体收费请参见OBS计费说明。
设置自动创建快照
- 登录云搜索服务管理控制台。
- 开启集群自动创建快照。支持在创建集群的时候就打开集群自动创建快照,操作指导请参见7,或者在集群创建完成之后再开启集群自动创建快照。
- 如果在创建集群时已经打开集群自动创建快照,请执行7。
- 如果是集群创建完成之后开启集群自动创建快照,请执行下一步。
- 在“集群管理”页面,单击需要进行备份的集群名称,进入集群基本信息页面。在左侧导航栏选择“集群快照”,进入“集群快照”管理页面。
或者,在“集群管理”页面,单击对应集群“操作”列的“更多>备份与恢复”,进入“集群快照”管理页面。
- 在“集群快照”管理页面,单击“集群快照开关”右侧开关,打开集群快照功能。如果已打开集群快照功能,则跳过该步骤。
打开集群快照功能后,CSS服务会自动为客户创建OBS桶和IAM委托,用于存储快照。自动创建的OBS桶和IAM委托将直接展示在界面中。
当需要修改OBS桶和IAM委托时,可以单击“基础配置”右侧的修改。修改后,集群将会从新的OBS桶中获取快照数据。
表1 集群快照基础配置 参数
说明
OBS桶
在下拉框中选择存储快照的OBS桶。也可以单击右侧的“创建桶”新建OBS。详细操作步骤请参见创建桶。
创建或者已存在的OBS桶需满足如下条件:
- “存储类别”为“标准存储”。
- “区域”须与创建的集群所在区域相同。
备份路径
快照在OBS桶中的存放路径。
备份路径配置规则:- 备份路径不能使用符号“\:*?"<>|”。
- 备份路径不能以“/”开头。
- 备份路径不能以“.”开头或结尾。
- 备份路径的总长度不能超过1023个字符。
IAM委托
快照数据存储到OBS桶中,需要OBS的操作权限。选择IAM委托,授权当前账号访问和使用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"
- “自动创建委托”和“委托一键授权”需要如下最小权限。
"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"
- 在“自动创建快照”右侧,单击开关开启自动创建快照功能,弹出“创建快照策略”页面。如果已启用自动创建快照功能,也可以在开关右侧单击进行快照策略修改。
表2 设置自动创建快照 参数
说明
快照名称前缀
快照名称前缀的长度为1~32个字符,只能包含小写字母、数字、中划线和下划线,且必须以小写字母开头。快照名称由快照名称前缀加上时间戳组成,例如自动生成的快照名称为“snapshot-1566921603720”。
时区
指备份时间对应的时区,不支持修改。基于此时区选择备份开始时间。
备份开始时间
指每天自动开始备份的时间,只能指定整点时间,如00:00、01:00,取值范围为00:00~23:00。请在下拉框中选择时间。
保留快照个数
自定义设置自动快照保留的个数,范围是1~90。系统在半点时刻会自动删除超过保留个数的快照(过期删除策略只针对与当前自动创建快照策略相同执行频次的自动快照)。说明:保存快照个数与自动创建快照策略中设置的执行频次和索引有关,当执行频次间隔时间短或索引数量最大,保留自动快照可能会达不到设置的个数,请谨慎选择。
索引
填写索引名称,支持选择索引进行备份。索引名称不能包含空格和大写字母,且不能包含“"\<|>/?”特殊字符,多个索引之间使用英文逗号隔开。如果不填写,则默认备份集群中所有索引。支持使用“*”匹配多个索引,例如“index*”,表示备份名称前缀是index的所有索引的数据。
说明:在Kibana中使用GET /_cat/indices命令,可以查询集群中所有索引的名称。
图1 自动创建快照
- 确定要设置当前选择的自动备份策略,请在输入框输入“CONFIRM”,设置完成后,单击“确定”保存快照策略。
- 按照策略自动创建的快照将呈现在快照管理列表中。快照列表同时展示自动创建和手动创建的快照,您可以通过快照类型参数进行区分。在快照列表右上角,您可以输入快照名称或快照ID的关键字进行查找。
如果快照创建失败,可以在快照列表的右侧单击查看“失败任务数”,了解失败原因。失败任务数最多显示20条,当快照功能关闭或集群删除时,失败记录也会被清空。
- (可选)关闭自动创建快照功能。
关闭自动创建快照功能后,系统将停止继续自动创建快照。如果系统正在根据策略自动创建快照,而快照列表还未呈现正在创建的快照时,无法关闭自动创建快照功能。如果您单击了关闭按钮,系统将提示您无法关闭。建议等快照自动创建成功后,即快照列表已出现最新创建的快照时,再单击关闭按钮,关闭自动创建快照功能。
关闭自动创建快照功能时,您可以在弹出窗口中通过“删除自动创建的快照”选项,选择是否立即删除之前已自动创建的快照,默认不勾选。
- 不勾选:表示不会删除关闭此功能前已自动创建的快照。如果不删除,后续还可以在快照列表中通过删除按钮手动删除,详细操作指导请参见删除Elasticsearch集群快照。如果未手动删除,且之后用户又重新开启了自动创建快照功能,那么此集群中所有“快照类型”为自动创建的快照(包含开启自动创建快照功能前已存在的自动创建的快照)都无法手动删除,只会被系统自动删除。系统会基于重新开启自动创建快照功能时的配置策略进行自动删除,例如此策略中定义的保留快照个数为10个,那么当快照个数超过10个,系统在半点时刻会自动删除超过保留个数的快照。
- 勾选:表示删除此集群快照列表中所有“快照类型”为自动创建的快照。
快照功能关闭时,不会主动清理快照数据。如果需要清理快照数据,可前往OBS控制台存储快照的OBS桶对快照数据进行主动管理。
手动创建快照
- 登录云搜索服务管理控制台。
- 在“集群管理”页面,单击需要进行备份的集群名称,进入集群基本信息页面。在左侧导航栏选择“集群快照”,进入“集群快照”管理页面。
或者,在“集群管理”页面,单击对应集群“操作”列的“更多>备份与恢复”,进入“集群快照”管理页面。
- 在“集群快照”管理页面,单击“集群快照开关”右侧开关,打开集群快照功能。如果已打开集群快照功能,则跳过该步骤。
打开集群快照功能后,CSS服务会自动为客户创建OBS桶和IAM委托,用于存储快照。自动创建的OBS桶和IAM委托将直接展示在界面中。
当需要修改OBS桶和IAM委托时,可以单击“基础配置”右侧的修改。修改后,集群将会从新的OBS桶中获取快照数据。
表3 集群快照基础配置 参数
说明
OBS桶
在下拉框中选择存储快照的OBS桶。也可以单击右侧的“创建桶”新建OBS。详细操作步骤请参见创建桶。
创建或者已存在的OBS桶需满足如下条件:
- “存储类别”为“标准存储”。
- “区域”须与创建的集群所在区域相同。
备份路径
快照在OBS桶中的存放路径。
备份路径配置规则:- 备份路径不能使用符号“\:*?"<>|”。
- 备份路径不能以“/”开头。
- 备份路径不能以“.”开头或结尾。
- 备份路径的总长度不能超过1023个字符。
IAM委托
快照数据存储到OBS桶中,需要OBS的操作权限。选择IAM委托,授权当前账号访问和使用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"
- “自动创建委托”和“委托一键授权”需要如下最小权限。
"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"
- 完成基础配置后,单击下方“创建快照”可手动创建快照。
表4 创建快照配置 参数
说明
快照名称
手动创建的快照名称,4~64个字符,只能包含小写字母、数字、中划线和下划线,且必须以字母开头。与自动创建不同,手动创建的快照名称按照用户设置的名称,不会自动加上时间信息。
索引
填写索引名称,支持选择索引进行备份。索引名称不能包含空格和大写字母,且不能包含“"\<|>/?”特殊字符,多个索引之间使用英文逗号隔开。如果不填写,则默认备份集群中所有索引。支持使用“*”匹配多个索引,例如“index*”,表示备份名称前缀是index的所有索引的数据。
说明:在Kibana中使用GET /_cat/indices命令,可以查询集群中所有索引的名称。
快照描述
创建的快照描述信息。0~256个字符,不能包含“<>”字符。
图2 手动创建快照
- 单击“确定”开始创建快照。
快照创建完成后,将直接呈现在快照管理列表中,快照状态为“可用”表示快照创建成功。快照列表同时展示自动创建和手动创建的快照,您可以通过快照类型参数进行区分。在快照列表右上角,您可以输入快照名称或快照ID的关键字进行查找。
如果快照创建失败,可以在快照列表的右侧单击查看“失败任务数”,了解失败原因。失败任务数最多显示20条,当快照功能关闭或集群删除时,失败记录也会被清空。