金仓数据库KingbaseES高可用最佳应用实践(备份恢复)

目录

5.1. KingbaseES备份恢复简介 ¶

5.2. 重要提示信息 ¶

5.3. 备份方案和适用场景 ¶

5.3.1. 备份方案 ¶

5.3.2. 适用场景 ¶

5.4. 制定备份策略 ¶

5.4.1. 备份恢复过程 ¶

5.4.2. 备份策略制定 ¶

5.4.3. 常用策略 ¶

5.5. 独立备份 ¶

5.5.1. 配置 ¶

5.5.2. 监控指标 ¶

5.5.3. 从计划外停机中恢复 ¶

5.5.4. 计划内停机操作 ¶

5.6. 非独立备份 ¶

5.6.1. 配置 ¶

5.6.2. 监控指标 ¶

5.6.3. 从计划外停机中恢复 ¶

5.6.4. 计划内停机操作 ¶


5.1. KingbaseES备份恢复简介 ¶

数据库集群的物理备份恢复,是保证数据安全的最后一道屏障,因此其重要性在日常维护中涉及较少,但如果系统因为各种原因出现不可逆转的数据问题时,从备份恢复将维护数据库系统的高可用性。但备份功能才是一切的基础,是需要日常维护和关注的。该文档将对现场实施部署集群的备份和恢复起到一个规范和指导的作用。本手册分为四部分,第一部分介绍集群备份还原的相关配置,第二部分介绍备份还原功能的监控指标,第三部分介绍集群从计划外停机中恢复,第四部分介绍计划内停机操作。

集群的备份恢复功能从逻辑上看,针对的是整个集群,而不是某个节点。

本备份还原功能包含四个文件:

  • sys_backup.sh 初始化配置脚本

  • sys_backup.conf 初始化配置文件

  • sys_rman 备份还原二进制可执行文件

  • sys_rman.conf 备份还原配置文件

5.2. 重要提示信息 ¶

  • 启动数据库时,应该使用绝对路径来指定data目录所在。

  • sys_rman二进制文件,在集群和备份节点上绝对路径应该一致。

  • 集群数据节点和备份节点,root用户和数据库用户应该是ssh免密登录的,且交叉免密登录。

  • 如果操作系统是UOS或者Deepin,需要在/etc/profile末尾增加一行。

    export OPENSSL_CONF=/etc/ssl/
    
  • 默认情况下,工具开启了压缩模式,压缩将节约空间、消耗时间;不压缩将节约时间、消耗空间。可以在sys_rman.conf中调整。

  • 如果集群包含witness节点,该witness节点的IP,不能作为_one_db_ip。

  • 集群中的每个数据库节点、备份服务器,都将创建REPO_PATH,如果已有此目录或权限问题,将报错退出。

5.3. 备份方案和适用场景 ¶

5.3.1. 备份方案 ¶

备份的典型部署方式分为两类:

  • 独立备份

    • 在数据库节点以外,搭建一台专用于备份的服务器节点。

    • 要求备份服务器与所有数据库节点网络通畅。

    • 备份目标可以是单节点或多节点集群,支持对多个目标备份。

  • 非独立备份

    • 非独立备份指的是在现有数据库节点上进行备份还原的操作。

    • 要求具有良好的独立存储通道和充足的存储空间。

    • 多节点情况下需要每个节点都启用本地备份。

5.3.2. 适用场景 ¶

表 5.3.3 两种方案比较  ¶

独立备份

非独立备份

硬件节点利用率

N硬 件节点,N-1数据节点。

N硬件节点,N数据节点

整体容灾可靠性

稍逊

备份容量(目标单机)

备 份保留份数可适当增加

备份与实际数据共同占 用主机容量,需要恰当 的备份周期和保留份数。

备份容量(目标多机)

备份集中管理

备份冗余度更高

网络要求

备份、恢复时通过 网络传输数据,对网络 连通性和带宽有要求。

对网络无要求

备份耗时

在非独立备份的耗时 基础上额外需要从目标 机将数据传输到备份机

从数据库存储 读取数据写入备份存储

恢复耗时

在非独立备份的耗时 基础上额外需要从备份 机将数据传输到目标机

