KingbaseES V8R6 集群环境wal日志清理

案例说明:

1、对于集群中的wal日志,除了需要在备库执行recovery外,在集群主备切换(switchover或failover)时,sys_rewind都要读取wal日志,将数据库恢复到一致性状态。
2、对于集群主备库中的wal日志,在清理时,经过测试,理论上在checkpoint所在的wal日志之前的都可以清理,但这是比较理想的状态,在生产环境中,建议保留3天到一个星期的wal日志,避免因为主备延迟,导致在集群切换时,因为缺少wal日志失败。
3、对于KingbaseES V8R6的集群,如果在主备库上通过sys_backup.sh工具建立了备份,归档日志会自动备份,应该也会随着历史备份的清理,自动被清理。如果节点没有建立sys_backup.sh的备份,可以通过 sys_archivecleanup工具清理,原则也是在生产环境中,建议保留3天到一个星期的归档日志。

数据库版本:

test=# select version;
                                                       version                                                       
------------------------------------------------------------------------------------------------------------------

 KingbaseES V008R006C005B0023 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.1.2 20080704 (Red Hat 4.1.2-46), 64-bit
(1 row)

集群节点信息:

[kingbase@node1 bin]$ cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

192.168.8.200   node1   #集群节点node200
192.168.8.201   node2   #集群节点node201

 ID | Name    | Role    | Status    | Upstream | repmgrd | PID   | Paused? | Upstream last seen
----+---------+---------+-----------+----------+---------+-------+---------+--------------------
 1  | node200 | primary | * running |          | running | 29303 | no      | n/a                
 2  | node201 | standby |   running | node200  | running | 29748 | no      | 1 second(s) ago

一、集群switchover切换测试

1、查看主备库控制文件信息

1)主库控制文件

[kingbase@node1 bin]$ ./sys_controldata -D ../data
sys_control version number:            1201
Catalog version number:               202110271
Database system identifier:           7094057752387829054
Database cluster state:               in production
sys_control last modified:             Tue 10 May 2022 12:33:09 PM CST
Latest checkpoint location:           1/29001768
Latest checkpoint's REDO location:    1/29001738
Latest checkpoint's REDO WAL file:    000000030000000100000029
Latest checkpoint's TimeLineID:       3

2)备库控制文件

[kingbase@node2 bin]$ ./sys_controldata -D ../data
sys_control version number:            1201
Catalog version number:               202110271
Database system identifier:           7094057752387829054
Database cluster state:               in archive recovery
sys_control last modified:             Thu 19 May 2022 12:05:06 PM CST
Latest checkpoint location:           1/29001768
Latest checkpoint's REDO location:    1/29001738
Latest checkpoint's REDO WAL file:    000000030000000100000029
Latest checkpoint's TimeLineID:       3

2、清理wal日志(将主备库日志都只保留checkpoint所在的wal日志文件(包括)及以后的)

# 主库保留wal日志

[kingbase@node1 sys_wal]$ ls -lh
total 49M

-rw-------. 1 kingbase kingbase  16M May 10 13:19 000000030000000100000029
-rw-------. 1 kingbase kingbase  16M May 10 13:19 00000003000000010000002A
-rw-------. 1 kingbase kingbase  16M May 10 13:23 00000003000000010000002B
-rw-------. 1 kingbase kingbase   85 May 18 11:28 00000003.history
drwx------. 2 kingbase kingbase  24K May 10 13:19 archive_status
drwxrwxr-x. 2 kingbase kingbase 4.0K May 19 12:58 log_bk

# 备库保留wal日志
[kingbase@node2 sys_wal]$ ls -lh
total 49M
-rw------- 1 kingbase kingbase  16M May 19 12:51 000000030000000100000029
-rw------- 1 kingbase kingbase  16M May 19 12:51 00000003000000010000002A
-rw------- 1 kingbase kingbase  16M May 19 12:55 00000003000000010000002B
-rw------- 1 kingbase kingbase   85 May 18 11:28 00000003.history
drwx------ 2 kingbase kingbase  12K May 19 12:51 archive_status
drwxrwxr-x 2 kingbase kingbase 4.0K May 19 13:00 log_bk

3、执行repmgr standby switchover

1)查看当前集群状态信息

[kingbase@node2 bin]$ ./repmgr cluster show
 ID | Name    | Role    | Status    | Upstream | Location | Priority | Timeline | Connection string                                                                                                                                
----+---------+---------+-----------+----------+----------+----------+----------+----------------
 1  | node200 | primary | * running |          | default  | 100      | 3        | host=192.168.8.200 user=esrep dbname=esrep port=54321 connect_timeout=10 keepalives=1 keepalives_idle=10 keepalives_interval=1 keepalives_count=3
 2  | node201 | standby |   running | node200  | default  | 100      | 3        | host=192.168.8.201 user=esrep dbname=esrep port=54321 connect_timeout=10 keepalives=1 keepalives_idle=10 keepalives_interval=1 keepalives_count=3

