当前位置: 首页 > news >正文

GBase 8a之gcrcman在非原集群上恢复时遇到拓扑结构检查不一致的问题及其解决方案

问题描述:
gcrcman在非原集群上恢复时,会遇到拓扑结构检查与元集群不一致的问题。

问题原因:
原集群和待恢复集群的拓扑结构存在差异,导致无法恢复。


拓扑对比的前提:
gcrcman 是按照2个集群的拓扑结构的字符串进行比对的。所以不接受一切的字符串级别的不一致。

样例: (gcrcman日志里的报错信息)

环境1:
{'coordinators': ({'nodename': 'coordinator1'}, {'nodename': 'coordinator2'}, {'nodename': 'coordinator3'}), 'vc_array': ({'dataservers': ({'nodename': 'node1'}, {'nodename': 'node2'}, {'nodename': 'node3'}), 'distributions': ({'pairs': ({'DupNodeName': ['node2'], 'PrimaryNodeName': 'node1'}, {'DupNodeName': ['node3'], 'PrimaryNodeName': 'node2'}, {'DupNodeName': ['node1'], 'PrimaryNodeName': 'node3'}), 'id': 2},), 'vcname': 'vcname000001', 'vcid': 'vc00001'},)}


环境2:
{'coordinators': ({'nodename': 'coordinator1'}, {'nodename': 'coordinator2'}, {'nodename': 'coordinator3'}),'vc_array': ({'dataservers': ({'nodename': 'node1'}, {'nodename': 'node2'}, {'nodename': 'node3'}), 'distributions': ({'pairs': ({'PrimaryNodeName': 'node1', 'DupNodeName': ['node2']}, {'PrimaryNodeName': 'node2', 'DupNodeName': ['node3']}, {'PrimaryNodeName': 'node3', 'DupNodeName': ['node1']}), 'id': 1},), 'vcid': 'vc00001', 'vcname': 'vcname000001'},)}


两个环境的异同:

<1>都是3节点环境coordinator和node对应关系相同。
<2>PrimaryNodeName 和 DupNodeName 虽然2个集群主备片和node的对应关一致,但书写顺序不一致也不行。
<3>id的编号不一致也不行(这里的id指distributionid) 也就是说任何情况(如扩容,缩容,节点替换)造成的distributionid不同也不行


解决方案:

(1)卸载待恢复集群
(2)重新安装待恢复集群
(3)待恢复集群建distribution时,按照以下方式创建:
<1> 新建:gcChangeInfo.xml




<2> 原集群: gcadmin getdistribution 原集群最新distributionid号 distribution.xml
<3> 按照自定义的ip对应关系,把待恢复集群的ip对应替换文件distribution.xml中的ip
<4> 待恢复集群执行: gcadmin distribution gcChangeInfo.xml
(4)安装成功后,即可执行恢复操作

http://www.jsqmd.com/news/1138050/

相关文章:

  • AI/ML工程师的数学基石:概率统计、线性代数与微积分的完整学习路线图
  • 弯弦:散文
  • 【华为OD机试真题 新系统】1038、SQL记录拆分 | 机试真题+思路参考+代码解析(C++、Java、Py、C语言、JS)
  • 生成式表单 Schema:字段能生成,校验也要跟上
  • SecHex-Spoofy深度解析:专业级HWID修改工具实战指南
  • Orbbec SDK v2.8.7 与 OpenNI2 v2.3.0.86 对比:3个关键差异与5款相机兼容性分析
  • 从选题到定稿全流程 AI 期刊论文工具,文献综述、实证分析自动生成
  • ICM-42688-P与PIC18F27K42在工业自动化中的高效组合
  • 并发编程核心概念辨析
  • 免费前端开发库认证终极指南:从零到专业的三步进阶法
  • 131.IEC61131-3 标准编程!CODESYS/TwinCAT 通用分拣控制工程方案
  • 什么是软件?别再说“就是代码”了,那只是半成品
  • Java金融系统银行级安全加固实战指南:从代码到运维的纵深防御
  • STM32L081CB驱动WS2812 LED灯带的实战指南
  • 别被“函数”吓住——C语言函数,其实就是你的“万能小工具”
  • 如何使用Conda国内源安装虚拟环境(保姆级全平台教程)
  • 5步完成老Mac系统升级:OpenCore Legacy Patcher终极指南
  • Cascade R-CNN vs Iterative BBox vs Integral Loss:3种级联结构对比与性能差异解析
  • 小白程序员必看:收藏这份大模型应用开发转行指南,36岁也能吃香!
  • Paperxie 聊毕业论文 AI 写作|学长学姐实测,一步一步写学位论文真的省心
  • 天天说“鲁棒性“,到底啥意思?一篇给小白讲清楚
  • 136、DySample 动态上采样在 YOLOv11 中的实现:基于点采样的轻量级动态上采样器
  • 终极UltraStar Deluxe免费开源卡拉OK唱歌游戏完整指南:如何快速上手专业级K歌体验
  • Paperxie 毕业论文智能写作好用吗?过来人完整实测对话版
  • 美团 LongCat-2.0 正式 MIT 全开源|1.6T MoE 大模型技术拆解与完整本地部署实战教程
  • 终极跨语言阅读解决方案:DeepL翻译插件如何让外文内容秒变中文
  • 终极配置指南:vJoy虚拟摇杆完整教程
  • Service Mesh 超时重试:救服务,也可能放大故障
  • 抖音音频批量下载终极指南:免费开源工具快速获取无水印音乐
  • Java毕设选题推荐:基于 SpringBoot 的教学过程考核评价系统的设计与实现 基于 SpringBoot 的课程阶段性考核管理系统【附源码、mysql、文档、调试+代码讲解+全bao等】