首页 > 其他分享 >KingbaseES V8R6集群运维案例之---single-pro模式备份

KingbaseES V8R6集群运维案例之---single-pro模式备份

时间:2024-04-01 15:48:40浏览次数:23  
标签:V8R6 运维 -- pro kingbase sys rman backup archive

案例说明:
KingbaseES V8R6集群物理备份配置参数_target_db_style,可选single或cluster或single-pro。 single对应单机模式的目标数据库实例,cluster对应集群模式的目标数据库实例,single-pro对应集群模式的每个DB节点独立备份。本案例详细描述集群架构在singl-pro模式下的备份。
适用版本:
KingbaseES V8R6

集群架构:

 ID | Name  | Role    | Status    | Upstream | repmgrd | PID   | Paused? | Upstream last seen
----+-------+---------+-----------+----------+---------+-------+---------+--------------------
 1  | node1 | primary | * running |          | running | 9511  | no      | n/a
 2  | node2 | standby |   running | node1    | running | 25083 | no      | 1 second(s) ago

一、主库物理备份配置

如下所示,采用‘single-pro’模式备份,数据库信息需要在配置文件中指定:

[kingbase@node101 bin]$ cat sys_backup.conf|grep -v ^#|grep -v ^$
_target_db_style="single-pro"
_one_db_ip="192.168.1.101"
_repo_ip="192.168.1.101"
_stanza_name="kingbase"
_os_user_name="kingbase"
_repo_path="/home/kingbase/kbbr8_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="/data/kingbase/hac7/data"
_single_bin_dir="/home/kingbase/cluster/R6HA/ha7/kingbase/kingbase/bin"
_single_db_user="system"
_single_db_port="54321"
_use_scmd=off
_start_fast=y
_compress_type=none
_non_archived_space=1024

二、主库执行备份初始化
如下图所示,在初始化过程,执行‘rpmgr cluster show’获取所有集群节点信息:

如下所示,将修改集群所有节点‘archive_mode=always’,并且将重启集群所有节点(生产环境需注意!)。

[kingbase@node101 bin]$ ./sys_backup.sh init
# pre-condition: check the non-archived WAL files
# Check 192.168.1.101 archive-mode == always
# WARNING: archive-mode on 192.168.1.101 is not always
sys_backup.conf target_db_style=single-pro: require the archive-mode=always.
Yes/Y: sys_backup.sh auto set all node archive-mode=always and restart databse cluster.
No/N: abort sys_backup.sh, set archive-mode manually, execute sys_backup.sh again.
Are you sure to set all node to archive-mode=always and restart databse?[Y/n]: y
# WARNING: set archive-mode on 192.168.1.101
# WARNING: set archive-mode on 192.168.1.102
# restart the whole database cluster...
# restart the whole database cluster...DONE
# 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
# create stanza and check on 192.168.1.102 ...(maybe 60+ seconds)
# create stanza and check on 192.168.1.102 ...DONE
# initial first full backup on 192.168.1.102 ...(maybe several minutes)
# initial first full backup on 192.168.1.102 ...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.

三、检查集群节点配置
1、归档配置

#主库:
[kingbase@node101 bin]$ cat /data/kingbase/hac7/data/es_rep.conf |grep -i archive_
archive_mode=always
archive_command='export TZ=Asia/Shanghai;/home/kingbase/cluster/R6HA/ha7/kingbase/kingbase/bin/sys_rman --config /home/kingbase/kbbr8_repo/sys_rman.conf --stanza=kingbase archive-push %p'

#备库:
[kingbase@node102 ~]$ cat /data/kingbase/hac7/data/es_rep.conf |grep -i archive_
archive_mode=always
archive_command='export TZ=Asia/Shanghai;/home/kingbase/cluster/R6HA/ha7/kingbase/kingbase/bin/sys_rman --config /home/kingbase/kbbr8_repo/sys_rman.conf --stanza=kingbase archive-push %p'

2、查看节点repo-path配置