从备份存储读 取数据写入数据库存储

单点故障影响

较少

较多

5.3.2.1. 非独立备份单节点 ¶

此场景适用于单独主机的场景。

金仓数据库KingbaseES高可用最佳应用实践(备份恢复)_第1张图片

图 5.3.16 非独立备份单节点 ¶

5.3.2.2. 非独立备份多节点 ¶

此场景为主备双机常规环境设计,其中 REPO节点位于数据库集群的主节点。

金仓数据库KingbaseES高可用最佳应用实践(备份恢复)_第2张图片

图 5.3.17 非独立备份多节点 ¶

5.3.2.3. 独立备份单节点 ¶

此场景适用于单独主机的场景。

金仓数据库KingbaseES高可用最佳应用实践(备份恢复)_第3张图片

5.3.2.4. 独立备份多节点 ¶

此场景为主备双机常规环境设计,主要的 备份信息来源于备机 ,极大地减少备份为主机带来的性能损耗,且增加了第三方专用存储服务器,用于存放和管理备份文件。

图 5.3.18 独立备份单节点 ¶

5.4. 制定备份策略 ¶

5.4.1. 备份恢复过程 ¶

备份过程:

  • 根据备份时的选项,确定本次备份的依赖关系。

  • 如果本次是全量备份,则忽略此步骤。

  • 如果是增量备份,选择上一次备份(任意类型)作为依赖。

  • 如果是差异备份,选择上一次全量备份作为依赖。

  • 根据数据库配置,获取全部数据、配置、核心文件列表。

  • 根据文件CheckSum和时间来确定本次备份需要拷贝或者信任依赖备份(不拷贝文件)。

  • 开始拷贝过程,逐个文件开始拷贝,可多进程开展。

  • 拷贝完成后,根据配置保留数目和现有数目,选择性移除过期备份文件集。

恢复过程:

  • 根据恢复时的选项,程序自动选择一个全量备份。

  • 或者选择最新(默认)、指定时间、指定备份集、指定XID等。

  • 并自动匹配恰当的增量和差异备份集。

  • 复制到目标路径,如果有压缩,解压缩。

  • 在复制完成后,启动本节点为新的主节点(默认)。

  • 选项可指定,复制完成后,进入PAUSE模式。

  • 选项可指定,复制完成后,等待管理员手动启动数据库。

5.4.2. 备份策略制定 ¶

需要考虑的备份策略选择项:

表 5.4.2 备份策略选择项  ¶

备份方案

独立/非独立备份

备份类型和频率

全量/增量/差异备份 各类型备份频率

备份容量

保留的备份个数,是否压缩。

  1. 独立/非独立备份

    参见 备份方案和适用场景 选择。

  2. 备份类型和频率

    参考 备份恢复过程 描述:

    1. 全量备份使用最多资源,包括备份中对目标数据库资源的抢占和备份后对容量的占用,备份时间最长但恢复时间最短。

    2. 增量有效减少对资源的使用但相比从全量恢复,增加了恢复时间。

    3. 差异备份在备份速度、资源占用和恢复速度上介于全量和增量之间。

    需要根据硬件的I/O带宽、容量和恢复的RTO需求选择备份类型和频率,保证最差情况下(故障时间点发生在下次全量备份完成前),恢复时从基础备份到最近的增量/差异备份再加上备份到故障时点的数据增量,以上整体的恢复时间能满足RTO需求。

  3. 备份容量

    增加保留的备份数

    优势:可以应对备份损坏或是应对发生很久后才发现的需要时间点恢复的情况。

    劣势:更多的容量占用。

    启用压缩:

    优势:减少备份容量。

    劣势:增加备份和恢复时间。

    根据硬件情况考虑以上选择。

5.4.3. 常用策略 ¶

在制定方案时可能还不能很好的了解系统的情况,此时可以使用以下常用策略:

全量备份周期:7天;

增量备份周期:1天;

保留份数:5份全量备份,不压缩存储;

5.5. 独立备份 ¶

5.5.1. 配置 ¶

5.5.1.1. 硬件-限制 ¶

具备独立与备份目标数据库服务器的备份服务器。

