通过obd部署集群后,通过环境变量log_disk_size增加日志盘大小,重启后发现没生效

【 使用环境 】生产环境 or 测试环境
【 OB or 其他组件 】
【 使用版本 】
【问题描述】通过obd部署集群后,通过环境变量log_disk_size增加日志盘大小,重启后发现没生效
【复现路径】问题出现前后相关操作
【附件及日志】推荐使用OceanBase敏捷诊断工具obdiag收集诊断信息,详情参见链接(右键跳转查看):

1 个赞

log_disk_size修改方法麻烦相信描述一下

题。下面是一些排查和解决思路,供你参考:
一、确认设置方式是否正确

设置环境变量的位置是否正确?

如果你是通过 obd cluster edit-config 来修改配置,那么正确的做法应该是:

obd cluster edit-config

然后在对应的组件(如 observer, observer0, 或 observer1)下添加或修改:

observer:

environment:
- log_disk_size=100GB

注意:必须放在 environment 之下,并且格式正确,否则 OBD 不会识别。

是否执行了 reload 并重启了服务?

修改配置后应该运行:

obd cluster reload <cluster-name>
obd cluster restart <cluster-name>

否则配置不会实际生效。

二、确认实际是否生效

检查 OBSERVER 进程是否读取了变量

登录 OB 节点,查看环境变量:

ps aux | grep observer

或者:

cat /proc/$(pidof observer)/environ | tr ‘\0’ ‘\n’ | grep log_disk_size

确认变量是否已被进程识别。

查看 OB 日志参数

登录 OB 控制台或通过 SQL 查询参数:

show parameters like '%log_disk_size%';

如果返回为空或值没有变,说明没有生效。

三、确认参数是否支持动态生效

某些参数是 只读 的,需要在集群初始化或部署前设置,之后即使修改配置文件也不会生效。你可以在 SQL 层确认:

show parameters like ‘log_disk_size’;

并查看其作用域(GLOBAL / TENANT / SESSION)和是否可动态修改。
四、建议的解决方法

通过 SQL 修改参数

如果参数支持动态修改,可以用 SQL 手动设置:

alter system set log_disk_size = ‘100GB’;

如果是租户级别参数:

alter system set log_disk_size = ‘100GB’ tenant = <tenant_name>;

重新部署(如果必须修改只读参数)

如果是只在部署时生效的参数(比如影响磁盘分区挂载、日志目录创建等),你可能需要:

修改配置后

重新部署集群(或删除 observer 节点后再加回)
2 个赞

谢谢

…好