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 ...
随机推荐
- 安装typescript环境并开启VSCode自动监视编译ts文件为js文件
一.前言 小编最近开始学习typescript,懂得人都知道,typescript是vue3的基础伴生,配合更加默契.就像vue2和js一样!typescript不像js那样浏览器直接可以解读,需要我 ...
- SAP 实例- 页签tabsrip
屏幕页签:项目上有一需求,对标准TCODE 一个屏幕增加一个页签.于是做了个例子. 下面屏幕有两个页签. 我们来看一下屏幕结构.100屏幕是主屏幕,101,102是子屏幕,对应页签test1,test ...
- 在Ubuntu系统下,可执行文件的表现形式
在Windows系统下的可执行文件都带有.exe的后缀,而对于Linux系统下的可执行文件,则不会带有后缀,如下图 对于.txt文件,Ubuntu下也有相应的记事本程序打开,对于.xml,ubuntu ...
- python+requests+yaml实现接口自动化用例
前言:最近也思考了一下怎么做接口自动化,以下内容属于自己目前阶段所学习到的内容,也逐渐投入自己实际工作中,把最近的学习新得跟大家分享下,话不多说,切入正题. 对接口自动化测试用例的思考:接口测试大多测 ...
- Rabbimtq消息传递对象
对象序列化即可.
- 【Nim 游戏】 学习笔记
前言 没脑子选手随便一道博弈论都不会 -- 正文 Nim 游戏引入 这里给出最简单的 \(Nim\) 游戏的题目描述: \(Nim\) 游戏 有两个顶尖聪明的人在玩游戏,游戏规则是这样的: 有\(n\ ...
- Visdom
安装visdom pip install visdom 启动visdom服务 python -m visdom.server visdom绘制各种图形: visdom属性介绍: 实例: from vi ...
- 如何用全国天气预报API接口进行快速开发
最近公司项目有一个全国天气预报的小需求,想着如果用现成的API就可以大大提高开发效率,在网上的API商店搜索了一番,发现了 APISpace,它里面的全国天气预报API非常符合我的开发需求. 全国 ...
- 用cmd命令进行磁盘清理(主要是系统盘)
作用:清理磁盘(主要是系统盘)中不需要的垃圾文件操作方法: 第一步:Windows键+R键 调出cmd命令窗口(窗口图如下:) 第二步:输入框中输入cmd命令,按下Enter键,进入如下图界面: 第三 ...
- day04 Java_分支_循环
精华笔记: Scanner接收用户输入的数据:共3步,不需要理解,先背下来 分支结构: if...else if结构:多条路 switch...case结构:多条路 优点:效率高.结构清晰 缺点:只能 ...