适用版本
OceanBase 数据库 V3.x、V4.x 版本。
问题现象
OceanBase 集群合并一直未完成,同时 tsar 和 iostat 显示从凌晨 2:30 开始磁盘使用率一直是 100%。怀疑合并导致 IO 上升,IO 可能存在问题,observer.log
的确有大量报错 disk is hung, disk has fatal error
。

问题原因
磁盘为机械盘,且 /home/admin data/1
、/data/log1
混用同一块磁盘。磁盘性能太差,导致业务操作报 -4012 OB_IO_TIMEOUT
或 -4009 OB_IO_ERROR
,这会触发 IO 探测线程检测磁盘是否有问题,如果超过 data_storage_warning_tolerance_time
、data_storage_error_tolerance_time
、log_storage_warning_tolerance_time
这几个超时时间还没有恢复,就会触发 data 和 slog 的快速拒绝。
解决方法
修改设置后,IO 报错消失,合并开始推进,可以看到待合并的分区数量在逐渐减少。
select count(1) from __all_virtual_tablet_meta_table where tenant_id = 1001 and compaction_scn < xxx;
-- xxx 填写的是 cdb_ob_major_compaction 查到合并未完成租户的 global_broadcast_scn
文章转载自数据库工兵营,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




