首批通过分布式安全可靠测评,为关键业务系统打造
网络限速未生效,导致 OceanBase 内核认为机器网卡速率为默认值 1Gbp
更新时间:2026-05-14 08:46
问题描述
网络限速未生效,导致 OceanBase 内核认为机器网卡速率为默认值 1Gbp。这会导致后台网络线程参数 sys_net_bkgd_percent 值是按照 1Gbp 来计算的,按照默认值 60, 无论是 migrate unit, locality 变更或者补副本等动作都会达到这个速度上限,进而影响变更的进度和速度。
适用版本
OceanBase 数据库 V2.x、V3.x 版本。
问题原因
该问题多见于 ESC 和某些特殊机器/操作系统设置场景。observer 进程启动后,获取 /sys/class/net/NIC_NAME/speed 的值来作为网卡的速率。一旦获取失败, 那么将获取 /home/admin/oceanbase/etc/nic.rate.config 的配置值作为网卡速率,如果上面两个文件获取均失败,将采用默认速率 1Gbp 作为网卡默认速率。
解决方法
创建配置文件
nic.rate.config。编辑
/home/admin/oceanbase/etc/nic.rate.config文件(该文件默认不创建)。vi /home/admin/oceanbase/etc/nic.rate.config :set list eth0=10000Mb查看确认配置文件
nic.rate.config,并却确保10000Mb后仅仅有一个"点" 。hexdump -C /home/admin/oceanbase/etc/nic.rate.config返回结果如下:
00000000 3a 73 65 74 20 6c 69 73 74 0a 65 74 68 30 3d 31 |:set list.eth0=1| 00000010 30 30 30 30 4d 62 0a |0000Mb.| 00000017重启进程使配置文件生效。
OceanBase 数据库 V2.2.77 BP3(oceanbase-2.2.77-20210618130343)、V3.2.x 及后续版本后台线程自动获取
/home/admin/oceanbase/etc/nic.rate.config文件内容。其他版本需要重启进程生效。
确认是否生效。
OceanBase 数据库 V2.2.77 BP3(oceanbase-2.2.77-20210618130343)、V3.2.x 及后续版本,后台线程自动获取,可通过搜索日志文件进行确认。
grep "ObRefreshNetworkSpeedTask reload bandwidth throttle limit failed" /home/admin/oceanbase/log/observer.log:表示nic.rate.config文件格式不正确。grep "succeed to reload_bandwidth_throttle_limit" /home/admin/oceanbase/log/observer.log:表示成功加载。