使用zfs进行pg的pitr恢复测试

前段时间做了一下zfs做pg的增量恢复测试,mark一下。

服务器信息:

 

主机:192.168.173.43

 

备机:192.168.173.41

 

 

 

主备使用流复制搭建,在备机上面进行了zfs快照备份。

 

 

 

zfs快照备份:

 

备机:

 

1、2016-04-02 15:43:34对存放pg数据的zfs dataset zp1/data01进行快照备份。

 

数据总大小135MB,使用zfs快照备份后的大小为90.5KB

 

 

测试主机误删数据:

 

主机:

 

1、主机在build_test表中2016-04-02 15:58:14.28603 时,插入一条记录。

 

2016-04-02 16:01:09.169471+08时,将build_test表清空。

在备机使用zfs快照+pitr恢复:

 

 

备机:

1、      查看之前做的zfs快照备份:

我们需要恢复到表删除之前,这里需要使用zp1/data01@2016-04-0215:43:34来做恢复,最新的快照备份中build_test数据已经删除。

2、  由于zfs快照恢复是使用最近的快照恢复,之间做的快照都要destroy掉,这里我们使用clone来做恢复。

3、  在使用clone恢复时,需要修改archive_command,以免覆盖原有的wal。可以将archive_command注释,修改port和删掉postmaster.pid文件。

4、  修改recovery.conf文件,确定需要恢复的时间点。我们这里是恢复到时间点之前:2016-04-02 16:01:09.169471+08,这里填写的恢复到的时间点是2016-04-02 16:00:09

5、  启动数据库服务

6、  登录入数据库查看数据是否已恢复:

查看build_test表,看到该表数据已恢复。

 

注:由于pg没有oracle的rman的增量备份方式,完全可以通过zfs做快照的方式来实现。而且zfs做快照每次做的快照也是增量的,而且可以开启压缩,所以空间非常小.

posted on 2016-04-27 17:06  Still water run deep  阅读(424)  评论(0编辑  收藏  举报

导航