人大金仓数据库KingbaseES 高可用集群single-pro模式物理备份的流程与感悟

227 阅读3分钟

金仓数据库KingbaseES高可用集群single-pro模式物理备份的流程与感悟

关键字:

KingbaseES、物理备份、人大金仓

测试前提:

  • 已部署一主一备集群
  • 修改share目录下的sys_backup.conf配置文件,实例如下:

_target_db_style="single-pro"

one kingbase node IP/hostname

just provide one IP/hostname, script will use 'repmgr cluster show' get other node IP/hostname

_one_db_ip="10.12.2.49"

local repo IP/hostname, inner-REPO, means repo located in one db node

outer repo IP/hostname, outer-REPO, means repo located in outer node

_repo_ip="10.12.2.49"

label of this cluster

_stanza_name="kingbase"

OS user name of database

_os_user_name="xieyp"

!!!! dir to store the backup files

should be accessable for the OS user

_repo_path="/home/xieyp/kbbr_repo"

… …

!!! these follow 4 parameter ONLY for single style

data dir of single

_single_data_dir="/home/xieyp/cluster/projectName/test1/kingbase/data"

bin dir of single

_single_bin_dir="/home/xieyp/cluster/projectName/test1/kingbase/bin"

database user of single

_single_db_user="system"

database port of single

_single_db_port="50820"

  • 修改data目录下的kingbase.conf配置文件:

image.png

image.png

配置完成后,重启集群./sys_monitor.sh restart

操作过程:

创建表test,插入部分数据:

create table test(a int ,b text);

insert into test values(generate_series(1,1000),now());

image.png

集群备节点bin目录下执行:

./sys_backup.sh init

在初始化过程中,sys_backup.sh会告警提示是否确认修改集群archive_mode参数值为always,选择Y确认修改。

image.png

往表test再次插入部分数据,并在备节点进行逻辑备份

insert into test values(generate_series(1001,2000),now());

./sys_dumpall -Usystem -p33333 -f dump.sql

image.png

集群备节点bin目录下执行增量备份:

image.png

集群主节点bin目录下执行增量备份

image.png

查看备份集信息:

image.png

停止集群,将备节点数据库目录备份,创建新的空data目录

./sys_monitor stop

mv ./data ./data_bak

mkdir data

集群备节点,进行最新备份集还原:

image.png

启动备节点数据库,并进行逻辑备份,对比还原前,还原后的sql文件

image.png

此时,集群的状态如下:

image.png

image.png

备节点执行提升备节点为主节点操作:

./repmgr standby promote
备节点执行注册为主机操作:
./repmgr primary register -F

原主节点执行重做备机操作,再启动数据库:

原主节点执行注册备机到集群操作:

./repmgr standby register –force

手动启动kbha:

./kbha -A daemon -f ../etc/repmgr.conf

查看集群状态,已恢复正常:

./repmgr cluster show

感悟:

  • 关于物理备份还原的几种场景,需要注意的是,备份服务器是一个单独的物理设备,相对独立,具有较高的冗余度,备份不会随着数据库节点故障而失效。
  • 工具初始配置时、备份时,数据库服务必须处于运行状态、读写功能正常、集群在线。工具的初始配置、备份,必须在REPO仓库节点上执行。工具的还原,必须在DB数据库节点上执行。
  • 一般在还原操作、主备切换、手动promote时RWC集群的时间线都会发生变化,对于不同的情况,需要不同的方式进行集群的恢复。一般采用克隆备机、重做备机、重新注册等操作来恢复集群。