kingbaseES V8R6集群备份恢复案例之---备库作为repo主机执行物理备份
案例说明:
此案例是在KingbaseES V8R6集群环境下,当主库磁盘空间不足时,执行sys_rman备份,将集群的备库节点作为repo主机,执行备份,并将备份存储在备库的磁盘空间。
集群架构状态:
[kingbase@node102 bin]$ ./repmgr cluster show
 ID | Name    | Role    | Status    | Upstream | Location | Priority | Timeline | Connection string
----+---------+---------+-----------+----------+----------+----------+----------+----------------------------------------------------------------------------------------------------------------------------------------------------
 1  | node101 | primary | * running |          | default  | 100      | 3        | host=192.168.1.101 user=system dbname=esrep port=54321 connect_timeout=10 keepalives=1 keepalives_idle=10 keepalives_interval=1 keepalives_count=3
 2  | node102 | standby |   running | node101  | default  | 100      | 3        | host=192.168.1.102 user=system dbname=esrep port=54321 connect_timeout=10 keepalives=1 keepalives_idle=10 keepalives_interval=1 keepalives_count=3
主机节点信息:

适用版本:
KingbaseES V8R6
一、在repo主机配置sys_backup.conf
[kingbase@node102 bin]$ cat sys_backup.conf |grep -v ^$|grep -v ^#
_target_db_style="cluster"
_one_db_ip="192.168.1.101"
_repo_ip="192.168.1.102"
_stanza_name="kingbase"
_os_user_name="kingbase"
_repo_path="/home/kingbase/kbbr2_repo"
_repo_retention_full_count=5
_crond_full_days=7
_crond_diff_days=0
_crond_incr_days=1
_crond_full_hour=2
_crond_diff_hour=3
_crond_incr_hour=4
_band_width=0
_os_ip_cmd="/sbin/ip"
_os_rm_cmd="/bin/rm"
_os_sed_cmd="/bin/sed"
_os_grep_cmd="/bin/grep"
_single_data_dir="/home/kingbase/cluster/R6HA/kha/kingbase/data"
_single_bin_dir="/home/kingbase/cluster/R6HA/kha/kingbase/bin"
_single_db_user="system"
_single_db_port="54321"
_use_scmd=on

