开启数据闪回后,在备份文件的保存期内,您可以将实例整体或指定Key的数据恢复至某个秒级的时间点(PITR,point-in-time recovery),同时支持选择将数据恢复至新实例或当前实例。数据闪回功能拥有更精细化的数据恢复能力,能最大程度地降低误操作带来的数据损失,保护您的数据安全。
数据闪回功能概述
为保护您在云上的业务数据,Tair(企业版)除支持通过RDB快照执行数据备份和恢复以外,提供了数据闪回功能,优化基于AOF(Append-only-file)的持久化机制,将AOF增量归档,可实现方便快捷的秒级恢复,提升运维便捷性,可将其作为持久化存储引擎。
开启数据闪回功能后,在备份文件的保存期内(最长7天),您可以将实例整体或指定Key的数据恢复某个时间点(秒级),同时支持选择将数据恢复至新实例或当前实例,拥有更精细化的数据恢复能力,最大程度上避免误操作带来的数据损失。
恢复数据至原实例时,由于待恢复的Key会被写回原实例,可能会引起原实例的QPS或延迟上升,请在业务低峰期操作。
前提条件
您可以在控制台查看实例的实例规格信息,确认实例架构。
使用限制
由于开启数据闪回功能后,系统需要上传相关的数据与日志,请勿在开启后立即使用,如需使用此功能请提前开启。
可恢复的时间范围为当前时间点至数据闪回功能开启的时间点(最长为7天)。
开启数据闪回功能后,如下操作会关闭数据闪回功能或影响可恢复的时间点。
若变配实例的架构(例如从标准架构变配至集群架构等)、迁移可用区操作,数据闪回功能将关闭,如需继续使用请重新配置。
若新增或删减了集群架构的分片数,数据闪回功能备份的新、老节点数据可能会不一致,如需继续使用请重新配置。
若执行了变更配置、升级小版本等操作,可恢复的时间点将以完成变更配置的时间点为起点。
云原生版实例仅支持恢复全量数据至新实例中,不支持恢复指定Key。
当实例的写入速率超过20MB/s时,可能会导致AOF文件归档不及时或者归档失败。若AOF文件归档失败,从AOF文件归档失败到下一次完成全量备份开始之前,这段时间段无法进行数据闪回。
默认情况下,实例会在备库上进行数据备份,但实例若开启本功能,则会在实例主库进行数据备份。
费用说明
数据闪回功能处于试用期,目前可免费恢复7天内的数据,正式推出后将根据恢复的时间点收取费用,请关注本文或官网公告。
执行数据闪回时,如果选择为恢复至新实例,系统将创建一个新的实例并将数据恢复至该实例(可选择付费类型为按量付费,验证完成后释放),您需要为新实例支付相关费用,详情请参见计费项。
开启数据闪回
访问实例列表,在上方选择地域,然后单击目标实例ID。
在左侧导航栏,单击备份与恢复。
在备份与恢复页面,单击数据闪回页签。
单击马上开启。
由于系统需要上传相关的数据与日志,开启数据闪回功能需要一定时间,控制台将显示预计开启完成的时间点。
重要在数据闪回功能完全开启后,写入的数据才支持被闪回。
执行数据闪回
访问实例列表,在上方选择地域,然后单击目标实例ID。
在左侧导航栏,单击备份与恢复。
在备份与恢复页面,单击数据闪回页签。
单击马上闪回,在弹出的界面中完成闪回配置。
参数
说明
闪回数据
全量数据:恢复实例中的所有数据。
指定Key:指定要恢复的Key,每行填写1个Key名,支持正则表达式,例如:
英文句号(.):匹配除
'\r\n'
之外的任何单个字符。星号(*):匹配前面子表达式任意次,例如
h.*llo
将匹配hllo
或heeeello
等。英文问号(?):表示匹配前面子表达式零次或1次,例如
h.?llo
将匹配hllo
或hello
。字符集合[characters]:匹配方括号内任意一个字符,例如
h[ae]llo
将匹配hallo
或hello
。负值字符集合[^characters]:不匹配方括号内任意一个字符,例如
h[^ae]llo
将匹配hcllo
或hdllo
,但不匹配hallo
或hello
。字符范围[character1-character2]:匹配
character1-character2
范围内的字符,例如h[a-b]llo
将匹配hallo
和hbllo
。
说明为避免影响数据恢复的速度,推荐指定的Key不超过10个,如果是带正则表达式的Key,不超过3个。
恢复模式
新建实例:将数据恢复至新实例。
原实例:将数据恢复至当前实例。
警告仅当选择闪回数据为指定Key时,支持恢复至原实例。
实例会删除指定Key,再根据备份集将指定Key恢复至指点时间点,对实例中其他Key数据不产生影响。
闪回时间点
指定闪回时间点(即数据要恢复到的时间点)。
过期KEY时间处理方式
默认:对Key的过期时间不进行处理,若Key在提交本次恢复任务时已过期,将无法被恢复。
时间偏移:对Key的过期时间进行偏移处理,同时您还需设置过期偏移时间。实例会在设置的过期偏移时间点开始计算Key在指定闪回时间点剩余的过期时长。
例如在2022年12月12日10:30:00对Key
foo
进行恢复 ,设置过期偏移时间为2022年12月12日10:30:00,指定闪回时间点为2022年12月12日10:00:00,若在2022年12月12日10:00:00时foo
的剩余过期时长为10s,则foo
将于2022年12月12日10:30:10过期。说明仅经典版实例支持该功能。
过期偏移时间不能早于指定的闪回时间点,也不能晚于提交恢复任务的时间点。
单击确定。
选择恢复模式为原实例时,当前实例将进入备份恢复中状态,等待实例状态变更为运行中即可。
选择恢复模式为新建实例时,您需要在跳转到的克隆实例,选择备份时间点(即数据要恢复到的时间点)和新实例的配置。
说明新实例的架构需选择为标准版或集群版,且实例规格的容量需大于等于原实例,关于创建实例的各参数的解释,请参见创建Redis实例。
相关API
API接口 | 说明 |
修改实例的自动备份策略,可通过EnableBackupLog参数开启或关闭数据闪回功能。 同时,您还需确保已在实例的参数设置中开启AOF持久化(appendonly为yes),开启后才能使用数据闪回功能,更多信息请参见Tair企业版配置参数列表。 | |
将备份文件中的数据恢复到当前实例中,结合数据闪回更可实现将指定的Key恢复至某个秒级时间点。 |