集群zone状态显示异常

在集群节点一上执行 iptables -A INPUT -j DROP 和 iptables -A OUTPUT -j DROP 后,集群其他节点查看dba_ob_zones节点一的 zone 状态仍为 active,但是dba_ob_servers中节点一的status已为inactive,这是为什么。

@论坛小助手

当在一个集群节点上执行了 iptables -A INPUT -j DROPiptables -A OUTPUT -j DROP 命令后,该节点上的所有入站和出站网络连接将被阻止。这种情况下,其他节点无法通过网络与该节点通信,因此在 oceanbase.DBA_OB_SERVERS 表中该节点的状态会变为 inactive,表示该节点已经下线。然而,oceanbase.DBA_OB_ZONES 表中的 status 字段反映了整个 Zone 的状态,而不是单个节点的状态。由于其他节点仍在正常运行,Zone 的整体状态仍然为 active。只有当 Zone 中的所有节点都处于 inactive 状态时,Zone 的状态才会变为 inactive

检索到的文档如下:

  1. 检查 OBServer 状态
  2. 使用命令行进行运维

厉害:+1:t2:

但是我的zone下只有一个server节点,该节点网络中断后,为什么zone的状态还是active @论坛小助手

根据OceanBase的文档描述,Zone的状态为ACTIVE表示该Zone内的服务器可以正常提供服务。然而,在您的情况下,虽然Zone下的唯一服务器节点网络中断了,但是Zone的状态依然显示为ACTIVE,这可能是因为OceanBase的Zone状态检测机制未能及时更新状态。建议您使用ALTER SYSTEM ISOLATE ZONE 'zone1';命令来隔离故障Zone,确保其状态被正确更新。此外,也可以尝试使用SELECT * FROM oceanbase.DBA_OB_ZONES;来检查Zone的详细信息,确认是否存在延迟更新的情况。

具体信息可参考以下文档:

  1. ZONE
  2. 隔离 Zone
  3. 使用命令行进行运维