主库:
[kingbase@node101 ~]$ ls -lh kbbr8_repo/
total 4.0K
drwxr-x--- 3 kingbase kingbase  21 Jul 14 15:04 archive
drwxr-x--- 3 kingbase kingbase  21 Jul 14 15:04 backup
-rw-r--r-- 1 kingbase kingbase 854 Jul 14 15:04 sys_rman.conf
备库:
[kingbase@node102 ~]$  ls -lh kbbr8_repo/
total 4.0K
drwxr-x--- 3 kingbase kingbase  21 Jul 14 15:04 archive
drwxr-x--- 3 kingbase kingbase  21 Jul 14 15:04 backup
-rw-rw-r-- 1 kingbase kingbase 621 Jul 14 15:04 sys_rman.conf

3、在主库执行初始化后,主备库节点都执行全量备份

主库:
[kingbase@node101 kbbr8_repo]$ /home/kingbase/cluster/R6HA/ha7/kingbase/kingbase/bin/sys_rman --config=/home/kingbase/kbbr8_repo/sys_rman.conf --stanza=kingbase info
stanza: kingbase
    status: ok
    cipher: none
    db (current)
        wal archive min/max (V008R006C007B0012): 0000001400000001000000CD/0000001400000001000000D2

        full backup: 20230714-150404F
            timestamp start/stop: 2023-07-14 15:04:04 / 2023-07-14 15:04:10
            wal start/stop: 0000001400000001000000CE / 0000001400000001000000CF
            database size: 1.2GB, database backup size: 1.2GB
            repo1: backup set size: 1.2GB, backup size: 1.2GB

备库:
[kingbase@node102 ~]$ /home/kingbase/cluster/R6HA/ha7/kingbase/kingbase/bin/sys_rman --config=/home/kingbase/kbbr8_repo/sys_rman.conf --stanza=kingbase info
stanza: kingbase
    status: ok
    cipher: none
    db (current)
        wal archive min/max (V008R006C007B0012): 0000001400000001000000CD/0000001400000001000000D2

        full backup: 20230714-150436F
            timestamp start/stop: 2023-07-14 15:04:36 / 2023-07-14 15:04:48
            wal start/stop: 0000001400000001000000D2 / 0000001400000001000000D2
            database size: 1.1GB, database backup size: 1.1GB
            repo2: backup set size: 1.1GB, backup size: 1.1GB

四、主库启动备份

1、执行sys_backup.sh start

[kingbase@node101 bin]$ ./sys_backup.sh start
# pre-condition: check the non-archived WAL files
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/ha7/kingbase/kingbase/bin/sys_rman --config=/home/kingbase/kbbr8_repo/sys_rman.conf --stanza=kingbase --archive-copy --type=full backup >> /home/kingbase/cluster/R6HA/ha7/kingbase/kingbase/log/sys_rman_backup_full.log 2>&1
0 4 */1 * * kingbase /home/kingbase/cluster/R6HA/ha7/kingbase/kingbase/bin/sys_rman --config=/home/kingbase/kbbr8_repo/sys_rman.conf --stanza=kingbase --archive-copy --type=incr backup >> /home/kingbase/cluster/R6HA/ha7/kingbase/kingbase/log/sys_rman_backup_incr.log 2>&1

2、主库建立crond备份任务

[kingbase@node101 bin]$ cat /etc/cron.d/KINGBASECRON

0 2 */7 * * kingbase /home/kingbase/cluster/R6HA/ha7/kingbase/kingbase/bin/sys_rman --config=/home/kingbase/kbbr8_repo/sys_rman.conf --stanza=kingbase --archive-copy --type=full backup >> /home/kingbase/cluster/R6HA/ha7/kingbase/kingbase/log/sys_rman_backup_full.log 2>&1
0 4 */1 * * kingbase /home/kingbase/cluster/R6HA/ha7/kingbase/kingbase/bin/sys_rman --config=/home/kingbase/kbbr8_repo/sys_rman.conf --stanza=kingbase --archive-copy --type=incr backup >> /home/kingbase/cluster/R6HA/ha7/kingbase/kingbase/log/sys_rman_backup_incr.log 2>&1

3、查看备库crond备份任务
检查发现在备库并没有创建crond的备份任务。

五、总结

集群架构下,支持在每个节点单独执行single-pro模式执行物理备份,相比single模式有以下特点:

1、只需要在集群任意一个节点配置sys_backup.conf,并执行初始化。
2、每个节点都会作为repo节点,并创建repo存储目录和相关配置。
3、初始化后,每个节点都会执行一次全量备份。
4、初始化后,将修改每个节点的archive_mode为always,每个节点都将会产生归档日志。
5、每个节点需要单独执行sys_backup.sh start | stop。

