案例说明:

此案例是在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主机执行物理备份的更多相关文章

  1. KingbaseES集群管理维护案例之---备库checkpoint分析

    ​ 数据库异常关闭时,数据库关闭时来不及或者没机会做checkpoint,则需要从上一个一致性检查的开始恢复.KingbaseES备机checkpoint是不能产生checkpoint WAL日志条目 ...

  2. KingbaseES V8R6集群外部备份案例

    案例说明: 本案例采用sys_backup.sh执行物理备份,备份使用如下逻辑架构:集群采用CentOS 7系统,repo采用kylin V10 Server. 一主一备+外部备份 此场景为主备双机常 ...

  3. KingbaseES V8R6集群维护之--修改数据库服务端口案例

    ​ 案例说明: 对于KingbaseES数据库单实例环境,只需要修改kingbase.conf文件的'port'参数即可,但是对于KingbaseES V8R6集群中涉及到多个配置文件的修改,并且在应 ...

  4. KingbaseES V8R6集群维护案例之---停用集群node_export进程

    案例说明: 在KingbaseES V8R6集群启动时,会启动node_exporter进程,此进程主要用于向kmonitor监控服务输出节点状态信息.在系统安全漏洞扫描中,提示出现以下安全漏洞: 对 ...

  5. KingbaseES V8R6集群管理运维案例之---repmgr standby switchover故障

    案例说明: 在KingbaseES V8R6集群备库执行"repmgr standby switchover"时,切换失败,并且在执行过程中,伴随着"repmr stan ...

  6. KingbaseES V8R6 集群环境wal日志清理

    案例说明: 1.对于集群中的wal日志,除了需要在备库执行recovery外,在集群主备切换(switchover或failover)时,sys_rewind都要读取wal日志,将数据库恢复到一致性状 ...

  7. KingbaseES V8R6集群部署案例之---Windows环境配置主备流复制(异机复制)

    案例说明: 目前KingbaseES V8R6的Windows版本不支持数据库sys_rman的物理备份,可以考虑通过建立主备流复制实现数据库的异机物理备份.本案例详细介绍了,在Windows环境下建 ...

  8. KingbaseES V8R6集群部署案例之---Windows环境配置主备流复制(同一主机)

    案例说明: 目前KingbaseES V8R6的Windows版本不支持数据库sys_rman的物理备份,可以考虑通过建立主备流复制实现数据库的异机物理备份.本案例详细介绍了,在Windows环境下建 ...

  9. KingbaseES V8R3集群管理维护案例之---集群迁移单实例架构

    案例说明: 在生产中,需要将KingbaseES V8R3集群转换为单实例架构,可以采用以下方式快速完成集群架构的迁移. 适用版本: KingbaseES V8R3 当前数据库版本: TEST=# s ...

随机推荐

  1. BUUCTF-乌镇峰会种图

    乌镇峰会种图 16进制拖到底一看便知

  2. Java基础-并发篇

    3.1. JAVA 并发知识库 3.2. JAVA 线程实现/创建方式 3.2.1. 继承 Thread 类 ​ Thread 类本质上是实现了 Runnable 接口的一个实例,代表一个线程的实例. ...

  3. JAVA设计模式总结—建造者模式

    建造者模式 模式动机与定义 ​ 首先建造者模式的动机是为了创建复杂对象,简化传统的创建方法,提高创建的效率和可读性. ​ 像图中的这个例子,用户的需求是驾驶一辆汽车,但是对于用户来说是不需要了解汽车装 ...

  4. 30m精度土壤类型、土壤质地、土壤有机质、土壤PH、土壤氮磷钾

    ​数据下载链接:数据下载链接 引言 全国土壤类型.质地.养分及变化等信息产品分为土壤类型数据.土壤质地数据.土壤养分数据及土壤变化数据等.该类产品是基于野外调查和实地采样,结合历史数据,建立全国土壤类 ...

  5. JDBC:Statement问题

    1.Statement问题  2.解决办法:通过PreparedStatement代替  实践: package com.dgd.test; import java.io.FileInputStrea ...

  6. java.security.spec.InvalidKeySpecException: java.security.InvalidKeyException: IOException : DerInputStream.getLength(): lengthTag=111, too big.

    RSA用私钥签名的时候发现报错,删除以下内容即可 -----BEGIN PRIVATE KEY----- -----END PRIVATE KEY----- import org.apache.com ...

  7. C++多文件源程序

    一.多文件结构的源代码组织 一个C++程序开发工程(project)可以包含多个源程序文件,一个源程序文件(.cpp)可以包含多个函数.一个函数只能集中放在一个源程序文件中,不能将其定义代码拆开存放在 ...

  8. 如何用空气质量查询API接口进行快速开发

      空气质量的好坏反映了空气污染程度,它是依据空气中污染物浓度的高低来判断的.空气污染是一个复杂的现象,在特定时间和地点空气污染物浓度受到许多因素影响.来自固定和流动污染物的人为污染物排放大小是影响空 ...

  9. CSS(十四):盒子模型

    页面布局的本质 网页布局过程: 先准备好相关的网页元素,网页元素基本都是盒子. 利用CSS设置好盒子样式,然后放到相应的位置 往盒子里面装内容 网页布局的本质:就是利用CSS摆盒子 盒子模型 组成 所 ...

  10. C#/VB.NET 将PDF转为PDF/X-1a:2001

    PDF/X-1a是一种PDF文件规范标准,在制作.使用PDF以及印刷时所需要遵循的技术条件,属于PDF/X-1标准下的一个子标准. PDF/X-1标准有由CGATS于1999年制定的PDF/X-1:1 ...