root service list 疑问

【 使用环境 】POC验证环境
【 OB or 其他组件 】
【 使用版本 】
【问题描述】咨询一下关于root service list问题
ocp 安装了 3个zone的 1-1-1 集群 安装时root service 位置选了3个 server
查询 DBA_OB_SERVERS with_rootserver 只有一个server是"YES" 的

  问题1:如何查看这 root service 所有复本,目前DBA_OB_SERVERS 没有显示,如何准确的确定 root service确实有3个复本?
  问题2:将1-1-1集群扩展到了 1-1-1-1-1, 2-2-2 集群 如果想调整root service位置比如 从 3副本变成5副本提高可用性,或调整 root service位置比如迁移到一个zone是否有办法? 还是 root service可以做到自动调整?

【复现路径】问题出现前后相关操作
【附件及日志】推荐使用OceanBase敏捷诊断工具obdiag收集诊断信息,详情参见链接(右键跳转查看):

【SOP系列 22 】——故障诊断第一步(自助诊断和诊断信息收集)

【备注】基于 LLM 和开源文档 RAG 的论坛小助手已开放测试,在发帖时输入 [@论坛小助手] 即可召唤小助手,欢迎试用!

您的问题主要涉及两方面:1) 查看 root service 的所有复本;2) 调整 root service 的位置及数量。首先,关于如何查看 root service 的所有复本,可以通过执行特定的查询语句来获取这些信息。而对于调整 root service 的位置和数量,这涉及到 OceanBase 的高可用配置和管理策略。

对于问题1:如何查看 root service 的所有复本

虽然 DBA_OB_SERVERS 表只显示了每个服务器的基本信息,但可以通过查询系统表来获得 root service 的更多信息。具体来说,可以查询 __all_server__all_tenant 表来查看租户下的所有服务器及其角色,其中 __all_server 表中的 is_start 字段可以帮助确认服务器状态,而 role 字段则表示该服务器在租户中的角色(例如,主节点或备节点)。但是,要直接看到 root service 的复本信息,可以查询 __all_root_service_event_history 表,这个表记录了 root service 的历史事件,包括切换等信息,可以间接反映出 root service 的分布情况。

对于问题2:调整 root service 的位置和数量

调整 root service 的位置和数量是一个相对复杂的过程,涉及到集群的重新配置。通常,这种操作需要通过 OceanBase 的管理工具 OCP 或者 OBD 来完成,而不是直接通过 SQL 语句。

如果您使用的是 OCP:

  1. 在 OCP 中,您可以创建或修改集群配置,指定 root service 的副本数和每个副本所在的 zone。
  2. 然后,OCP 会自动处理所有必要的步骤,包括迁移数据和更新配置,确保 root service 按照新的配置正常工作。

如果您使用的是 OBD:

  1. 使用 OBD 的 obd cluster edit-config 命令编辑集群配置文件,增加或减少 root service 的副本数量,同时指定每个副本所在的 zone。
  2. 保存配置并运行 obd cluster deploy 命令来应用更改。
  3. OBD 将指导您完成所有的步骤,包括可能的数据迁移。

推荐使用的 obdiag 场景和命令

由于您提到的问题更多是关于配置和管理上的问题,而非典型的故障排查场景,因此 obdiag 可能不是解决这些问题的最佳工具。不过,如果您想进一步了解当前集群的状态,可以考虑使用以下 obdiag 命令来收集集群的基础信息:

日志采集场景: 集群基础信息
日志采集命令: obdiag gather scene run --scene=observer.base

这条命令可以帮助您收集关于集群的基本信息,包括但不限于配置、状态等,这可能会对理解当前集群的设置有所帮助。

向您提出的几个问题

  1. 当前是否使用了 OCP 或 OBD 进行集群的管理和配置?
  2. 是否有特定的需求或限制,例如某些 zone 必须包含 root service 的副本?
  3. 是否有计划对集群进行进一步的扩容或缩容操作?

以上信息将有助于我们更准确地为您提供解决方案。

附上敏捷诊断工具 obdiag 使用帮助链接

1 个赞

RS 服务是一主多备,显示YES表示那个节点是主节点,只有这个节点可以提供服务,如果主节点出现了故障会进行选举,重新选出一个新的节点提供服务

您好老师感谢关注,那如何确定有几个备节点呢?

看下SYS租户的规格是什么,如果SYS有几个副本RS就有几个备节点

1 个赞

https://open.oceanbase.com/blog/20245151297

2 个赞

你要是从1-1-1扩展成1-1-1-1-1的话,需要手动调整SYS租户的规格,这样RS节点才会跟着扩容

1 个赞

另外那个是RS的主节点跟SYS租户的PRIMARY_ZONE设置是有关系

1 个赞

感谢老师

感谢陈师傅,这篇文章描述挺详细

收到,感谢老师

优秀