OceanBase磁盘负载均衡问题

【 使用环境 】生产环境
【 OB or 其他组件 】OB
【 使用版本 】3.1.4
【问题描述】
现在的OB磁盘负载策略,当存在二级分区的时候,会以二级分区做均衡组。线上的超大表(100+T)二级分区分片数为10,生产节点一个zone的节点数量为15,这就导致了前几台节点的磁盘负载非常高,经常告警。

【复现路径】超大规模数据量,不太好复现,二级分区数量大于一个zone的机器数就能看出来
【问题现象及影响】

  1. 生产计划每个zone加入5台机器,想咨询下,内核是否可以将均衡组拆成2个部分(2*10),打散到后10台机器,让磁盘负载下来
  2. 机器没这么快到,目前有没有其他方法解决这个问题

【附件】

1 个赞

稍等下,相关研发人员在看了

均衡调度的基本单元就是均衡组了。现在还没有将均衡组拆分的能力。

可以创建新的表,重新划分合适的分区大小和数量。

如果不加机器,就需要重新规划分区,数据量太大了,不合适。添加机器也需要规划好分区的个数(1级*2级),总的2级分区数应该是(租户相关observer数量)的倍数,这样hash分区才能均匀分布。考虑到高可用,每个zone里还应该多出1个以上的observer,当一台服务器出现问题,下线时间超过server_perment_offline_time时,下线服务器上的unit单元可以迁移到其他空闲机器,防止出现某台机器负载过高