KingbaseES V8R6集群备份恢复案例之---远程外部备份故障案例

news/2024/11/30 12:31:25/文章来源:https://www.cnblogs.com/tiany1224/p/18568123

案例说明:
KingbaseES V8R6集群,通过‘cluster’模式执行远程异地的外部备份,在备份初始化时,故障显示,远程节点连接数据库失败,异常终止。原因是,数据库节点不支持本地数据库访问导致。

适用版本:
KingbaseES V8R6

集群架构:

一、问题现象
如下所示,在执行sys_backup.sh init后,提示远程备份服务器无法访问数据库节点:

二、问题分析

1、在备份服务器ksql连接测试
如下所示,远程备份服务器可以远程访问数据集群节点数据库服务:

2、执行以下语句测试到数据库的连接

/home/kingbase/cluster/v9/kingbase/bin/sys_securecmd -q -o ConnectTimeout=10 -o StrictHostKeyChecking=no -p 8890 -o ServerAliveInterval=2 -o ServerAliveCountMax=3 kingbase@主库ip 'ksql -U system test -c "select version();"'

经测试,当通过securecmdd远程连接到数据库服务器本机时,执行ksql本地连接失败,只能通过远程“-h”网络远程连接数据库:

三、测试模拟分析

1、如下所示备份配置

2、通过sys_hba.conf禁止数据库本地访问

如下所示,禁止数据库本地连接访问:

# TYPE  DATABASE        USER            ADDRESS                 METHOD# "local" 只能用于UNIX域套接字
# local   all             all                                     scram-sha-256

3、测试数据库连接
如下所示,远程节点通过在通过securecmdd远程连接到数据库节点后,不支持ksql本地访问:

# ksql -h远程访问
[kingbase@node202 bin]$ ./sys_securecmd kingbase@192.168.1.208 "/home/kingbase/cluster/v9/kingbase/bin/ksql  -U system test -p 54325 -h 192.168.1.208 -c 'select  version();'"version                                                    
----------------------------------------------------------------------------------------------------------------------KingbaseES V009R001C002B0014 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-28), 64-bit
(1 row)# ksql本地访问
[kingbase@node202 bin]$ ./sys_securecmd kingbase@192.168.1.208 "/home/kingbase/cluster/v9/kingbase/bin/ksql  -U system test -p 54325  -c 'select  version();'"
ksql: error: could not connect to server: FATAL:  no sys_hba.conf entry for host "[local]", user "system", database "test", SSL off

4、测试备份初始化
如下所示,执行备份初始化异常:

[kingbase@node202 bin]$ ./sys_backup.sh init
# pre-condition: check the non-archived WAL files
# Check 192.168.1.208 archive-mode == always
# Check 192.168.1.209 archive-mode == always
# 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)
ERROR: create stanza failed, check log file /home/kingbase/cluster/v9/kingbase/log/sys_rman_stanza-create.log
[kingbase@node202 bin]$ cat /home/kingbase/cluster/v9/kingbase/log/sys_rman_stanza-create.log
2024-11-18 18:57:16.448 P00   INFO: stanza-create command begin 2.27: --band-width=0 --cmd-ssh=/home/kingbase/cluster/v9/kingbase/bin/sys_securecmd --config=/home/kingbase/kbbr_repo/sys_rman.conf --exec-id=10743-bd491a36 --kb1-host=192.168.1.208 --kb1-host-user=kingbase --kb1-path=/home/kingbase/cluster/v9/kingbase/data --kb1-port=54325 --kb1-user=system --log-level-console=info --log-level-file=info --log-path=/home/kingbase/cluster/v9/kingbase/log --log-subprocess --process-max=4 --repo1-path=/home/kingbase/kbbr_repo --stanza=kingbase
WARN: set process-max 4 is too large, auto set to CPU core count 1
2024-11-18 18:57:17.037 P00   INFO: stanza-create for stanza 'kingbase' on repo1
2024-11-18 18:57:17.397 P00   INFO: stanza-create command end: completed successfully (953ms)
2024-11-25 14:31:47.789 P00   INFO: stanza-create command begin 2.27: --backup-from=cluster --band-width=0 --cmd-ssh=/home/kingbase/cluster/v9/kingbase/bin/sys_securecmd --config=/home/kingbase/kbbr_repo/sys_rman.conf --exec-id=9257-11e09c11 --kb1-host=192.168.1.208 --kb2-host=192.168.1.209 --kb1-host-user=kingbase --kb2-host-user=kingbase --kb1-path=/home/kingbase/cluster/v9/kingbase/data --kb2-path=/home/kingbase/cluster/v9/kingbase/data --kb1-port=54325 --kb2-port=54325 --kb1-user=esrep --kb2-user=esrep --log-level-console=info --log-level-file=info --log-path=/home/kingbase/cluster/v9/kingbase/log --log-subprocess --process-max=4 --repo1-path=/home/kingbase/kbbr_repo --stanza=kingbase
WARN: set process-max 4 is too large, auto set to CPU core count 1
WARN: unable to check kb-1: [db_connect_err] raised from remote-0 ssh protocol on '192.168.1.208': unable to connect to 'application_name=internal_rman dbname='kingbase' port=54325 user='esrep'': FATAL:  no sys_hba.conf entry for host "[local]", user "esrep", database "kingbase", SSL off
WARN: unable to check kb-2: [db_connect_err] raised from remote-0 ssh protocol on '192.168.1.209': unable to connect to 'application_name=internal_rman dbname='kingbase' port=54325 user='esrep'': FATAL:  no sys_hba.conf entry for host "[local]", user "esrep", database "kingbase", SSL off
ERROR: [056]: unable to find primary cluster - cannot proceed
2024-11-25 14:31:48.906 P00   INFO: stanza-create command end: aborted with exception [056]