二、在repo主机执行初始化
[kingbase@node102 bin]$ ./sys_backup.sh init
# generate local sys_rman.conf...DONE
# update all node: sys_rman.conf and archive_command with sys_rman.archive-push...
# update all node: sys_rman.conf and archive_command with sys_rman.archive-push...DONE
# create stanza and check...(maybe 60+ seconds)
# create stanza and check...DONE
# initial first full backup...(maybe several minutes)
# initial first full backup...DONE
# Initial sys_rman OK.
'sys_backup.sh start' should be executed when need back-rest feature.
'sys_backup.sh start' will add CRONTAB items.
Or you can manual backup once with user-guide.
三、查看主备库sys_rman配置文件
# 备库(repo主机)
[kingbase@node102 bin]$ cat /home/kingbase/kbbr2_repo/sys_rman.conf
# Genarate by script at 20220714154403, should not change manually
[kingbase]
kb1-path=/home/kingbase/cluster/R6HA/kha/kingbase/data
kb1-port=54321
kb1-user=system
kb2-path=/home/kingbase/cluster/R6HA/kha/kingbase/data
kb2-port=54321
kb2-user=system
kb2-host=192.168.1.101
kb2-host-user=kingbase
[global]
repo1-path=/home/kingbase/kbbr2_repo
repo1-retention-full=5
log-path=/home/kingbase/cluster/R6HA/kha/kingbase/log
log-level-file=info
log-level-console=info
log-subprocess=y
process-max=4
#### default gz, support: gz none
compress-type=gz
compress-level=3
band-width=0
cmd-ssh=/home/kingbase/cluster/R6HA/kha/kingbase/bin/sys_securecmd
# 主库:
[kingbase@node101 bin]$ cd ~/kbbr2_repo/
[kingbase@node101 kbbr2_repo]$ cat sys_rman.conf
# Genarate by script at 20220714154413, should not change manually
[kingbase]
kb1-path=/home/kingbase/cluster/R6HA/kha/kingbase/data
[global]
repo1-host=192.168.1.102
repo1-host-user=kingbase
repo1-host-config=/home/kingbase/kbbr2_repo/sys_rman.conf
repo1-path=/home/kingbase/kbbr2_repo
log-path=/home/kingbase/cluster/R6HA/kha/kingbase/log
log-level-file=info
log-level-console=info
log-subprocess=y
band-width=0
cmd-ssh=/home/kingbase/cluster/R6HA/kha/kingbase/bin/sys_securecmd
四、创建备份执行计划
[kingbase@node102 bin]$ ./sys_backup.sh start
Enable some sys_rman in crontab-daemon
Set full-backup in 7 days
Set incr-backup in 1 days
0 2 */7 * * kingbase /home/kingbase/cluster/R6HA/kha/kingbase/bin/sys_rman --config=/home/kingbase/kbbr2_repo/sys_rman.conf --stanza=kingbase --archive-copy --type=full backup >> /home/kingbase/cluster/R6HA/kha/kingbase/log/sys_rman_backup_full.log 2>&1
0 4 */1 * * kingbase /home/kingbase/cluster/R6HA/kha/kingbase/bin/sys_rman --config=/home/kingbase/kbbr2_repo/sys_rman.conf --stanza=kingbase --archive-copy --type=incr backup >> /home/kingbase/cluster/R6HA/kha/kingbase/log/sys_rman_backup_incr.log 2>&1
五、备份测试
[kingbase@node102 bin]$ /home/kingbase/cluster/R6HA/kha/kingbase/bin/sys_rman --config=/home/kingbase/kbbr2_repo/sys_rman.conf --stanza=kingbase --archive-copy --type=full backup
2022-07-14 15:53:01.160 P00   INFO: backup command begin 2.27: --archive-copy --band-width=0 --cmd-ssh=/home/kingbase/cluster/R6HA/kha/kingbase/bin/sys_securecmd --compress-level=3 --compress-type=gz --config=/home/kingbase/kbbr2_repo/sys_rman.conf --exec-id=15493-7a6df7ff --kb2-host=192.168.1.101 --kb2-host-user=kingbase --kb1-path=/home/kingbase/cluster/R6HA/kha/kingbase/data --kb2-path=/home/kingbase/cluster/R6HA/kha/kingbase/data --kb1-port=54321 --kb2-port=54321 --kb1-user=system --kb2-user=system --log-level-console=info --log-level-file=info --log-path=/home/kingbase/cluster/R6HA/kha/kingbase/log --log-subprocess --process-max=4 --repo1-path=/home/kingbase/kbbr2_repo --repo1-retention-full=5 --stanza=kingbase --type=full
2022-07-14 15:53:04.049 P00   INFO: execute non-exclusive sys_start_backup(): backup begins after the next regular checkpoint completes
2022-07-14 15:53:04.572 P00   INFO: backup start archive = 000000030000000000000086, lsn = 0/86000028
2022-07-14 15:53:08.416 P04   INFO: backup file 192.168.1.101:/home/kingbase/cluster/R6HA/kha/kingbase/data/base/33158/2618 (1.4MB, 0%) checksum e9f6f47bab0ecdf181daaf4ca3e8c8ace1b8cb19
2022-07-14 15:53:08.644 P03   INFO: backup file 192.168.1.101:/home/kingbase/cluster/R6HA/kha/kingbase/data/base/32782/32783 (4.2MB, 1%) checksum c7127198b551567f2558772036e57782b2fd0c12
.......
2022-07-14 15:53:31.656 P02   INFO: backup file 192.168.1.101:/home/kingbase/cluster/R6HA/kha/kingbase/data/.wallet/tspkey.kr (0B, 100%)
2022-07-14 15:53:31.661 P00   INFO: execute non-exclusive sys_stop_backup() and wait for all WAL segments to archive
2022-07-14 15:53:31.882 P00   INFO: backup stop archive = 000000030000000000000086, lsn = 0/86000128
2022-07-14 15:53:31.954 P00   INFO: check archive for segment(s) 000000030000000000000086:000000030000000000000086
2022-07-14 15:53:33.235 P00   INFO: new backup label = 20220714-155307F
2022-07-14 15:53:34.135 P00   INFO: full backup size = 378.1MB, file total = 6345
2022-07-14 15:53:34.136 P00   INFO: backup command end: completed successfully (32980ms)
2022-07-14 15:53:34.136 P00   INFO: expire command begin 2.27: --config=/home/kingbase/kbbr2_repo/sys_rman.conf --exec-id=15493-7a6df7ff --log-level-console=info --log-level-file=info --log-path=/home/kingbase/cluster/R6HA/kha/kingbase/log --repo1-path=/home/kingbase/kbbr2_repo --repo1-retention-full=5 --stanza=kingbase
2022-07-14 15:53:34.150 P00   INFO: expire command end: completed successfully (14ms)
#查看sys_log日志:
2022-07-14 15:53:07.573 P00   INFO: archive-push command begin 2.27: [sys_wal/000000030000000000000085] --cmd-ssh=/home/kingbase/cluster/R6HA/kha/kingbase/bin/sys_securecmd --config=/home/kingbase/kbbr2_repo/sys_rman.conf --exec-id=27339-d8902e1f --kb1-path=/home/kingbase/cluster/R6HA/kha/kingbase/data --log-level-console=info --log-level-file=info --log-path=/home/kingbase/cluster/R6HA/kha/kingbase/log --log-subprocess --repo1-host=192.168.1.102 --repo1-host-config=/home/kingbase/kbbr2_repo/sys_rman.conf --repo1-host-user=kingbase --repo1-path=/home/kingbase/kbbr2_repo --stanza=kingbase
2022-07-14 15:53:08.685 P00   INFO: pushed WAL file '000000030000000000000085' to the archive
2022-07-14 15:53:08.787 P00   INFO: archive-push command end: completed successfully (1222ms)
2022-07-14 15:53:35.166 P00   INFO: archive-push command begin 2.27: [sys_wal/000000030000000000000086] --cmd-ssh=/home/kingbase/cluster/R6HA/kha/kingbase/bin/sys_securecmd --config=/home/kingbase/kbbr2_repo/sys_rman.conf --exec-id=27616-b01c4eab --kb1-path=/home/kingbase/cluster/R6HA/kha/kingbase/data --log-level-console=info --log-level-file=info --log-path=/home/kingbase/cluster/R6HA/kha/kingbase/log --log-subprocess --repo1-host=192.168.1.102 --repo1-host-config=/home/kingbase/kbbr2_repo/sys_rman.conf --repo1-host-user=kingbase --repo1-path=/home/kingbase/kbbr2_repo --stanza=kingbase
2022-07-14 15:53:36.398 P00   INFO: pushed WAL file '000000030000000000000086' to the archive
2022-07-14 15:53:36.498 P00   INFO: archive-push command end: completed successfully (1351ms)
2022-07-14 15:53:36.510 P00   INFO: archive-push command begin 2.27: [sys_wal/000000030000000000000086.00000028.backup] --cmd-ssh=/home/kingbase/cluster/R6HA/kha/kingbase/bin/sys_securecmd --config=/home/kingbase/kbbr2_repo/sys_rman.conf --exec-id=27646-f3dd0a5f --kb1-path=/home/kingbase/cluster/R6HA/kha/kingbase/data --log-level-console=info --log-level-file=info --log-path=/home/kingbase/cluster/R6HA/kha/kingbase/log --log-subprocess --repo1-host=192.168.1.102 --repo1-host-config=/home/kingbase/kbbr2_repo/sys_rman.conf --repo1-host-user=kingbase --repo1-path=/home/kingbase/kbbr2_repo --stanza=kingbase
2022-07-14 15:53:37.641 P00   INFO: pushed WAL file '000000030000000000000086.00000028.backup' to the archive
2022-07-14 15:53:37.741 P00   INFO: archive-push command end: completed successfully (1235ms)
六、查看备份
[kingbase@node102 bin]$ /home/kingbase/cluster/R6HA/kha/kingbase/bin/sys_rman --config=/home/kingbase/kbbr2_repo/sys_rman.conf --stanza=kingbase  info
stanza: kingbase
    status: ok
    cipher: none
    db (current)
        wal archive min/max (V008R006C005B0041): 000000030000000000000083/000000030000000000000086
        full backup: 20220714-154428F
            timestamp start/stop: 2022-07-14 15:44:28 / 2022-07-14 15:44:52
            wal start/stop: 000000030000000000000084 / 000000030000000000000084
            database size: 394.1MB, database backup size: 394.1MB
            repo1: backup set size: 30.7MB, backup size: 30.7MB
        full backup: 20220714-155307F
            timestamp start/stop: 2022-07-14 15:53:07 / 2022-07-14 15:53:35
            wal start/stop: 000000030000000000000086 / 000000030000000000000086
            database size: 394.1MB, database backup size: 394.1MB
            repo1: backup set size: 30.7MB, backup size: 30.7MB												
											kingbaseES V8R6集群备份恢复案例之---备库作为repo主机执行物理备份的更多相关文章
