暂无图片
gs_ctl 建立一主一备关系时有警告信息,能够建立成功。但断电重启后备库启动失败
我来答
分享
Mcqmyxh
2023-12-15
gs_ctl 建立一主一备关系时有警告信息,能够建立成功。但断电重启后备库启动失败

对Mogdb 3.0.3 使用 gs_ctl build -D /dir -b full -M standby 进行主备建立时,日志有告警信息如下:

    [gs_ctl]: exists illegal characters backup_label, dn_6001

    [gs_ctl]: receiving and unpacking files...

    [gs_ctl]: exists illegal characters pg_hba.conf.bak, dn_6001 ,
    [gs_ctl]: exists illegal characters pg_snapshots/, dn_6001 ,
    [gs_ctl]: exists illegal characters postmaster.pid.lock, dn_6001 ,
    [gs_ctl]: exists illegal characters pg_serial/, dn_6001

    [gs_ctl]: exists illegal characters pg_xlog/, dn_6001

    [gs_ctl]: exists illegal characters pg_multixact/, dn_6001

    [gs_ctl]: exists illegal characters pg_multixact/members/, dn_6001 ,

    [gs_ctl]: exists illegal characters pg_errorinfo/, dn_6001 ,

    [gs_ctl]: exists illegal characters base/16014/15446, dn_6001 ,

    [gs_ctl]: exists illegal characters base/16019/15456, dn_6001 ,

    [gs_ctl]: exists illegal characters global/15440_fsm, dn_6001 ,

    [gs_ctl]: exists illegal characters global/15747, dn_6001 ,
    [gs_ctl]: exists illegal characters global/15819, dn_6001 ,

日志我摘抄了其中一部分,看日志意思应该是主备建立后备库觉得这些从主库同步来的数据文件(mogdb主库进程启动时指定的数据目录)不合法,但opengauss在执行如上命令时不会有这些警告信息

告警信息不影响最终备份的结果,最终可以完成。但在备库断电后,备库再次重新启动后就会失败,日志如下:

[2023-12-11 09:08:17.389][1631][][gs_ctl]: gs_ctl started,datadir is /backup/db
[2023-12-11 09:08:17.678][1631][][gs_ctl]: waiting for server to start...
.0 LOG: [Alarm Module]can not read GAUSS_WARNING_TYPE env.
0 LOG: [Alarm Module]Host Name: 5432
0 LOG: [Alarm Module]Host IP: 0.0.21.56
0 LOG: [Alarm Module]Get ENV GS_CLUSTER_NAME failed!
0 WARNING: failed to open feature control file, please check whether it exists: FileName=gaussdb.version, Errno=2, Errmessage=No such file or directory.
0 WARNING: failed to parse feature control file: gaussdb.version.

0 WARNING: Failed to load the product control file, so gaussdb cannot distinguish product version.
The core dump path from /proc/sys/kernel/core_pattern is an invalid directory:|/usr/lib/systemd/
2023-12-11 09:08:17.808 65766101.1 [unknown] 140497251760320 [unknown] 0 dn_6001 DB010 0 [REDO] LOG: Recovery parallelism, cpu count = 4, max = 4, actual = 4
2023-12-11 09:08:17.808 65766101.1 [unknown] 140497251760320 [unknown] 0 dn_6001 DB010 0 [REDO] LOG: ConfigRecoveryParallelism, true_max_recovery_parallelism:4, max_recovery_parallelism:4
Failed to read gaussdb.state: 0Failed to set gaussdb.state with UNKNOWN_STATE[2023-12-11 09:08:18.679][1631][][gs_ctl]: waitpid 1673 failed, exitstatus is 256, ret is 2
[2023-12-11 09:08:18.679][1631][][gs_ctl]: stopped waiting
[2023-12-11 09:08:18.679][1631][][gs_ctl]: could not start server



我来答
添加附件
收藏
分享
问题补充
3条回答
默认
最新
Mjwlan

