时间点恢复¶
新增版本:1.3.0
时间点恢复是将数据库恢复到特定的时间戳。时间点恢复包括从备份快照恢复数据和重放该数据在指定时间之前发生的所有事件oplog片.及时恢复可以帮助您防止灾难期间的数据丢失,例如数据库崩溃、意外删除或删除表、不必要地更新多个字段(而不是单个字段)。
如果要启用时间点恢复,请设置pitr.enabled配置选项。
pbm配置——设置pitr.enabled=真正的
pitr:启用:真正的
Oplog切片¶
启用时间点恢复功能后pbm-agent文件的连续切片定期保存oplog.类似于复制集节点选择新主节点的方法用于选择pbm-agent这将保存oplog切片。(详情见pbm-agent.)
为了开始保存oplog, Percona Ba雷竞技下载官网ckup for MongoDB需要一个备份快照。因此,在启用时间点恢复时,请确保备份存在。
重要的
如果你reshard在MongoDB 5.0及以上版本中,重新备份并重新启用时间点恢复oplog切片,防止数据不一致和恢复失败。
Oplog持续时间¶
新增版本:1.6.0
默认情况下,一个片覆盖10分钟的oplog事件。如果某个时间点的恢复被备份快照操作的开始禁用或中断,则恢复时间可以更短。
您可以通过配置文件更改oplog跨度的持续时间。属性的新值(单位为分钟)pitr.oplogSpanMin选择。
pbm配置——设置pitr.oplogSpanMin=5
pitr:oplogSpanMin:5
时设置新的持续时间pbm-agent正在制作一个oplog切片,切片的跨度立即更新。
如果新的持续时间较短,则会触发pbm-agent立即用更新后的跨度制作一个新片。如果新的持续时间较大pbm-agent在预定的时间内使用更新后的跨度生成下一个片。
压缩的oplog切片¶
新增版本:1.7.0
oplog切片使用s2默认为压缩方法。您可以通过配置文件指定不同的压缩方法。属性的新值pitr.compression选择。
pbm配置——设置pitr.compression=gzip
pitr:压缩:gzip
支持的压缩方法有:gzip,时髦的,lz4,s2,pgzip,zstd.
属性覆盖压缩方法使用的压缩级别pitr.compressionLevel选择。每个压缩级别的默认值不同。
注意,指定的值越高,压缩数据所需的时间和计算资源就越多。
请注意
备份快照和时间点恢复切片可以使用不同的压缩方式。但是,与备份快照相关的oplog使用与备份本身相同的压缩方法进行压缩。
oplog切片存储在pbmPitr子目录中的在配置中定义的远程存储.片名反映了该片覆盖的开始和结束时间。
的pbm列表输出包括以下信息:
- 备份快照。从版本1.4.0开始,它还显示了完成时间
- 恢复的有效时间范围
- 时间点恢复状态。
pbm列表202108-04t13:00:58z[restore_to_time:202108-04t13:01:23z]202108-05t13:00:47z[restore_to_time:202108-05t13:01:11z]202108-06t08:02:44z[restore_to_time:202108-06t08:03:09z]202108-06t08:03:43z[restore_to_time:202108-06t08:04:08z]202108-06t08:18:17z[restore_to_time:202108-06t08:18:41z]PITR<关闭>:202108-04t13:01:24-202108-05t13:00:11202108-06t08:03:10-202108-06t08:18:29202108-06t08:18:42-202108-06t08:33:09
请注意
如果您刚刚启用了时间点恢复,则在pbm列表输出为空。第一个块出现在列表中需要10分钟。
恢复到该时间点¶
恢复和时间点恢复日志切片是不兼容的操作,不能同时运行。在恢复数据库之前,必须禁用时间点恢复功能:
pbm配置——设置pitr.enabled=假
从逻辑备份¶
运行pbm恢复并指定有效范围内的时间戳:
pbm恢复——时间=“2020 - 12 - 14 - t14:27:04”
恢复到该时间点需要备份快照和可以在此备份之上重播的oplog片。为恢复指定的时间戳必须在PITR部分的时间范围内pbm列表输出。雷竞技下载官网Percona Backup for MongoDB自动选择与指定时间戳相关的最新备份,并将其作为恢复的基础。
为了说明这种行为,让我们使用pbm列表前一个示例的输出。的时间戳2021 - 08 - 06 - t08:10:10,备份快照2021-08-06T08:02:44Z [restore_to_time: 2021-08-06T08:03:09]用作恢复的基础,因为它是最近的一个。
如果你选择用于恢复的备份快照-base-snapshot选项时,恢复的时间戳也必须晚于所选备份。
另请参阅
恢复操作将改变oplog事件的时间线。因此,在恢复时间戳之后和最后一次备份之前所做的所有oplog切片都将失效。恢复完成后,做一个新的备份,作为oplog更新的起点:
pbm备份
重新启用时间点恢复功能,恢复保存oplog切片:
pbm配置——设置pitr.enabled=真正的
选择用于恢复的备份快照¶
新增版本:1.6.0
您可以使用任何备份快照将数据库恢复到特定的时间点,而不仅仅是最近的备份快照。运行pbm恢复命令使用——base-snapshot = < backup_name >指定所需备份快照的位置。
为了从任何备份快照恢复,Percona backup for MongoD雷竞技下载官网B需要连续的oplog。创建备份快照并重新启用时间点恢复后,将备份快照保存的oplog进行复制,并从最近一个切片的结束时间开始创建oplog切片,直到新的起始点,使oplog连续。
从物理备份¶
从物理备份进行时间点恢复包括两个步骤:首先,恢复备份快照,然后在其上重放oplog事件,直到特定的时间戳。
提示
如果只创建物理备份快照,请设置pitr.oplogOnly = true配置参数以在没有强制逻辑基快照的情况下启动oplog切片。
需要恢复已备份的快照,使用pbm恢复命令指定备份名称:
pbm恢复< backup_name >
要将oplog重放到特定的时间戳,请执行以下操作:
停止oplog切片,如果启用,释放锁。
运行
pbm状态或pbm列表查找可重播的oplog块的命令。运行
pbm oplog-replay命令并指定——开始而且——结束带有时间戳的标记。指定——开始的时间戳至少提前1秒restore_to_time所恢复的备份快照。pbmoplog-replay——开始=“<时间戳>”——结束=“<时间戳>”在oplog重放后,重新备份,并启用时间点恢复oplog切片。
另请参阅
删除备份¶
新增版本:1.6.0
备份快照和oplog切片分别使用命令删除:pbm delete-backup而且pbm delete-pitr分别。
删除备份快照¶
有关Mo雷竞技下载官网ngoDB 1.6.0及以后版本的Percona Backup,请参见删除备份用于备份删除流程。
对于Pe雷竞技下载官网rcona Backup For MongoDB 1.5.0及更早版本,当您删除备份时,与此备份相关的所有oplog切片也会被删除。例如,删除备份快照2020 - 07 - 24 - t18:13:09还有另一个快照2020 - 08 - 05 - t04:27:55在它之后创建。的pbm-agent只删除与。相关的oplog片2020 - 07 - 24 - t18:13:09.
如果删除比指定时间更早的备份,同样适用。
注意:启用时间点恢复时,不会删除与该时间点相关的最近的备份快照和oplog切片。
删除oplog切片¶
运行pbm delete-pitr允许您删除旧的和/或不必要的切片并节省存储空间。要查看oplog切片,请使用pbm列表命令。
如果已删除快照,并希望删除oplog切片,请使用PBM清单——不受支持命令查看。
参数可以删除所有块——所有国旗。或者,您可以删除在指定时间之前创建的所有片——以上国旗。在本例中,指定时间戳作为参数pbm delete-pitr格式如下:
% Y - % M - H % DT %: % M: % S(例如2021-07-20T10:01:18)Y - % - % D %(2021-07-20)。
pbmdelete-pitr——以上202107-20t10:01:18
要启用时间点恢复从最近的备份快照中,Percona backup for MongoDB不会雷竞技下载官网删除在该快照之后创建的切片。例如,如果最近的快照为2021-07-20T07:05:23Z [restore_to_time: 2021-07-21T07:05:44]然后指定时间戳2021 - 07 - 20 - t07:05:44, 雷竞技下载官网Percona Backup for MongoDB只删除以前做的切片2021 - 07 - 20 - t07:05:23z.
创建:2023年3月23日