observer节点故障后的处理方法

【 使用环境 】 测试环境
【 OB or 其他组件 】observer
【 使用版本 】oceanbase-ce-4.0.0.0-103000022023011215.el7.x86_64
【问题描述】5个zone的集群,每个zone分别有一个observer。其中一个observer主机故障,该zone为inactive状态。请问如何通过黑屏的方式将该zone剔除,然后重启加入到集群。
【复现路径】问题出现前后相关操作
【问题现象及影响】

【附件】

如果是主机故障直接重启就可以的,不需要删除zone再添加
你也可以参考文档 增加或删除 Zone 来进行操作,删除zone之前你还需要先 删除OBserver

这些步骤我都试过了 alter system delete server … 这个执行报错,报错意思是说这个zone只有一个server,删除失败。alter system delete zone… 也执行报错,报错内容为zone内有一个inactive的server。官网的删除步骤貌似需要先在zone1添加一个新的server,然后才能删除故障的server节点。

因为zone下只有一个observer,unit无法迁移,所以删除失败
如果你不想添加机器又想删除那你可以参考 【SOP 系列 14】OceanBase 集群单台机器故障后处理方法 新机器IP变化这一节进行操作

那我有个结论,一旦zone里存在主机,则这个zone就无法删除。因为zone只剩一台主机时,unit无法迁移也就无法删除最后一台主机。而zone非空,则这个zone不可删。

btw,我想咨询一下。我一旦解散集群,则集群内主机业务数据全部清空,这是符合预期的吗(执行obd cluster XXX destroy)?集群正常删除节点后,这个被删除节点还存在业务数据或是observer程序吗?

destroy 语句是销毁已部署的集群,自然数据、进程都会被清空。除非有备份。

是的。 因为ob遵循多数派协议, 除非添加zone或者把单机转换成分布式部署。

感谢解惑。

我查看obd集群相关命令只有这个是类似集群解散操作的,包括我看OCP的删除集群操作也是会清空业务数据。现阶段是否一旦解散集群,就会清空业务数据?

另外,被正常删除的节点是否还保留退出之前的数据可单独供访问?因为我发现即使正常删除节点,好像也会进行数据同步,且集群状态异常后依然无法访问,可能是我操作问题?