备份服务器与所有数据库节点间网络通畅。

备份将额外占用存储空间。

推荐配置下大致预估的额外空间: 3倍于实际数据库存储占用空间。

5.5.1.2. 硬件-推荐配置 ¶

金仓数据库KingbaseES高可用最佳应用实践(备份恢复)_第4张图片

图 5.5.4 推荐配置 ¶

5.5.1.3. 数据库配置 ¶

确保备份目标中的全部数据库节点archive_mode配置为on.

grep archive_mode $db_path/esrep.conf
archive_mode = on

注意

archive_command将由配置脚本自动填充实际内容。

5.5.1.4. 备份还原功能配置 ¶

注意

init start 命令要求在REPO备份服务器节点上执行。

需要注意_single_data_dir应复制数据库的data_directory的内容,在不同启动方式下data_directory可能包含相对路径。

  • 初始化配置时

1 准备初始配置文件sys_backup.conf

此配置文件模板位于share目录下,填充配置完成后可以移动到$bin_path目录下。

# 配置文件关键片段
# 指明当前的数据库是单机或者集群,single/cluster
_target_db_style=”single”
# 建议配置数据库的primary node 的IP,只需一个IP地址
_one_db_ip=”192.168.1.11”
# 备份服务器所在的IP
# 单机+内在备份服务器 设置为等同于$_one_db_ip
# 单机+外部备份服务器 设置外部备份服务器
_repo_ip=”192.168.1.66”
_stanza_name=”kingbase”
_os_user_name=”kingbase”
# 备份文件实际存储路径,注意磁盘容量
_repo_path=”/home/kingbase/back_dir”
# 全量备份保留份数
_repo_retention_full_count=5
# 全量备份周期(天数)
_crond_full_days=7
# 差异备份周期(天数)
_crond_diff_days=0
# 增量备份周期(天数)
_crond_incr_days=1
# 自动执行全量备份的时间点,2表示凌晨2点
_crond_full_hour=2
# 自动执行差异备份的时间点,3表示凌晨3点
_crond_diff_hour=3
# 自动执行增量备份的时间点,4表示凌晨4点
_crond_incr_hour=4
# 带宽限制, 单位为Mb/s, 默认值0时无限制
_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/ES/V8/data”
_single_bin_dir=”/home/kingbase/ES/V8/Server/bin”
_single_db_user=”system”
_single_db_port=”54321”
# 开启时使用sys_securecmd, 未开启使用普通ssh
_use_scmd=on

2 执行初始化配置

初始化备份还原功能

$bin/sys_backup.sh init

启动备份还原功能

$bin/sys_backup.sh start

3 确认备份还原功能配置文件sys_rman.conf

cat $repo_path/sys_rman.conf
  • 日常备份时

常规日常备份由系统的CRONDTAB触发,不需要额外关注。

如果因为业务需要,可使用如下命令执行一次全量备份。

$bin/sys_rman --config=$repo_path/sys_rman.conf --stanza=$stanza_name  --type=full backup

或者差异备份

$bin/sys_rman --config=$repo_path/sys_rman.conf --stanza=$stanza_name  --type=diff backup

或者增量备份

$bin/sys_rman --config=$repo_path/sys_rman.conf --stanza=$stanza_name  --type=incr backup

注意

要求管理员在sys_backup.sh init前,数据库节点与外部备份节点之间以相应的OS用户,互相进行SSH登录,以验证SSH登录场景,通过StrictHostKeyChecking的检测。

如果使用securecmdd功能,需要在每个DB节点和REPO节点启动sys_securecmdd相关服务。

  • 故障还原时

在 数据节点 上执行还原动作。

注意

如果实际备份文集的$repo_path遭到了损坏,还原功能将失效。

备份和还原时,工具将自动进行文件级别的有效性校验。

1 根据不同的故障及场景开展还原

如果是独立外部备份的情况下,数据节点的$repo_path已经损坏的情况下,

从外部备份节点拷贝$repo_path/sys_rman.conf到数据节点相应目录,

并作出少许修改,详细请参考 附录B:sys_rman.conf配置说明 。

如果$data_path没有任何文件

