PostgreSQL快速恢复到任意时间点的方法

文档序号:6638042阅读:5024来源:国知局
PostgreSQL快速恢复到任意时间点的方法【专利摘要】本发明涉及一种PostgreSQL快速恢复到任意时间点的方法。解决了现有技术不能实时快速备份的问题,技术方案为:包括XLOG归档文件存储步骤,生产数据库实施步骤、数据文件备份存储步骤、数据库STANDBY步骤和监控的步骤。1、利用流复制来备份,解决数据文件备份时产生的大量读的问题。因此数据文件备份不需要读数据库文件,而只需要读xlog或xlog的归档文件。2、利用文件块级别的增量备份来解决数据文件重复备份的带来的数据文件备份容量需求的问题,快照不会产生重复数据,因此非常节约空间。3、利用文件系统克隆技术,将备份集克隆,克隆只产生增量数据,因此解决数据还原的额外容量需求,而且原有备份集还能继续使用。【专利说明】PostgreSQL快速恢复到任意时间点的方法【
技术领域
】[0001]本发明是一种数据存储方法,特别是涉及一种PostgreSQL快速恢复到任意时间点的方法。【
背景技术
】[0002]现有的PostgreSQL数据库备份有两种方法,逻辑备份和数据文件备份加归档文件备份。逻辑备份的缺陷不能做增量备份,例如一个表备份一次后,如果数据变更了一部分,下次逻辑备份还需要全部备份。2备份需开启一个repeatableread隔离级别的事务,在备份期间,已有的数据如果被其他会话更新或删除产生的垃圾数据不能回收,因此备份时间越长,数据库膨胀越厉害。3数据恢复时,只能恢复到备份时间点,不能恢复到故障发生时间点。所以会丢掉一些备份后产生的数据。4逻辑备份的还原时间受到备份集合大小的影响,备份集合越大,还原时间越长。数据文件备份加归档文件备份解决了逻辑备份的缺陷,但是也存在自身的缺陷数据文件加归档文件备份的还原时间受到需要的归档文件多少的影响,如果要恢复到任意时间点,需要数据文件备份加上备份检查点后产生的所有归档文件。如果恢复的时间点需要很多归档文件来恢复的话,恢复时间需要很长。数据库变更越频繁,恢复需要的归档文件就越多,恢复时间越长。2如果要解决恢复时间长的问题,那么需要提高数据文件的备份频率,这样又带来一个问题,需要更多的备份空间。3提高数据文件的备份频率,还会增加数据库的读压力。4备份集一旦用作还原后,这个备份集就不能再次使用了,所以如果要保证备份集还能继续使用,则需要额外的空间来保存原有的备份集。[0003]对比技术:CN1784676【公开日】:2006年6月7日,公开内容:数据库数据恢复系统和方法,本发明涉及例如在用户错误出现之后数据恢复的系统和方法。特别地,可维持储存数据库数据的副本的快照数据库。快照数据库不必储存源数据库上所有数据的完整副本,但是其要共享对两者公用但不必等同的数据。若错误出现在主要数据库上,则数据库可通过用快照文件替换源数据库文件来还原到错误之前的时间点处。另外,一撤销组件可结合快照使用,以使错误接近于较细粒度的时间点。但是只做到这个程度在信息爆炸的时代是不够的,我们仍然需要一种PostgreSQL快速恢复到任意时间点的方法。【
发明内容】[0004]本发明的目的是为解决目前的技术方案存在无法实现PostgreSQL快速恢复到任意时间点的问题,提供一种PostgreSQL快速恢复到任意时间点的方法。[0005]本发明解决其技术问题所采用的技术方案是:一种PostgreSQL快速恢复到任意时间点的方法,其特征在于:包括XLOG归档文件存储步骤,生产数据库实施步骤、数据文件备份存储步骤、数据库STANDBY步骤和监控的步骤,[0006]所述XLOG归档文件存储步骤包括:[0007]XLOG归档文件存储步骤一:配置网络,防火墙,硬件服务器允许生产数据库和数据文件备份主机连接NFS接口,[0008]XLOG归档文件存储步骤二:配置zfs存储池,将若干块硬盘添加到zfs存储池,配置冗余机制,确保块设备部分损坏可以继续工作,[0009]XLOG归档文件存储步骤三:根据上述步骤创建zfs卷,并配置相应的压缩属性,[0010]XLOG归档文件存储步骤四:配置NFS,允许生产数据库和数据文件备份主机挂载,允许生产数据库写操作;[0011]生产数据库实施步骤包括:[0012]生产数据库实施步骤一:挂载XLOG归档NFS,测试可写性,若测试可写性错误则重新执行XLOG归档文件存储步骤四,[0013]生产数据库实施步骤二:开启归档,并配置归档命令,测试归档文件正常写入XLOG归档NFS目录,[0014]生产数据库实施步骤三:配置流复制,允许数据文件备份主机通过流复制协议将实时数据块变更连接过来;[0015]数据文件备份存储步骤包括:[0016]数据文件备份存储步骤一:配置zfs存储池,将若干块硬盘添加到zfs存储池,配置冗余机制,确保块设备部分损坏可以继续工作,[0017]数据文件备份存储步骤二:创建zfs,配置压缩属性,为每一个生产数据库配置一个zfs,[0018]数据文件备份存储步骤三:配置快照计划任务,定时创建zfs的快照;[0019]数据库STANDBY步骤包括以下步骤:[0020]数据库STANDBY步骤一:配置密码文件,用于通过流复制协议连接生产数据库,[0021]数据库STANDBY步骤二:使用pg_baSebackup创建初始数据文件,若此次运行为首次运行时对全量进行备份,[0022]数据库STANDBY步骤三:根据配置的流复制方式,通过流复制协议从生产库实时获取XLOG的变更并实时恢复;[0023]监控的步骤包括以下步骤:[0024]监控的步骤一:添加主机网络的监控,三台硬件主机分别为,监控XLOG归档存储主机,生产数据库主机,数据库STANDBY主机,[0025]监控的步骤二:添加服务的监控,监控XLOG归档存储主机的NFS服务,生产数据库的监听服务,数据库STANDBY的监听服务,[0026]监控的步骤三:添加数据库的监控,监控生产数据库归档的状态和延迟,监控数据库STANDBY流复制的延迟,监控zfs快照的状态。[0027]本发明对数据文件加归档文件的备份加以改进,[0028]1.利用流复制来备份,解决数据文件备份时产生的大量读的问题。因此数据文件备份不需要读数据库文件,而只需要读Xlog或Xlog的归档文件。[0029]2.利用文件块级别的增量备份来解决数据文件重复备份的带来的数据文件备份容量需求的问题,快照不会产生重复数据,因此非常节约空间。[0030]3.利用文件系统克隆技术,将备份集克隆,克隆只产生增量数据,因此解决数据还原的额外容量需求,而且原有备份集还能继续使用。[0031]4.利用压缩技术,进一步减少备份集的空间占用,归档文件可节约三分之二的空间,数据文件视存储的数据而定,一般也可节约三分之二的空间。[0032]5.利用开源的监控技术,监控流复制的延迟,zfs的健康状态,归档的健康状态。[0033]作为优选,在监控的步骤时,记录时间点之后采用短信通知的方式通知监控人员。[0034]作为优选,所述快照技术只记录增量数据。[0035]作为优选,对XLOG文件归档采用的是流复制的方法进行。[0036]本发明的实质性效果是:1.利用流复制来备份,解决数据文件备份时产生的大量读的问题。因此数据文件备份不需要读数据库文件,而只需要读xlog或xlog的归档文件。2.利用文件块级别的增量备份来解决数据文件重复备份的带来的数据文件备份容量需求的问题,快照不会产生重复数据,因此非常节约空间。3.利用文件系统克隆技术,将备份集克隆,克隆只产生增量数据,因此解决数据还原的额外容量需求,而且原有备份集还能继续使用。4.利用压缩技术,进一步减少备份集的空间占用,归档文件可节约三分之二的空间,数据文件视存储的数据而定,一般也可节约三分之二的空间。5.利用开源的监控技术,监控流复制的延迟,zfs的健康状态,归档的健康状态。【专利附图】【附图说明】[0037]图1为本发明中的整体架构图;[0038]图2为本发明中的MonetDBHA架构图。【具体实施方式】[0039]下面通过具体实施例,并结合附图,对本发明的技术方案作进一步的具体说明。[0040]实施例:[0041]一种PostgreSQL快速恢复到任意时间点的方法(参见附图1和附图2),包括XLOG归档文件存储步骤,生产数据库实施步骤、数据文件备份存储步骤、数据库STANDBY步骤和监控的步骤,[0042]所述XLOG归档文件存储步骤包括:[0043]XLOG归档文件存储步骤一:配置网络,防火墙,硬件服务器允许生产数据库和数据文件备份主机连接NFS接口,[0044]XLOG归档文件存储步骤二:配置zfs存储池,将若干块硬盘添加到zfs存储池,配置冗余机制,确保块设备部分损坏可以继续工作,[0045]XLOG归档文件存储步骤三:根据上述步骤创建zfs卷,并配置相应的压缩属性,[0046]XLOG归档文件存储步骤四:配置NFS,允许生产数据库和数据文件备份主机挂载,允许生产数据库写操作;[0047]生产数据库实施步骤包括:[0048]生产数据库实施步骤一:挂载XLOG归档NFS,测试可写性,若测试可写性错误则重新执行XLOG归档文件存储步骤四,[0049]生产数据库实施步骤二:开启归档,并配置归档命令,测试归档文件正常写入XLOG归档NFS目录,[0050]生产数据库实施步骤三:配置流复制,允许数据文件备份主机通过流复制协议将实时数据块变更连接过来;[0051]数据文件备份存储步骤包括:[0052]数据文件备份存储步骤一:配置zfs存储池,将若干块硬盘添加到zfs存储池,配置冗余机制,确保块设备部分损坏可以继续工作,[0053]数据文件备份存储步骤二:创建zfs,配置压缩属性,为每一个生产数据库配置一个zfs,[0054]数据文件备份存储步骤三:配置快照计划任务,定时创建zfs的快照;[0055]数据库STANDBY步骤包括以下步骤:[0056]数据库STANDBY步骤一:配置密码文件,用于通过流复制协议连接生产数据库,[0057]数据库STANDBY步骤二:使用pg_baSebackup创建初始数据文件,若此次运行为首次运行时对全量进行备份,[0058]数据库STANDBY步骤三:根据配置的流复制方式,通过流复制协议从生产库实时获取XLOG的变更并实时恢复;[0059]监控的步骤包括以下步骤:[0060]监控的步骤一:添加主机网络的监控,三台硬件主机分别为,监控XLOG归档存储主机,生产数据库主机,数据库STANDBY主机,[0061]监控的步骤二:添加服务的监控,监控XLOG归档存储主机的NFS服务,生产数据库的监听服务,数据库STANDBY的监听服务,[0062]监控的步骤三:添加数据库的监控,监控生产数据库归档的状态和延迟,监控数据库STANDBY流复制的延迟,监控zfs快照的状态。[0063]在监控的步骤时,记录时间点之后采用短信通知的方式通知监控人员。所述快照技术只记录增量数据。对XLOG文件归档采用的是流复制的方法进行。[0064]本实施例有以下优点:1.利用流复制来备份,解决数据文件备份时产生的大量读的问题。因此数据文件备份不需要读数据库文件,而只需要读xlog或xlog的归档文件。2.利用文件块级别的增量备份来解决数据文件重复备份的带来的数据文件备份容量需求的问题,快照不会产生重复数据,因此非常节约空间。3.利用文件系统克隆技术,将备份集克隆,克隆只产生增量数据,因此解决数据还原的额外容量需求,而且原有备份集还能继续使用。4.利用压缩技术,进一步减少备份集的空间占用,归档文件可节约三分之二的空间,数据文件视存储的数据而定,一般也可节约三分之二的空间。5.利用开源的监控技术,监控流复制的延迟,zfs的健康状态,归档的健康状态。[0065]以上所述的实施例只是本发明的一种较佳的方案,并非对本发明作任何形式上的限制,在不超出权利要求所记载的技术方案的前提下还有其它的变体及改型。【权利要求】1.一种PostgreSQL快速恢复到任意时间点的方法,其特征在于:包括XLOG归档文件存储步骤,生产数据库实施步骤、数据文件备份存储步骤、数据库STANDBY步骤和监控的步骤,所述XLOG归档文件存储步骤包括:XLOG归档文件存储步骤一:配置网络,防火墙,硬件服务器允许生产数据库和数据文件备份主机连接NFS接口,XLOG归档文件存储步骤二:配置zfs存储池,将若干块硬盘添加到zfs存储池,配置冗余机制,确保块设备部分损坏可以继续工作,XLOG归档文件存储步骤三:根据上述步骤创建zfs卷,并配置相应的压缩属性,XLOG归档文件存储步骤四:配置NFS,允许生产数据库和数据文件备份主机挂载,允许生产数据库写操作;生产数据库实施步骤包括:生产数据库实施步骤一:挂载XLOG归档NFS,测试可写性,若测试可写性错误则重新执行XLOG归档文件存储步骤四,生产数据库实施步骤二:开启归档,并配置归档命令,测试归档文件正常写入XLOG归档NFS目录,生产数据库实施步骤三:配置流复制,允许数据文件备份主机通过流复制协议将实时数据块变更连接过来;数据文件备份存储步骤包括:数据文件备份存储步骤一:配置zfs存储池,将若干块硬盘添加到zfs存储池,配置冗余机制,确保块设备部分损坏可以继续工作,数据文件备份存储步骤二:创建zfs,配置压缩属性,为每一个生产数据库配置一个zfs,数据文件备份存储步骤三:配置快照计划任务,定时创建Zfs的快照;数据库STANDBY步骤包括以下步骤:数据库STANDBY步骤一:配置密码文件,用于通过流复制协议连接生产数据库,数据库STANDBY步骤二:使用pg_baSebackup创建初始数据文件,若此次运行为首次运行时对全量进行备份,数据库STANDBY步骤三:根据配置的流复制方式,通过流复制协议从生产库实时获取XLOG的变更并实时恢复;监控的步骤包括以下步骤:监控的步骤一:添加主机网络的监控,三台硬件主机分别为,监控XLOG归档存储主机,生产数据库主机,数据库STANDBY主机,监控的步骤二:添加服务的监控,监控XLOG归档存储主机的NFS服务,生产数据库的监听服务,数据库STANDBY的监听服务,监控的步骤三:添加数据库的监控,监控生产数据库归档的状态和延迟,监控数据库STANDBY流复制的延迟,监控zfs快照的状态。2.根据权利要求1所述的PostgreSQL快速恢复到任意时间点的方法,其特征在于:在监控的步骤时,记录时间点之后采用短信通知的方式通知监控人员。3.根据权利要求1或2所述的PostgreSQL快速恢复到任意时间点的方法,其特征在于:所述快照技术只记录增量数据。4.根据权利要求1或2所述的PostgreSQL快速恢复到任意时间点的方法,其特征在于:对XLOG文件归档采用的是流复制的方法进行。【文档编号】G06F11/14GK104503865SQ201410754052【公开日】2015年4月8日申请日期:2014年12月10日优先权日:2014年12月10日【发明者】周正中申请人:杭州斯凯网络科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1