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