$bin/sys_rman --config=$repo_path/sys_rman.conf
--stanza=$stanza_name restore

如果$data_path有可信赖可保留的文件

$bin/sys_rman --config=$repo_path/sys_rman.conf
--stanza=$stanza_name --delta restore

2 启动刚刚还原的数据节点

5.5.2. 监控指标 ¶

确认CRONDTAB报告备份还原功能sys_rman

cat /etc/cron.d/KINGBASECRON

在REPO节点,磁盘剩余多少空间。

df -h

在REPO节点,确认备份已经消耗了多少磁盘空间。

du -h $repo_path

查看已产生备份文件集列表

$bin/sys_rman --config=$repo_path/sys_rman.conf --stanza=$stanza_name info

5.5.3. 从计划外停机中恢复 ¶

因为备份还原功能并不是24小时工作,从计划外停机中恢复时,不需要额外的行为。

如果备份文件集发生了损坏,需要尽快进行全量备份来保证至少有一个可用的全量备份。

确认CRONDTAB报告备份还原功能sys_rman

cat /etc/cron.d/KINGBASECRON

5.5.3.1. 集群还原策略 ¶

如果集群中一个节点出现严重问题时,应该采用repmgr工具的clone功能。

新节点上线后,使用repmgr工具接入集群中。

如果集群所有节点都出现严重问题时,应该采用本工具进行还原。

1 选择一个数据库节点,使用还原功能;

2 使用repmgr工具clone其他节点;

3 整个集群恢复正常工作状态。

5.5.3.2. 站点故障 ¶

站点故障包括网络原因、电力中断或人为原因导致站点设备停止工作,若没有跨站点的备节点,需要人工恢复集群

如果故障没有造成存储文件的损坏,按照集群章节的方法恢复集群。

如果故障造成存储文件的损坏,按照本章节的方法还原数据系统。

5.5.3.3. 实例或计算机故障 ¶

集群主节点发生进程故障、设备断电、设备重启、网络故障

根据集群章节的方法处理,处理过程应该避开每日备份节点;

或者sys_backup.sh stop暂停自动备份服务后,处理异常,然后sys_backup.sh start启动自动备份服务。

集群备机进程故障、设备断电、设备重启、网络故障

备库故障不影响备份工作的开展。

5.5.3.4. 存储故障 ¶

集群管理软件会监测数据库存储情况,遇到存储故障的情形会关闭数据库,相关行为如下表

表 5.5.1 存储故障  ¶

事件

集群应对行为

备份功能相关

主库存储故障

repmgr 对主库实施停库, 备库进而自动切换。

集群恢复后, 尽快执行一次全量备份。

备库存储故障

repmgr 对备库实施停库; 若流复制配置为同 步,或者quorum模式下 备节点都故障,主库会 转换流复制为异步模式 (async或all不用处理)。

备库故障不 影响备份工作的开展。

5.5.3.5. 数据损坏/人为错误 ¶

根据指定自然时间点来恢复

$bin/sys_rman --config=$repo_path/sys_rman.conf --stanza=$stanza_name --type=time --target=’2020-9-21 16:28:37’ restore

根据指定备份文件集来恢复

$bin/sys_rman --config=$repo_path/sys_rman.conf --stanza=$stanza_name --set 20220518-050250F_20220518-051108I --type=time --target='2022-05-18 11:27:21' --delta restore

根据指定XID来恢复

$bin/sys_rman --config=$repo_path/sys_rman.conf --stanza=$stanza_name --type=xid --target=’44556677’ restore

5.5.3.6. 响应慢或挂起 ¶

如果需要,可以sys_backup.sh stop暂停自动备份服务后,处理异常,然后sys_backup.sh start启动自动备份服务。

5.5.4. 计划内停机操作 ¶

5.5.4.1. 补丁、升级 ¶

5.5.4.1.1. 资源补丁、升级 ¶

本备份还原工具sys_rman不直接关联其他资源。

升级后,请根据实际需要更新:

  • 初始化配置文件 $bin/sys_backup.conf

    如有需要可以重新初始化配置一次,初始化将清理旧的备份文件集。

  • 备份还原功能配置文件$repo_path/sys_rman.conf