2)执行switchover

[kingbase@node2 bin]$ ./repmgr standby switchover -h 192.168.8.200 -U esrep -d esrep
WARNING: following problems with command line parameters detected:
......
INFO: unpause node "node201" (ID 2) successfully
NOTICE: STANDBY SWITCHOVER has completed successfully

[kingbase@node2 bin]$ ./repmgr cluster show
 ID | Name    | Role    | Status    | Upstream | Location | Priority | Timeline | Connection string                                                                                                                                
----+---------+---------+-----------+----------+----------+----------+----------+----------------
 1  | node200 | standby |   running | node201  | default  | 100      | 3        | host=192.168.8.200 user=esrep dbname=esrep port=54321 connect_timeout=10 keepalives=1 keepalives_idle=10 keepalives_interval=1 keepalives_count=3
 2  | node201 | primary | * running |          | default  | 100      | 4        | host=192.168.8.201 user=esrep dbname=esrep port=54321 connect_timeout=10 keepalives=1 keepalives_idle=10 keepalives_interval=1 keepalives_count=3



执行回切测试:
 [kingbase@node1 bin]$ ./repmgr standby switchover -h 192.168.8.201 -U esrep -d esrep
WARNING: following problems with command line parameters detected:
 
INFO: unpause node "node201" (ID 2) successfully
NOTICE: STANDBY SWITCHOVER has completed successfully

[kingbase@node1 bin]$ ./repmgr cluster show
 ID | Name    | Role    | Status    | Upstream | Location | Priority | Timeline | Connection string                                                                                                                                
----+---------+---------+-----------+----------+----------+----------+----------+----------------
 1  | node200 | primary | * running |          | default  | 100      | 5        | host=192.168.8.200 user=esrep dbname=esrep port=54321 connect_timeout=10 keepalives=1 keepalives_idle=10 keepalives_interval=1 keepalives_count=3
 2  | node201 | standby |   running | node200  | default  | 100      | 4        | host=192.168.8.201 user=esrep dbname=esrep port=54321 connect_timeout=10 keepalives=1 keepalives_idle=10 keepalives_interval=1 keepalives_count=3

=== 如上所示,switchover切换成功!====

二、集群 failover 切换测试

1、查看当前集群状态信息

[kingbase@node2 bin]$ ./repmgr cluster show
ID | Name    | Role    | Status    | Upstream | Location | Priority | Timeline | Connection string                                                                                                                                
----+---------+---------+-----------+----------+----------+----------+----------+----------------
1  | node200 | standby |   running | node201  | default  | 100      | 5        | host=192.168.8.200 user=esrep dbname=esrep port=54321 connect_timeout=10 keepalives=1 keepalives_idle=10 keepalives_interval=1 keepalives_count=3
2  | node201 | primary | * running |          | default  | 100      | 6        | host=192.168.8.201 user=esrep dbname=esrep port=54321 connect_timeout=10 keepalives=1 keepalives_idle=10 keepalives_interval=1 keepalives_count=3

2、查看主备库控制文件信息

# 主库:
[kingbase@node2 bin]$ ./sys_controldata -D ../data
sys_control version number:            1201
Catalog version number:               202110271
Database system identifier:           7094057752387829054
Database cluster state:               in production
sys_control last modified:             Thu 19 May 2022 01:26:08 PM CST
Latest checkpoint location:           1/409BA150
Latest checkpoint's REDO location:    1/3EADD130
Latest checkpoint's REDO WAL file:    00000006000000010000003E

# 备库:
[kingbase@node1 bin]$ ./sys_controldata -D ../data
sys_control version number:            1201
Catalog version number:               202110271
Database system identifier:           7094057752387829054
Database cluster state:               in archive recovery
sys_control last modified:             Thu 19 May 2022 01:22:19 PM CST
Latest checkpoint location:           1/37000028
Latest checkpoint's REDO location:    1/37000028
Latest checkpoint's REDO WAL file:    000000050000000100000037

3、清理主备库wal日志(将主备库日志都只保留checkpoint所在的wal日志文件(包括)及以后的)

# 主库保留wal日志
[kingbase@node2 sys_wal]$ ls -lh
total 65M
-rw------- 1 kingbase kingbase  16M May 19 13:25 00000006000000010000003E
-rw------- 1 kingbase kingbase  16M May 19 13:26 00000006000000010000003F
-rw------- 1 kingbase kingbase  16M May 19 13:26 000000060000000100000040
-rw------- 1 kingbase kingbase  16M May 19 13:26 000000060000000100000041
-rw------- 1 kingbase kingbase  214 May 19 13:18 00000006.history
drwx------ 2 kingbase kingbase  16K May 19 13:26 archive_status
drwxrwxr-x 2 kingbase kingbase 4.0K May 19 13:30 log_bk


