暂无图片
磐维2.0数据库备份有效性恢复测试
最近更新:2024-03-28 10:10:38

需求说明

测试环境架构:磐维2.0一主两备

测试流程:在主节点创建测试表后,备份数据,在备1节点进行恢复,打开数据库做备份有效性验证,再重建备库

测试步骤

创建测试表

test=# create table public.test1(id int);
CREATE TABLE
test=# insert into public.test1 values(1); 
INSERT 0 1
test=# select * from public.test1;
 id 
----
  1
(1 row)

主库做全量备份

初始化备份路径(主节点、备1节点)

gs_probackup init -B /backup

添加备份实例(主节点、备1节点)

gs_probackup add-instance -B /backup --instance=test -D /database/panweidb/data -p 17700

全量备份(主节点)

gs_probackup backup -B /backup --instance=test -b FULL

INFO: Backup start, pw_probackup version: 2.4.2, instance: test, backup ID: SAYNVJ, backup mode: FULL, wal mode: STREAM, remote: false, compress-algorithm: none, compress-level: 1
LOG: Backup destination is initialized
LOG: This PanWeiDB instance was initialized with data block checksums. Data block corruption will be detected
LOG: Database backup start
INFO: PGDATA size: 968MB
LOG: started streaming WAL at 0/1E000000 (timeline 1)
[2024-03-26 23:18:56]: check identify system success                                                
[2024-03-26 23:18:56]: send START_REPLICATION 0/1E000000 success                                    
[2024-03-26 23:18:56]: keepalive message is received                                                
INFO: Start transferring data files
[2024-03-26 23:18:56]: keepalive message is received                                                
LOG: Creating page header map "/backup/backups/test/SAYNVJ/page_header_map"
[2024-03-26 23:19:01]: keepalive message is received                                                
[2024-03-26 23:19:06]: keepalive message is received                                                
INFO: Data files are transferred, time elapsed: 10s
INFO: wait for pg_stop_backup()
INFO: pg_stop backup() successfully executed
LOG: stop_lsn: 0/1E0002F8
LOG: Looking for LSN 0/1E0002F8 in segment: 00000001000000000000001E
LOG: Found WAL segment: /backup/backups/test/SAYNVJ/database/pg_xlog/00000001000000000000001E
LOG: Thread [0]: Opening WAL segment "/backup/backups/test/SAYNVJ/database/pg_xlog/00000001000000000000001E"
LOG: Found LSN: 0/1E0002F8
[2024-03-26 23:19:11]:(null): not renaming "/backup/backups/test/SAYNVJ/database/pg_xlog/00000001000000000000001F", segment is not complete.
LOG: finished streaming WAL at 0/1F0000B0 (timeline 1)
LOG: Getting the Recovery Time from WAL
LOG: Thread [0]: Opening WAL segment "/backup/backups/test/SAYNVJ/database/pg_xlog/00000001000000000000001E"
INFO: Syncing backup files to disk
INFO: Backup files are synced, time elapsed: 1s
INFO: Validating backup SAYNVJ
INFO: Backup SAYNVJ data files are valid
INFO: Backup SAYNVJ resident size: 1000MB
INFO: Backup SAYNVJ completed

查看备份结果

gs_probackup show -B /backup --instance=test

=========================================================================================================================================
 Instance  Version  ID      Recovery Time           Mode  WAL Mode  TLI  Time   Data   WAL  Zratio  Start LSN   Stop LSN    Type  Status 
=========================================================================================================================================
 test      9.2      SAYNVJ  2024-03-26 23:19:06+08  FULL  STREAM    1/0   17s  984MB  16MB    0.98  0/1E000028  0/1E0002F8  FILE  OK     
 test      9.2      SAYM7H  2024-03-26 22:43:10+08  FULL  STREAM    1/0   23s  984MB  16MB    0.98  0/1C000028  0/1C000490  FILE  OK

停备1节点数据库服务

cm_ctl stop -n 1

[omm@test2 test]$ cm_ctl stop -n 1
cm_ctl: stop the node: 1. 
cm_ctl: stop node, nodeid: 1
........................
cm_ctl: stop node successfully.
[omm@test2 test]$ gs_om -t status --detail
[  CMServer State   ]

node     node_ip         instance                             state
---------------------------------------------------------------------
1  test1 192.168.1.11    1    /database/panweidb/cm/cm_server Down
2  test2 192.168.1.12    2    /database/panweidb/cm/cm_server Primary
3  test3 192.168.1.13    3    /database/panweidb/cm/cm_server Standby

[   Cluster State   ]

cluster_state   : Degraded
redistributing  : No
balanced        : No
current_az      : AZ_ALL

[  Datanode State   ]

node     node_ip         instance                     state            
-----------------------------------------------------------------------
1  test1 192.168.1.11    6001 /database/panweidb/data P Down    Unknown
2  test2 192.168.1.12    6002 /database/panweidb/data S Primary Normal
3  test3 192.168.1.13    6003 /database/panweidb/data S Standby Normal

将备份传输到备1节点

scp -r pg_probackup.conf SAYNVJ omm@test1:/backup/backups/test/

备1节点做备份恢复,检验备份有效性

备1节点查看备份

......