- KingbaseES集群管理维护案例之---备库checkpoint分析
		
 数据库异常关闭时,数据库关闭时来不及或者没机会做checkpoint,则需要从上一个一致性检查的开始恢复.KingbaseES备机checkpoint是不能产生checkpoint WAL日志条目 ...
 - KingbaseES V8R6集群外部备份案例
		
案例说明: 本案例采用sys_backup.sh执行物理备份,备份使用如下逻辑架构:集群采用CentOS 7系统,repo采用kylin V10 Server. 一主一备+外部备份 此场景为主备双机常 ...
 - KingbaseES V8R6集群维护之--修改数据库服务端口案例
		
 案例说明: 对于KingbaseES数据库单实例环境,只需要修改kingbase.conf文件的'port'参数即可,但是对于KingbaseES V8R6集群中涉及到多个配置文件的修改,并且在应 ...
 - KingbaseES V8R6集群维护案例之---停用集群node_export进程
		
案例说明: 在KingbaseES V8R6集群启动时,会启动node_exporter进程,此进程主要用于向kmonitor监控服务输出节点状态信息.在系统安全漏洞扫描中,提示出现以下安全漏洞: 对 ...
 - KingbaseES V8R6集群管理运维案例之---repmgr standby switchover故障
		
案例说明: 在KingbaseES V8R6集群备库执行"repmgr standby switchover"时,切换失败,并且在执行过程中,伴随着"repmr stan ...
 - KingbaseES V8R6 集群环境wal日志清理
		
