+ -
当前位置:首页 → 问答吧 → 热备下的两台机器如何才能互相切换并保证数据一致性?

热备下的两台机器如何才能互相切换并保证数据一致性?

时间:2010-12-17

来源:互联网

大家好,事情是这样的:

用8.4.5做热备,有A、B两台机器。A开启归档模式,B则作为standby。
A、B之间完成一次基础备份后,B定期从A上拿取A产生的WAL日志,并且是拿到
一个日志文件就合并,接着继续等待下一个文件的到来再合并这些数据,也就是用
WAL做增量备份。

一段时间后,我手工正常停止了A机的postgresql服务(service postgresql stop),
然后把其产生的最后一个WAL日志文件复制到B机。B机合并完这最后一个WAL文件后结束standby,
成为正常服务状态,经查数据也都OK。至此一次热备恢复成功完成。

但我想接着这么干,B机的pg还是以归档模式起来,然后把B机产生的WAL日志文件再拷到
A机上,让A机变成standby模式,每次从B那儿增量备份数据。我尝试着这么干了,
但A机postgresql无法从B机复制来的WAL文件中恢复,报checkpoint错误。

发现B机产生的WAL文件名字和之前不一样,之前是形如:
000001000000000000
000001000000000001
000001000000000002
000001000000000003
000001000000000004
000001000000000005

B机则是:
000002000000000006
000002000000000007

我就是把B机上的000002000000000006和000002000000000007拷到A机让A从中
恢复。

请教大家能这么干吗?需要对这些WAL文件作什么额外处理呢?

作者: vvoody   发布时间: 2010-12-17

没有做过PG的双机。高手出来吧。

作者: renxiao2003   发布时间: 2010-12-17

热门下载

更多