环境准备说明
小编之前测试了普通主从备份的方法,而且是基于普通IP地址的测试。今天我们将测试有关基于VIP备份的方法,具体环境如下表所示。

| 主机名 | 数据库节点名 | IP地址 |
|---|---|---|
| db01 | pg01 | 10.0.0.10 |
| db02 | pg02 | 10.0.0.11 |
| db03 | pg03 | 10.0.0.12 |
| VIP | VIP | 10.0.0.15 |
测试实施
搭建一套patroni集群
首先需要搭建一套patroni集群,此时的主节点为pg01,VIP在db01这台主机。
备节点安装pg_rman
在db02节点上安装pg_rman备份工具。
插入数据并进行备份
1)我们在主节点上插入数据
2)在db02节点上进行全备份(注意,这里主节点的IP地址应该写的是VIP的地址,而备节点的IP地址写的是db02主机的IP地址)
pg_rman -B /pg_rman_backup/fullbackup -A -p postgres -w -S /pg_rman_backup/pg_srvlog -U postgres -d postgres -h 10.0.0.15 -p 5432 –standby-host=10.0.0.11 –standby-port=5432 /postgres/databackup
3)再次在主节点上插入数据
4)在db02节点上进行增量备份(注意,这里主节点的IP地址依然是VIP)
pg_rman -B /pg_rman_backup/fullbackup -D /postgres/data -A /postgres/wal_archive/backup –backup-mode incremental –progress –compress-data -U postgres -d postgres -h 10.0.0.15 -p 5432 –standby-host=10.0.0.11 –standby-port=5432
删除数据并进行数据恢复
1)删除数据
2)进行数据恢复
pg_rman -restore -B /pg_rman_backup/fullbackup/ –recovery-target-time “2022-08-24 21:12:04” –hard-copy
验证数据完整性
通过以上步骤,我们成功恢复了数据,其完整性已得到验证。
结语
本次测试我们介绍了基于VIP备份的方法,相比于普通IP地址的备份方法,在某些特定场景下更为适用。如果您也有类似的需求,不妨尝试一下本文介绍的方法。最后,本文的作者是上海新炬中北团队的张学衡,本文由“IT那活儿”公众号提供。
原创文章,作者:小编小本本,如若转载,请注明出处:https://www.benjiyun.com/yunzhujiyunwei/vps-yunwei/6604.html