案例说明: 1.对于集群中的wal日志,除了需要在备库执行recovery外,在集群主备切换(switchover或failover)时,sys_rewind都要读取wal日志,将数据库恢复到一致性状 ...
 - KingbaseES V8R6集群部署案例之---Windows环境配置主备流复制(异机复制)
		
案例说明: 目前KingbaseES V8R6的Windows版本不支持数据库sys_rman的物理备份,可以考虑通过建立主备流复制实现数据库的异机物理备份.本案例详细介绍了,在Windows环境下建 ...
 - KingbaseES V8R6集群部署案例之---Windows环境配置主备流复制(同一主机)
		
案例说明: 目前KingbaseES V8R6的Windows版本不支持数据库sys_rman的物理备份,可以考虑通过建立主备流复制实现数据库的异机物理备份.本案例详细介绍了,在Windows环境下建 ...
 - KingbaseES V8R3集群管理维护案例之---集群迁移单实例架构
		
案例说明: 在生产中,需要将KingbaseES V8R3集群转换为单实例架构,可以采用以下方式快速完成集群架构的迁移. 适用版本: KingbaseES V8R3 当前数据库版本: TEST=# s ...
 
随机推荐
- hadoop MapReduce运营商案例关于用户基站停留数据统计
			
注 如果需要文件和代码的话可评论区留言邮箱,我给你发源代码 本文来自博客园,作者:Arway,转载请注明原文链接:https://www.cnblogs.com/cenjw/p/hadoop-mapR ...
 - Spring IOC 为什么能降低耦合
			
有同学在学习 Spring 框架中可能会问这样的问题,为什么通过依赖注入就可以降低代码间的耦合呢?我通过 new 生产对象不也可以吗,不就是一行代码的不同,一个是 @Resource 注入,一个是 n ...
 - 用python随随便便做一个二维码叭~~~
			
Python是目前最好的编程语言之一.由于其可读性和对初学者的友好性,已被广泛使用. 那么要想学会并掌握Python,可以实战的练习项目是必不可少的. 接下来,我将给大家介绍非常实用的Python项目 ...
 - 再测云原生数据库性能:PolarDB依旧最强,TDSQL-C、GaussDB变化不大
			
1.摘要 近期,腾讯云数据库在文章「腾讯云TDSQL-C重磅升级,性能全面领跑云原生数据库市场」中提到,某些场景下性能有非常大的提升,且超过国内某橙色云厂商.恰好,在5月份,我们对各个厂商的云原生数据 ...
 - linux查询文件或者文件夹
			
查找目录:find /(查找范围) -name '查找关键字' -type d // 查找fastdfs_storage_data文件夹 find / -name fastdfs_storage_da ...
 - ByDesign各版本区别
			
by zyi
 - 时空图神经网路:STGNNs
			
STGNNs:SPATIAL–TEMPORAL GRAPH NEURAL NETWORKS 许多实际应用中的图在图结构和图输入方面都是动态的.STGNNs在捕获图的动态性方面占有重要地位. 这类方法的 ...
 - for循环 --和复合赋值
			
阶乘 1.n!=1x2x3x4x...xn 2.写出一个程序,让用户输入n,然后计算输出n! *变量: *显然读用户的输入需要一个int的n,然后计算的结果需要用一个变量保存,可以是int的facto ...
 - CSS进阶内容——布局技巧和细节修饰
			
CSS进阶内容--布局技巧和细节修饰 我们在之前的文章中已经掌握了CSS的大部分内容,但仍有一些内容我们没有涉略,这篇文章就是为了补充前面没有涉及的内容,为我们的知识做出补充并且介绍一些布局技巧 当然 ...
 - 如何用车辆违章查询API接口进行快速开发
			
最近公司项目有一个车辆违章查询显示的小功能,想着如果用现成的API就可以大大提高开发效率,所以在网上的API商店搜索了一番,发现了 APISpace,它里面的车辆违章查询API非常符合我的开发需求. ...