5.5.4.1.2. SYS_RMAN补丁、升级 ¶

补丁、升级过程应该避开初始化配置文件固定的凌晨备份时间。

本备份还原工具包含四个文件:

  • sys_backup.sh 初始化配置脚本,可直接覆盖升级。

  • sys_backup.conf 初始化配置文件,可直接覆盖升级。

  • sys_rman 备份还原二进制可执行文件,可直接覆盖升级。

  • sys_rman.conf 备份还原配置文件,可直接覆盖升级。

注意

sys_rman兼容旧的备份文件集,新的sys_rman将兼容旧版本的sys_rman产生的备份文件集。

5.5.4.1.3. 停机升级方式 ¶

本备份还原工具不需要停机升级。

5.5.4.1.4. 在线升级 ¶

在线升级过程应该避开初始化配置文件固定的凌晨备份时间。

本工具包含的四个文件均支持在线直接覆盖升级。

5.5.4.1.5. 系统或硬件补丁、升级 ¶

如果变更需要重启主机或是停止网络等影响资源运行的操作,选择在线升级,否则选择停机升级。

5.5.4.2. 配置变更 ¶

5.5.4.2.1. SYS_RMAN配置 ¶

请根据实际需要更新:

  • 初始化配置文件 $bin/sys_backup.conf

    如有需要可以重新初始化配置一次,初始化将清理旧的备份文件集。

  • 备份还原功能配置文件$repo_path/sys_rman.conf

5.5.4.3. 增加删除节点 ¶

  • 增加节点并不直接影响备份还原功能。

  • 删除的节点,如果被删除的不是备份服务功能所在节点,不影响。

  • 删除的节点,如果被删除的是备份服务功能所在节点,

需要重新选择一个节点,填充初始化配置文件,然后初始化配置。

5.6. 非独立备份 ¶

非独立备份指的是在现有数据库节点上进行备份还原的操作。

要求具有良好的独立存储通道和充足的存储空间。

5.6.1. 配置 ¶

5.6.1.1. 硬件-限制 ¶

备份将额外占用较多的物理存储空间。

推荐配置下大致预估的额外空间: 3倍于实际数据库存储占用空间。

请根据实际项目需求和集群数据文件大小的量级合理设置备份策略和频次。

通用策略推荐的全量备份周期:7天;

通用策略推荐的增量备份周期:1天;

通用策略推荐的保留份数:5份全量备份。

5.6.1.2. 硬件-推荐配置 ¶

单机请参考: 硬件配置

KingbaseES 读写分离集群请参考: 硬件配置

KingbaseES Clusterware集群请参考: 硬件配置

5.6.1.3. 数据库配置 ¶

确保所有主备节点的archive_mode均配置为on.

grep archive_mode $db_path/esrep.conf
archive_mode = on

注:archive_command将由配置脚本自动填充实际内容。

5.6.1.4. 备份还原功能配置 ¶

注意

init start 命令要求在REPO备份服务器节点上执行。

  • 初始化配置时

1 准备初始配置文件sys_backup.conf

此配置文件模板位于share目录下,填充配置完成后可以移动到$bin_path目录下。

# 配置文件关键片段
# 指明当前的数据库是单机或者集群,single/cluster
_target_db_style=”cluster”
# 建议配置数据库的primary node 的IP,只需一个IP地址
_one_db_ip=”192.168.1.11”
# 备份服务器所在的IP
# 主备集群+内在备份服务器 设置为等同于$_one_db_ip
# 主备集群+外部备份服务器 设置外部备份服务器
_repo_ip=”192.168.1.66”
_stanza_name=”kingbase”
_os_user_name=”kingbase”
# 备份文件实际存储路径,注意磁盘容量
_repo_path=”/home/kingbase/back_dir”
# 全量备份保留份数
_repo_retention_full_count=5
# 全量备份周期(天数)
_crond_full_days=7
# 差异备份周期(天数)
_crond_diff_days=0
# 增量备份周期(天数)
_crond_incr_days=1
# 自动执行全量备份的时间点,2表示凌晨2点
_crond_full_hour=2
# 自动执行差异备份的时间点,3表示凌晨3点
_crond_diff_hour=3
# 自动执行增量备份的时间点,4表示凌晨4点
_crond_incr_hour=4
# 带宽限制, 单位为Mb/s, 默认值0时无限制
_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/ES/V8/data”
_single_bin_dir=”/home/kingbase/ES/V8/Server/bin”
_single_db_user=”system”
_single_db_port=”54321”
# 开启时使用sys_securecmd, 未开启使用普通ssh
_use_scmd=on

