阿里云服务器ECSLinux磁盘空间满排查处理
我们在使用阿里云服务器ECS的时候,如果遇到磁盘空间满的情况该怎么去排查处理呢?阿里云代理商就来为大家提供排查解决办法。
问题具体描述:
在阿里云服务器ECS Linux系统内进行文件创建时,出现了如下所示空间不足的提示:
No space left on device …
出现上述问题的原因:
会导致上述文件的原因可能包括:
1】磁盘分区的空阿使用率达到百分之百
2】磁盘分区inode使用率达到百分之百
3】僵尸文件:已删除文件因句柄被占用未释放导致相应空间未释放
4】挂载点覆盖:在原有文件系统的相应目录下已经存在大量文件。挂载了新磁盘后,导致使用 df 命令能统计到相关空间使用,而使用 su 命令统计不到
具体处理办法
根据不同的远程我们需要通过不同的方法来进行解决:
1】分区容量满
若是由于分区容量满从而导致了磁盘空间满,可以按照如下进行操作:
1、远程连接Linux实例
2、运行 df -h 查看磁盘使用率。返回结果如下图所示
【注】:返回结果里 Mounted on 下显示的是挂载目录。
3、循环执行如下指令,找到容量大的目录并进入目录,然后进行查找一直到找到最精确的文件或者是目录,然后再根据自己实际情况进行判断,如果发现是没有用的文件直接删除文件或者目录。或者通过查找都是需要的文件或者目录,就需要购买更大的数据盘来分担,以满足业务需求。
2】僵尸文件分析删除
如果经过排查发现存在没有清除句柄的僵尸文件。这些文件实际上已经被删除,但是有服务程序在使用这些文件,导致这些文件一直被占用,无法释放磁盘空间。如果这些文件过多,会占用很大的磁盘空间。删除僵尸文件具体操作如下:
1、远程连接Linux实例
2、运行以下命令安装lsof
yum install lsof -y
3、运行以下命令查看僵尸文件占用情况
lsof |grep delete | more
返回结果示例如下图所示查看僵尸文件数量
4、采用以下方法释放句柄,以清除僵尸文件:
重启服务器
正常停止或杀掉占用这些文件的服务进程
挂载点覆盖
先取消磁盘挂载,再检查原挂载目录下的空间占用情况
如果问题还未能解决,请联系售后技术支持。
我有话说: