因本地磁盘空间不足导致业务执行失败的问题
一、问题现象
在使用openGauss资源池化集群情况下,可能会出现因本地盘空间不足导致业务执行失败的问题。
例如,当使用标准BenchmarkSQL
进行数据库建仓时,可能出现建立主键失败的情况。进入主节点的$GAUSSLOG/pg_log
下,寻找最近时间点日志,可发现日志中打印:
No Space Left on Device.
说明问题原因为磁盘空间不足导致业务失败。
二、定位方法
除了上述问题可以佐证,还可以在终端定时使用df -h
监控业务期间的本地磁盘容量变化。
在上述类似问题中,可在报错时间点观测到$PGDATA
所在磁盘容量接近100%
,随后业务报错。
三、问题根因
虽然openGauss资源池化集群采用共享存储作为数据盘,但是数据库的temporary file
仍然写在本地磁盘中。
当本地磁盘容量不足、temporary file
无法写入时,便会报告本地空间不足错误,引起业务中断。
因此应尽可能的将本地盘容量调整到满足业务极限存储需求,可避免该问题出现。
四、解决方案
对于该问题,有如下几种解决措施:
- 按照业务存储预期容量,在安装阶段调整本地盘容量。
- 出现该问题后,对本地盘进行清理扩容,也可以解决该问题。
意见反馈