2 执行初始化配置

初始化备份还原功能

$bin/sys_backup.sh init

启动备份还原功能

$bin/sys_backup.sh start

3 确认备份还原功能配置文件sys_rman.conf

cat $repo_path/sys_rman.conf

注意

要求管理员在sys_backup.sh init前,数据库节点与外部备份节点之间以相应的OS用户,互相进行SSH登录,以验证SSH登录场景,通过StrictHostKeyChecking的检测。

  • 日常备份时

常规日常备份由系统的CRONDTAB触发,不需要额外关注。

如果因为业务需要,可使用如下命令执行一次全量备份。

$bin/sys_rman --config=$repo_path/sys_rman.conf --stanza=$stanza_name  --type=full backup

或者差异备份

$bin/sys_rman --config=$repo_path/sys_rman.conf --stanza=$stanza_name  --type=diff backup

或者增量备份

$bin/sys_rman --config=$repo_path/sys_rman.conf --stanza=$stanza_name  --type=incr backup
  • 故障还原时

在 数据节点 上执行还原动作。

注:如果实际备份文集的$repo_path遭到了损坏,还原功能将失效。

备份和还原时,工具将自动进行文件级别的有效性校验。

1 根据不同的故障及场景开展还原

如果是独立外部备份的情况下,数据节点的repopath已经损坏的情况下,从外部备份节点拷贝repopath已经损坏的情况下,从外部备份节点拷贝repo_path/sys_rman.conf到数据节点相应目录,

并作出少许修改,详细请参考用户手册。

如果$data_path没有任何文件

$bin/sys_rman --config=$repo_path/sys_rman.conf --stanza=$stanza_name restore

如果$data_path有可信赖可保留的文件

$bin/sys_rman --config=$repo_path/sys_rman.conf --stanza=$stanza_name --delta restore

2 启动刚刚还原的数据节点成为新的primary node

3 在其他数据节点执行repmgr clone从新的primary node克隆节点

$bin/repmgr standby clone -desrep -Uesrep -p -h

5.6.2. 监控指标 ¶

确认CRONDTAB报告备份还原功能sys_rman

cat /etc/cron.d/KINGBASECRON

在REPO节点,磁盘剩余多少空间

df -h

在REPO节点,确认备份已经消耗了多少磁盘空间

du -h $repo_path

查看已产生备份文件集列表

$bin/sys_rman --config=$repo_path/sys_rman.conf --stanza=$stanza_name info

5.6.3. 从计划外停机中恢复 ¶

因为备份还原功能并不是24小时工作,从计划外停机中恢复时,不需要额外的行为。

如果备份文件集发生了损坏,需要尽快进行全量备份来保证至少有一个可用的全量备份。

确认CRONDTAB报告备份还原功能sys_rman

cat /etc/cron.d/KINGBASECRON

5.6.3.1. 集群还原策略 ¶

如果集群中一个节点出现严重问题时,应该采用repmgr工具的clone功能。

新节点上线后,使用repmgr工具接入集群中。

如果集群所有节点都出现严重问题时,应该采用本工具进行还原。

1 选择一个数据库节点,使用还原功能;

2 使用repmgr工具clone其他节点;

3 整个集群恢复正常工作状态。

5.6.3.2. 站点故障 ¶

站点故障包括网络原因、电力中断或人为原因导致站点设备停止工作,若没有跨站点的备节点,需要人工恢复集群

如果故障没有造成存储文件的损坏,按照集群章节的方法恢复集群。

如果故障造成存储文件的损坏,按照本章节的方法还原数据系统。

5.6.3.3. 实例或计算机故障 ¶

集群主节点发生进程故障、设备断电、设备重启、网络故障

