赞
踩
发现线上mongo挂了,重启又起不来,看错误日志提示:no space left on device。 如下
按照提示以为是磁盘空间满了,于是执行 df -h查看:
这个明明显示还有磁盘空间的,这是为啥?
后来多次尝试重启mongo但依旧得到no space left on device同样的错误提示。
最后启用google搜索,搜索到有帮助的一个 MongoDB no space left on device with docker
本机执行df -i,果然出现了链接里一样的情况
于是网上查inode的相关资料,大致结论如下:
上图显示我们/dev/vdb1这块磁盘有200G,但只有20w个inode
我们比对了下其他主机的inode资源数,发现容量少于200g的磁盘inode资源个数也远远大于20w。
所以几乎可以推断这块磁盘当初inode资源的个数是人为指定的,但不知道当初那个同事为啥这么设置[哭笑]
当时临时采用了第一个方案,但没多久又出现同样的问题了。
后来重新买了一块磁盘,停掉相关服务,把数据拷贝到新的磁盘上,然后重新配置相关的服务配置文件(比如数据存放路径什么的),
但发现路径相关的配置比较多,比如fastdfs的配置。所有想到通过软连接的方式在不修改服务现有配置文件的情况下解决了数据迁移路径不一致的问题。
如果有不对不足或需要帮助的地方,欢迎添加个人微信:WilsonPeng3
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。