租户迁移 unit 残留 导致无法再次迁移

【 使用环境 】生产环境 or 测试环境
【 OB or 其他组件 】
【 使用版本 】
【问题描述】清晰明确描述问题
【复现路径】问题出现前后相关操作
【附件及日志】推荐使用OceanBase敏捷诊断工具obdiag收集诊断信息,详情参见链接(右键跳转查看):

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

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


oceanbase 4.2.5.1 ,zabbix 租户 ,4-4-4 ,unit_num=1
在ocp 做租户 迁移,没法选择 其他的observer, 其他 observer 都很空闲,

经排查 ,发现 zabbix 租户 的 unit 有残留
从下面的sql 剋有看到 zabbix租户 在 6个observer 有残留,其中在 10.145.205.88 、10.145.205.93、10.145.205.91 上的status =‘DELETING’ ,请教下这个问题如何解决?

select   svr_ip,unit_id,zone,max_cpu,memory_size/1024/1024/1024,log_disk_in_use/1024/1024/1024,data_disk_in_use/1024/1024/1024,status from  GV$OB_UNITS where tenant_id=1008

3 个赞

推荐使用 obdiag 工具进行日志采集,以便我们能够进一步分析并解决问题。

日志采集场景: unit迁移/缩小 副本不均衡问题
日志采集命令: obdiag gather scene run --scene=observer.unit_data_imbalance

请您执行上述命令来采集相关日志,并将生成的日志压缩包提供给我们。这将有助于我们了解具体的问题细节。

另外,为了确定具体的问题,在此需要您提供一些额外的信息:

  1. 当前集群版本是什么?
  2. 租户迁移时是否遇到了任何特定的错误消息或警告?
  3. 该租户之前是否有过类似的问题?
  4. 在尝试迁移之前,是否有任何维护活动(如更新、补丁安装等)?
  5. 是否有定期的监控报警提示此问题?

这些信息将有助于我们更准确地定位和解决问题。感谢您的配合!

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

1 个赞

【 使用环境 】生产环境
【 OB or 其他组件 】ob-ce 社区版
【 使用版本 】OceanBase 构建版本号:4.2.5.1-101000092024120918
【问题描述】zabbix租户之前迁移过,unit 在 observer 有残留,导致无法再次迁移

1 个赞

先查看一下日志

1 个赞

我看 有 其他类似案例说要重启observer ?
Unit 无法 GC 导致无法负载均衡-OceanBase数据库使用指南

1 个赞

这个问题让我想起了1024相关的优化,特别是在unit方面,采用10策略很有效。

1 个赞

开着自动负载均衡呢吗

1 个赞

学习一下1

1 个赞

关了,这玩意生产 没几个是开的

1 个赞

详细讲讲,老哥

1 个赞

学习了

select * from DBA_OB_ROOTSERVICE_EVENT_HISTORY where module like “%disaster%” and value1 = $tenant_id and value2 = $ls_id;
–根据租户和日志流信息 查一下信息
select * from DBA_OB_SERVER_EVENT_HISTORY where module like ‘storage_ha’ and event like ‘%schedule%’;
select * from DBA_OB_SERVER_EVENT_HISTORY where module like ‘storage_ha’ and value1 = $tenant_id and value2 = $ls_id;

第一条为空

 select * from DBA_OB_SERVER_EVENT_HISTORY where module like 'storage_ha' and event like '%schedule%';

第三条为空

看着租户的信息 不对呀

select unit_id, concat(migrate_from_svr_ip, ‘:’, migrate_from_svr_port) as source, concat(svr_ip, ‘:’, svr_port) as destination from oceanbase.DBA_OB_UNITS where migrate_from_svr_ip is not null;
这个信息 查一下

空的。这次租户id 是 1008

这个信息 查一下
select * from oceanbase.DBA_OB_ROOTSERVICE_EVENT_HISTORY where module like “%unit%” and event like “%migrate%” \G;

在这个三个节点上 查看一下最新的observer.log 查看一下信息
grep “can’t get tenant wlock” observer.log

重启observer 能解决这个问题。目前91 的 DELETING 消失了,我在迁移租户到91 服务器

grep “can’t get tenant wlock” observer.log ,这个没搜到

也是怀疑持有unit的session锁没有释放,导致删除unit加锁失败,你重启以后 应该是释放了