ssdb icon indicating copy to clipboard operation
ssdb copied to clipboard

磁盘还剩50%,server报zset error:IO error ./var/data/090264.ldb: No space left on device

Open Medildley opened this issue 7 years ago • 7 comments

我在生产上使用ssdb做一个辅助记sid对应设备id的数据库,然后有4台客户端同时做写入和查询的操作,数据量大约有50G了,每日读写的次数大约在1亿这个量级,跑了3个月了,之前还比较稳定。

前天出现问题是有其中两台应用客户端报错,然后server的日志显示 zset error:IO error ./var/data/090264.ldb: No space left on device

检查了下服务器磁盘还有30G,并且诡异的是另外两台应用客户端没有报错。 当时找同事查了,也不是inodes的问题。 后来不得已杀掉server进行重启才好,想不通是为什么,希望能得到解答,谢谢

Medildley avatar Nov 24 '17 07:11 Medildley

你好。leveldb/ssdb 会不断地进行数据库整理,导致硬盘动态变化。你遇到的情况可能是执行zset 时磁盘刚好满了,然后磁盘占用又自动下降回正常。这个场景在写频繁的时候可以观察到。建议你根据实际情况,预留多一些硬盘空间。

ideawu avatar Nov 27 '17 03:11 ideawu

当然,也不排除当时操作系统出错的情况,但此种比较罕见。

ideawu avatar Nov 27 '17 03:11 ideawu

好的,谢谢。 没想到磁盘变化竟然会这么大么,我写个脚本监控一下磁盘看看

Medildley avatar Nov 28 '17 07:11 Medildley

我也遇到这个问题,数据目录空间满了,主库出现的,这个No space left on device问题一直不断在日志中打印出来,然后主库的binlogs.max_seq 一直就不变化,但是业务说可以写入,很奇怪,请大大解释下,谢谢!

Eric-star-ball avatar Dec 20 '17 06:12 Eric-star-ball

这个问题有结论了吗? 我也遇到了这个问题 ssdb 存储62g数据 整个磁盘为200g 使用了33%的磁盘空间。 inode没有慢 但是频繁报错 multi_set error: IO error: /data/ssdb/data/1243971.ldb: No space left on device 其中 /data/ssdb/data/1243971.ldb 只有10m大小

kulasama avatar Feb 12 '18 07:02 kulasama

是不是句柄引起的问题

walnut-tom avatar Apr 08 '18 08:04 walnut-tom

inode满了吗?df -i 看看

zhanglistar avatar May 14 '18 08:05 zhanglistar