免责申明:本文可能由社区贡献或涉及第三方产品信息,建议您访问社区或第三方产品的官方网站获取帮助与支持。第三方产品不在七牛云售后支持范围。本文仅供参考,七牛云不做任何暗示或其他方式的承诺。
问题描述
在Linux系统的云服务器QVM实例内创建文件时,出现类似如下空间不足的提示。
No space left on device …
问题缘由
造成该问题的可能诱因如下所示:
解决方案
七牛云提醒您:
要解决该问题,请依照不同的问题缘由,通过以下方法进行处理:
分区容量满的处理登陆服务器,使用df-h命令查看c盘使用率,其中的Mountedon指挂载的目录。
步入根目录,执行以下指令,逐级查看那个目录占用c盘空间较大,步入相应的目录,直至找到最精确的的文件或目录。
du -sh
系统显示类似如下。
最后,结合业务情况等判定对相关文件或目录进行删掉,或则订购更大的数据盘分担处理。inode容量满的处理
通过如下操作,解决inode容量满的问题。
查询inode使用情况
Linux的inode节点中,记录了文件的类型、大小、权限、所有者、文件联接的数量、创建时间与更新时间等重要的信息,还有一个比较重要的内容就是指向数据块的表针。通常情况不须要特殊配置,假如储存文件好多,则须要配置。有时c盘空间有剩余并且不能储存文件,可能是因为inode用尽所致。
执行df-i命令,可以查询inode的使用情况。
假如inode使用率达到或则接近100%,可以通过以下两种方法进行处理:消除inode占用高的文件或则目录
假如不便捷低格c盘以降低inode数目,可以参考以下步骤,清除inode占用量高的文件或则目录。
登陆服务器查看目录磁盘空间linux,执行以下命令,剖析根目录下的每位二级目录下有多少个文件。
for i in /; do echo $i; find $i | wc -l; done
系统显示类似如下。
之后,逐层步入inode占用最高的目录,继续执行上述指令,逐渐定位占用偏低空间的文件或目录,最后进行相应清除。更改inode数目
假如不容许清除c盘中的文件linux下载工具,或则清除后inode使用率一直较高,则须要通过以下步骤,降低inode节点数目。
说明:inode的调整须要重新低格c盘,请确保数据早已得到有效备份后,再进行以下操作。
执行以下命令,卸载系统文件。
umount /home
执行以下命令,重新构建文件系统,指定inode节点数。
mkfs.ext3 /dev/xvdb -N 1638400
说明:本文指定inode节点数1638400,现场实际环境请以实际为准。执行以下命令,更改fstab文件。
vim /etc/fstab
执行以下命令,查看更改后的inode节点数。
dumpe2fs -h /dev/xvdb | grep node
系统显示类似如下。
僵尸文件剖析与删掉
假如c盘和inode都没有问题,则须要查看是否存在未被消除句柄的僵尸文件。这种文件实际上早已被删掉,并且有服务程序在使用这种文件,引起这种文件仍然被占用,难以释放c盘空间。假如那些文件过多查看目录磁盘空间linux,会占用很大的c盘空间。参考以下步骤查看并删掉僵尸文件。
远程登陆服务器。执行以下命令,安装lsof。
yum install lsof -y
执行以下命令,查看僵尸文件占用情况。
lsof |grep delete | more
系统显示类似如下。
假如僵尸文件过多,会占用很大的c盘空间。可以通过以下方式释放句柄,以消除僵尸文件。重启服务器,验证疗效。重启服务器,系统会退出现有的进程,开机后重新加载。该过程会释放调用的deleted文件的句柄。按照lsof命令列举的pid进程号,使用kill命令正常停止或结束占用那些文件的服务进程。说明:假如服务器正在运行业务,可能会影响到业务,请谨慎操作。挂载点覆盖
先取消c盘挂载,再检测原挂载目录下的空间占用情况。
适用于
假如您的问题尚未解决linux vps,您可以递交工单联系七牛云技术支持。