根据集群章节的方法处理,

处理过程应该避开每日备份节点;

或者sys_backup.sh stop暂停自动备份服务后,处理异常,

然后sys_backup.sh start启动自动备份服务。

集群备机进程故障、设备断电、设备重启、网络故障

备库故障不影响备份工作的开展。

5.6.3.4. 存储故障 ¶

集群管理软件会监测数据库存储情况,遇到存储故障的情形会关闭数据库,相关行为如下表

表 5.6.2 存储故障  ¶

事件

集群应对行为

备份功能相关

主库存储故障

repmgr 对主库实施停库, 备库进而自动切换。

集群恢复后, 尽快执行一次全量备份。

备库存储故障

repmgr 对备库实施停库; 若流复制配置为同 步,或者quorum模式下 备节点都故障,主库会 转换流复制为异步模式 (async或all不用处理)。

备库故障不 影响备份工作的开展。

5.6.3.5. 数据损坏/人为错误 ¶

根据指定自然时间点来恢复

$bin/sys_rman --config=$repo_path/sys_rman.conf --stanza=$stanza_name --type=time --target=’2020-9-21 16:28:37’ restore

根据指定备份文件集来恢复

$bin/sys_rman --config=$repo_path/sys_rman.conf --stanza=$stanza_name --set 20220518-050250F_20220518-051108I --type=time --target='2022-05-18 11:27:21' --delta restore

根据指定XID来恢复

$bin/sys_rman --config=$repo_path/sys_rman.conf --stanza=$stanza_name --type=xid --target=’44556677’ restore

5.6.3.6. 响应慢或挂起 ¶

如果需要,可以sys_backup.sh stop暂停自动备份服务后,处理异常,然后sys_backup.sh start启动自动备份服务。

5.6.4. 计划内停机操作 ¶

5.6.4.1. 补丁、升级 ¶

5.6.4.1.1. 资源补丁、升级 ¶

本备份还原工具sys_rman不直接关联其他资源。

升级后,请根据实际需要更新:

  • 初始化配置文件 $bin/sys_backup.conf

    如有需要可以重新初始化配置一次,初始化将清理旧的备份文件集。

  • 备份还原功能配置文件$repo_path/sys_rman.conf

5.6.4.1.2. SYS_RMAN补丁、升级 ¶

补丁、升级过程应该避开初始化配置文件固定的凌晨备份时间。

本备份还原工具包含四个文件:

  • sys_backup.sh 初始化配置脚本,可直接覆盖升级。

  • sys_backup.conf 初始化配置文件,可直接覆盖升级。

  • sys_rman 备份还原二进制可执行文件,可直接覆盖升级。

  • sys_rman.conf 备份还原配置文件,可直接覆盖升级。

注意

sys_rman兼容旧的备份文件集,新的sys_rman将兼容旧版本的sys_rman产生的备份文件集。

5.6.4.1.3. 停机升级方式 ¶

本备份还原工具不需要停机升级。

5.6.4.1.4. 在线升级 ¶

在线升级过程应该避开初始化配置文件固定的凌晨备份时间。

本工具包含的四个文件均支持在线直接覆盖升级。

5.6.4.1.5. 系统或硬件补丁、升级 ¶

如果变更需要重启主机或是停止网络等影响资源运行的操作,选择在线升级,否则选择停机升级。

5.6.4.2. 配置变更 ¶

5.6.4.2.1. SYS_RMAN配置 ¶

请根据实际需要更新:

  • 初始化配置文件 $bin/sys_backup.conf

    如有需要可以重新初始化配置一次,初始化将清理旧的备份文件集。

  • 备份还原功能配置文件$repo_path/sys_rman.conf

5.6.4.3. 增加删除节点 ¶

  • 增加节点并不直接影响备份还原功能。

  • 删除的节点,如果被删除的不是备份服务功能所在节点,不影响

  • 删除的节点,如果被删除的是备份服务功能所在节点,

需要重新选择一个节点,填充初始化配置文件,然后初始化配置。

你可能感兴趣的:(KingbaseES产品手册,数据库,服务器,java,金仓数据库,kingbase)