问题
Ceph monitors 100% full filesystem, refusing start
问题原文
I have an issue with a (not in production!) Ceph cluster which I'm
trying to resolve.
分析
这是作者在使用多个mon的时候,数据出现了磁盘满的情况,然后重启mon进行压缩的时候,发现这个到了mon的最小空间阀值无法启动,然后就无法压缩,这个问题,还是因为对硬件的不重视,对软件的要求不清楚造成的
解决办法
mon的磁盘空间加大,这个在PB级别的集群中更需要重视这个问题,特别是在集群频繁的读写,或者pg变化比较多,osd变化比较多的情况下,这个数据量将是很大的,因为里面是用了leveldb的数据库,并且多个mon之间是需要同步的数据的,然后各自再做compact的操作,所以建议如下:
- 1、mon的数据分区需要是ssd的,加快数据的读写速度
- 2、mon的数据分区要100G以上,建议是150G,mon数据大概在80G左右后不会再大量的增长
- 3、在mon的参数中加入启动压缩的参数 mon_compact_on_start = false 和 mon_compact_on_bootstrap = false
- 4、尽量不要做在线的compact,这个是一个锁死的过程,此时mon会停止响应,可以采取重启的方式
- 5、mon的分区中dd 一个4G 左右的大文件,防止真的出现写满的情况下,再去重启进程的时候,好有空间可以释放
如果能按上面的几个操作去配置集群,关于mon的磁盘满的问题基本可以避免或者解决
总结
关键的地方不要省配置,准备的越多,出问题的概率越小