# 备库保留wal日志
[kingbase@node1 sys_wal]$ ls -lh
total 193M
-rw-------. 1 kingbase kingbase  16M May 19 13:17 000000050000000100000037
-rw-------. 1 kingbase kingbase  171 May 19 13:03 00000005.history
-rw-------. 1 kingbase kingbase  16M May 19 13:23 000000060000000100000037
-rw-------. 1 kingbase kingbase  16M May 19 13:24 000000060000000100000038
-rw-------. 1 kingbase kingbase  16M May 19 13:24 000000060000000100000039
-rw-------. 1 kingbase kingbase  16M May 19 13:24 00000006000000010000003A
-rw-------. 1 kingbase kingbase  16M May 19 13:24 00000006000000010000003B
-rw-------. 1 kingbase kingbase  16M May 19 13:25 00000006000000010000003C
-rw-------. 1 kingbase kingbase  16M May 19 13:25 00000006000000010000003D
-rw-------. 1 kingbase kingbase  16M May 19 13:25 00000006000000010000003E
-rw-------. 1 kingbase kingbase  16M May 19 13:25 00000006000000010000003F
-rw-------. 1 kingbase kingbase  16M May 19 13:26 000000060000000100000040
-rw-------. 1 kingbase kingbase  16M May 19 13:26 000000060000000100000041
-rw-------. 1 kingbase kingbase  214 May 19 13:21 00000006.history
drwx------. 2 kingbase kingbase  24K May 19 13:26 archive_status
drwxrwxr-x. 2 kingbase kingbase 4.0K May 19 13:28 log_bk

4、执行failover切换测试

1)关闭主库数据库服务

[kingbase@node2 bin]$ ./sys_ctl stop -D ../data
waiting for server to shut down....... done
server stopped

2)查看切换结果

[kingbase@node1 bin]$ ./repmgr cluster show
 ID | Name    | Role    | Status    | Upstream | Location | Priority | Timeline | Connection string                                                                                                                                
----+---------+---------+-----------+----------+----------+----------+----------+---------------------------------------------------------------------------------------------------------------------------------------------------
 1  | node200 | primary | * running |          | default  | 100      | 7        | host=192.168.8.200 user=esrep dbname=esrep port=54321 connect_timeout=10 keepalives=1 keepalives_idle=10 keepalives_interval=1 keepalives_count=3
 2  | node201 | standby |   running |          | default  | 100      | 6        | host=192.168.8.201 user=esrep dbname=esrep port=54321 connect_timeout=10 keepalives=1 keepalives_idle=10 keepalives_interval=1 keepalives_count=3

=== 如上所示,failover切换成功!====

三、总结

手工清理wal日志,请参考《KingbaseES 单实例环境wal(xlog)日志清理案例》https://www.cnblogs.com/kingbase/p/16263467.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
KingbaseES V8是一种基于开源PostgreSQL数据库的企业级数据库管理系统。它被开发为一个高度可扩展和安全的解决方案,适用于各种规模的企业数据处理需求。 KingbaseES V8数据库技术白皮书详细介绍了该数据库系统的特点和优势。下面是一些关键内容: 1. 安全性:KingbaseES V8采用了严格的安全机制来保护数据的机密性和完整性。它支持数据加密、访问控制和安全审计等功能,确保敏感数据不会被未经授权的人员访问。 2. 高可靠性:KingbaseES V8通过提供数据库事务和持久性来确保数据的可靠性。它支持ACID(原子性、一致性、隔离性和持久性)属性,使得数据库在发生故障或中断时能够进行恢复并保持数据的一致性。 3. 高扩展性:KingbaseES V8支持水平和垂直扩展,可以根据业务需求进行灵活的扩展。它能够处理大规模的数据存储和查询,并提供了分布式数据库和集群部署选项。 4. 大数据处理:KingbaseES V8具备处理大数据的能力,通过支持多种数据压缩和索引技术来提高数据存储和查询的效率。同时,它还提供了强大的数据备份和恢复机制,确保在数据发生意外故障时能够及时进行数据恢复。 5. 兼容性:KingbaseES V8与主流数据库标准兼容,可以实现与Oracle、SQL Server等数据库的互通和迁移。这样一来,企业在将原有数据库迁移到KingbaseES V8上时,可以事半功倍地减少迁移成本和风险。 总的来说,KingbaseES V8数据库技术白皮书详细介绍了其作为一种可靠、高效和安全的企业级数据库管理系统的优势和功能。这些特点使得KingbaseES V8成为适用于各种企业规模和数据处理需求的理想选择。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值