根据提供的日志信息,这里有两个问题需要解决:

  1. "exists illegal characters"警告:在主备建立时,备库检测到一些从主库同步过来的数据文件名不合法。这可能是因为文件名中包含了对于数据库命名不允许的特殊字符或格式。这些警告并不会影响最终的备份结果,但可能会导致后续启动备库的问题。

  2. 备库启动失败:断电重启后,备库无法成功启动。从日志中可以看到几个问题,如警告信息中提到的无法读取和解析控制文件、无法加载产品版本等。这些问题可能是由于断电导致的数据文件损坏或目录结构错误引起的。

针对这些问题,以下是一些可能的解决方法:

  • 针对警告信息中的非法字符:检查主库的数据文件名是否符合数据库命名规范,并确保文件名不包含任何特殊字符或格式。如果有不符合规范的文件名,可以尝试修改文件名,然后重新进行主备建立。

  • 针对备库启动失败的问题:首先,确认断电前备库的数据文件是否完整且没有损坏。如果发现数据文件损坏,可以尝试使用备份还原的方式来修复数据文件。另外,也可以尝试删除备库的数据目录并重新初始化备库,然后重新进行主备建立。

如果上述方法无效或无法解决问题,建议查看更详细的错误日志或联系数据库供应商的技术支持团队以获取进一步的帮助和指导。他们可能能够提供更具体的解决方案来解决备库启动失败的问题。

暂无图片 评论
暂无图片 有用 1
打赏 0
Mcqmyxh

1. exists illegal characters 后面的文件是主库搭建好后便存在的,按理说不应该需要改动。illegal内容包含了全部主库数据目录的文件。

2. 断电重启物理机后,mogdb启动失败。不知道启动失败是否和之前gs_ctl build -D /dir -b full -M standby 出现的 illegal 相关

暂无图片 评论
暂无图片 有用 1
打赏 0
一只dba
无法读取和解析控制文件,应该是损害,重新部署恢复
暂无图片 评论
暂无图片 有用 0
打赏 0
回答交流
Markdown


请输入正文
提交
相关推荐
MogDB 使用WITH RECURSIVE后不能接limit子句
回答 1
怀疑是其他问题引起的,我用mogdb测试,在版本2.1.1和3.0.0上均无报错
pycharm连接mogdb报错
回答 1
已采纳
使用postgresql原版的psycopg2会有此问题,需要将数据库的密码认证方式改为md5,重启数据库,并修改对应用户的密码设置passwordencryptiontype为0在pghba.con
mogdb中如何实现postgrep sql中convert_empty_string_to_null = on配置的功能
回答 1
MogDB中在创建新的数据库时,可以通过设置DBCOMPATIBILITY参数,来控制空字符串和NULL值的行为。您的需求需要将DBCOMPATIBILITY设置为A。https://docs.mog
Mogdb 3.0 docker run 很慢,整个过程要15分钟
回答 6
已采纳
我用你的这条dockerrun命令测的时间,creatingtemplate1到gsctlstart只需要10秒,应该与特定的环境有关creatingtemplate1databasein/var/l
mogdb有没有详细的手动安装文档,官网的有点简略吧,顺便请教一下如何设置mogdb字符集为gbk呢
回答 2
已采纳
推荐使用ptk工具安装mogdb数据库https://docs.mogdb.io/zh/ptk/v0.6/install手动安装请参考此页面https://docs.mogdb.io/zh/mogdb
mogdb管理工具
回答 11
已采纳
https://www.modb.pro/db/42604
请问mogdb在测试环境中不激活使用有问题吗
回答 1
MogDB数据库软件本身没有使用license在技术层面来进行功能或时长控制,这一点和Oracle一样
浪潮+飞腾ARM下安装Mogdb2报错
回答 1
已采纳
目前MogDB官网没有发布该版本,openGauss可以自己编译一下。
使用开发工具怎么连接MogDB,视乎不支持PostgreSQL的驱动
回答 2
可以尝试一下官方提供的datastudio,我最近用这个玩意写了不少代码了https://opengauss.obs.cnsouth1.myhuaweicloud.com/2.1.0/DataStud
MogHA在主节点挂掉之后调用备节点dbFailover接口报错 "HTTP/1.1 POST /dbFailover" - 500 Internal Server Error
回答 5
版本bug你在去官网下周个最新的HA组件,重新安装一下