如下所示,备份服务器securecmdd远程连接主库后,sys_rman无法访问数据库服务:

四、问题解决
在解决数据库可以本地访问后,远程服务器备份正常。

五、总结
在远程外地备份模式中,远程服务器通过ssh或securecmdd连接到数据库服务器后,sys_rman需要在 数据库节点本地可以访问数据库服务,如果不支持,sys_rman备份将异常。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/840919.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

工业主板发展现状分析

尽管增长强劲,但工业主板市场仍面临某些限制。主要挑战是开发和生产工业级主板的成本高昂。与消费级主板不同,工业主板的设计符合严格的耐用性、可靠性和极端条件下的性能标准。这需要使用高质量的材料、先进的制造工艺和广泛的测试,所有这些都会导致更高的生产成本。这些成…

你的策划效率太低?可能是没用对工具!

活动策划的核心痛点:你是否也有这些困扰?信息分散,难以集中管理营销活动通常涉及多个任务模块,包括前期的需求沟通、中期的资源协调和后期的效果复盘。这些信息往往分散在邮件、即时通讯工具、表格和文档中,难以系统化管理。一旦沟通不及时或信息遗漏,就可能导致工作断档…

springboot接入沙箱支付宝的支付流程

支付宝沙箱环境文档 支付宝沙箱账号-开放平台管理 首先梳理一下支付流程:用户点击下单按钮 商户系统生成订单,并构造支付请求,将请求发送给支付宝 在支付宝APP上,支付宝为用户展示相关信息,用户输入密码完成支付 支付完毕后将支付结果返回给商户系统(或者商户系统主动查询…

Linux之CPU缓存

CPU 缓存 系统中最快的存储是处理器中的寄存器。但寄存器由于造价比较昂贵,提供的空间也非常有限。因此系统中必须使用存储量大但速度慢的主存(内存)。 高速缓存的速度都比主存快。主存的访问时间是8纳秒以上,而缓存的访问时间只有几个CPU时钟周期。在标准的 X86 平台下,一…

不干啥,吐槽一下Cloudflare

Cloudflare,毫无疑问是非常优秀的云服务提供商。But官方提供的一些优化项,真是很让人摸不着头脑! 长话短说,官方提供一种 route-matching 的功能,根据其介绍可知,当请求URL中含有.html时,CF会自动把后缀去掉,形成只有path的干净模样.... 然而有的时候,真的是需要保留后…

typora 0.11.18 最后的免费版安装方法(含 windows 和 archlinxu)

目录故事介绍archlinx 安装windows 安装注册表修改验证 typora故事介绍typora 从 1.0 版本开始收费了,最后一个免费版本是 0.11.18下面的地址是 typora 官方下载页面https://typora.io/windows/dev_release.htmlarchlinx 安装aur 的 typora-free 下载 deb 包也许未来会失效,我…

Linux:fdisk指令

学习自: fdisk命令详解 - 知乎 Linux fdisk命令详解:给硬盘分区_fdisk -l-CSDN博客 初始化Linux数据盘(fdisk)|华为云_fdisk 华为云 初始化云盘-CSDN博客 1、说明 新添加硬盘之后,需要用fdisk指令来完成分区。 不要在当前硬盘上使用fdisk,这会删除整个系统。 2、用法 输入…

GaussDB整体性能慢分析

@目录问题描述问题现象告警业务影响原因分析分析步骤分析定位方法步骤一步骤二步骤三步骤四CPU满I/O满或者I/O异常内存满网络异常步骤五并发问题数据库配置问题异常等待事件长时间性能下降短时性能抖动不优SQL 问题描述 整体性能慢。不满足客户作业对时延要求或者不满足客户预期…

LED芯片/点阵数码显示IC-VK16K33A SOP28大电流数码管驱动,I2C通讯接口

产品品牌:永嘉微电/VINKA 产品型号:VK16K33A 封装形式:SOP28 概述 VK16K33A是一种带按键扫描接口的数码管或点阵LED驱动控制专用芯片,内部集成有数据 锁存器、键盘扫描、LED 驱动模块等电路。数据通过I2C通讯接口与MCU通信。SEG脚接LED阳 极,GRID脚接LED阴极,可支持16SEG…

GaussDB数据库存储过程介绍

@目录一、前言二、GaussDB中的定义三、存储过程的使用场景四、存储过程的使用优缺点五、存储过程的示例及示例解析1、GaussDB存储过程语法格式2、GaussDB存储过程语法示例3、存储过程的调用方法七、总结 一、前言 华为云数据库GaussDB是一款高性能、高安全性的云原生数据库,在…

GaussDB数据库SQL系列-游标管理

一、前言 在数据库中,游标(cursor)是一种非常重要的工具,用于在数据库查询结果集中进行定位和操作。游标提供了一种在多行数据结果集中逐行处理每一行的机制,允许开发人员对每一行的数据进行操作,如检索、过滤、修改等。本文将结合GaussDB数据库,简单的给大家做一介绍。…

以学校数据模型为例,掌握在DAS下使用GaussDB

@目录题目具体操作一、表的创建二、表数据的插入三、数据查询 目的: 这里以学校数据库模型为例,介绍GaussDB数据库、表等常见操作,以及SQL语法使用的介绍。 题目 假设A市B学校为了加强对学校的管理,引入了华为GaussDB数据库。 在B学校里,主要涉及的对象有学生、教师、班级…