标签:V8R6,运维,--,pro,kingbase,sys,rman,backup,archive
From: https://www.cnblogs.com/kingbase/p/17736808.html

相关文章

  • KingbaseES V8R6集群运维案例之---数据库实例initdb后配置
    案例说明:KingbaseESV8R6集群在数据库实例启动时需加载repmgr插件,并且具有集群管理的用户esrep和存储元数据的数据库esrep库;但在手工initdb新的实例后,默认的实例将不包含repmgrextension及esrep库和esrep用户,需要手工配置,完善集群管理应用。适用版本:KingbaseESV8R6一、默认......
  • KingbaseES V8R3集群运维案例---主库OOM故障分析
    案例说明:KingbaseESV8R3集群,主库数据库OOM,产生core,请帮忙分析。数据库内存64Gb,为华为云虚拟机,无swap。适用版本:KingbaseESV8R3一、问题分析1、查看sys_log数据库OOM信息PortalMemory:8192totalin1blocks;7888free(0chunks);304usedPortalHeapMemory:1......
  • KingbaseES V8R6集群运维案例之---备节点恢复为单实例库
    KingbaseESV8R6集群运维案例之---备节点恢复为单实例库案例说明:在生产环境中,手工将集群节点恢复为单实例节点,操作可以分为两步。第一步,先将节点从repmgr管理中注销,脱离集群的管理;第二步,从流复制中拆分节点,成为单实例节点。适用版本:KingbaseESV8R6集群架构:ID......
  • KingbaseES V8R6集群案例之---同城双中心集群部署
    案例说明:本案例描述了在KingbaseESV8R6下部署同城双中心集群的过程,通过脚本的方式执行执行部署,部署方式和普通集群脚本部署基本一致。适用版本:KingbaseESV8R6集群架构:[kingbase@node101~]$cat/etc/hosts192.168.1.101node1192.168.1.102node2192.168.1.103......
  • vue3中任意嵌套组件传参,provide与inject
    一般父组件向子组件传值,可以通过props (defineProps).但是多级嵌套组件使用props过于麻烦,推荐可以透传的provide和inject provide提供数据   inject注入数据App.vue代码<scriptsetup>import{ref,provide}from'vue'importSonfrom"./son.vue";constgreet......
  • WingPro for Mac(Python开发工具)
    了解更多相关内容请点击此处WingProforMac是一款Python开发环境,适用于Mac平台。它由Wingware公司开发,提供了一系列强工具,可以帮助Python开发人员轻松地编写、调试和测试Python代码。WingProforMac具有一个直观的用户界面,支持多种编程语言和框架,例如Django、Flask、Pyramid......
  • SpringBoot运维学习笔记
    打包与运行windows打包与运行windows打包与运行,linux程序运行服务启动失败:没有主清单属性【没有打包插件】打包插件的作用:https://www.bilibili.com/video/BV15b4y1a7yG?p=55mvnpackagemaven打包的时候会执行测试的流程,运行test里面的代码,会导致数据有一些变化;打包插......
  • 学习Source Generators之IncrementalValueProvider
    前面我们使用了IIncrementalGenerator来生成代码,接下来我们来详细了解下IIncrementalGenerator的核心部分IncrementalValueProvider。介绍IncrementalValueProvider是基于管道的模式,将我们需要的数据进行处理转换后传递给SourceOutput。目前官方提供可用的Providers有如下几种:......
  • 加密软件VMProtect教程:使用脚本-功能
    VMProtect是新一代软件保护实用程序。VMProtect支持德尔菲、BorlandCBuilder、VisualC/C++、VisualBasic(本机)、VirtualPascal和XCode编译器。同时,VMProtect有一个内置的反汇编程序,可以与Windows和MacOSX可执行文件一起使用,并且还可以链接编译器创建的MAP文件,以快速选择......
  • 从 String.prototype.substring 的区间开始
    因为使用String.prototype.substring(start,end)或者Array.prototype.slice(start,end)的时候偶尔会想不起来这些函数的区间代表的是什么。在这里记录一下。不同函数的差异这些区间都是[start,end),即是包括start,但是不包括end(当没有传入end时,end视为数组或者字符串......