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