老蒋看到他选择的一家云服务器商是50GB磁盘,但是实际上系统盘是10GB,挂载盘是40GB,只不过他开始没有挂载,而直接就使用到10GB系统盘,40GB挂载盘没有用,所以磁盘很容易满的,系统就有好几个GB存储,然后他网站都是图片。遇到这个问题我们就解决吧。
**第一、清理部分文件让其恢复**
这个部分我们可以清理一些没用的文件,比如日志缓存等,来让网站可以正常访问。
1、清理日志
cd /www/server/panel && python tools.pyc clear2、清理回收站
rm -rf /www/Recycle_bin/*3、清理数据库日志
/etc/init.d/mysqld stop
rm -f /www/server/data/ib_logfile*
rm -f /www/server/data/mysql-bin.*
/etc/init.d/mysqld start这个时候我们可以看到服务器可以腾出2个GB出来,我们重启面板后就可以正常进入面板和网站。于是我让他备份数据到本地,后面需要重新挂载目录。
**第二、检查是否有大文件删除**
老蒋在帮他备份网站的时候发现他网站其实也就2GB左右,那肯定是还有大文件没有删除。
#当目录下的大于1G、100MB、10MB的文件
find . -type f -size +1024M
find . -type f -size +100M
find . -type f -size +10M我们可以用到命令检查是否有无用大文件。

我们需要检查是否有大文件然后删除。
sudo du -s * | sort -nr | head #显示前10个占用空间最大的文件或目录
dudo du -hm --max-depth=2 | sort -nr | head -12 #显示前12个占用空间大的目录(包括二级目录)或者用这个命令查看文件筛选出来。
**第三、查看inode占用情况**
其实有些时候不是磁盘占满,而是inode占满。

#当前各大文件夹占用inode情况
for i in /var/*; do echo $i; find $i |wc -l; done
#排序
sudo find . -xdev -type f | cut -d "/" -f 2 | sort | uniq -c | sort -n然后我们用命令查看所在目录。
一般来说是内置的邮件导致inode占满。
apt-get remove sendmail*
yum remove sendmail
或者
yum remove postfix
sudo apt-get remove postfix
sudo apt-get remove --auto-remove postfix理论上inode一般来说是用不完的,除非是程序产生大量的日志,如果是/var/spool/postfix/maildrop/ 中有大量的文件,而且我们还在使用postfix的话,可以确定是因为postfix运行不正常导致的。当然如果sendmail或者postfix正常运行,则会在/var/mail目录下也会堆积大量的邮件。
我们可以关停这个功能。
这样,通过上面几个办法可以检查和解决No space left on device磁盘问题。