Hello! 欢迎来到小浪云!


Linux磁盘空间异常,分区未满却提示满


avatar
小浪云 2024-07-04 32


根据登录后的提示,可初步判断是由于磁盘空间已满或者有大量小文件将inode值打满,导致的。故执行以下命令查看具体情况

Linux磁盘空间异常,分区未满却提示满

通过上述命令可发现maillog有15G的日志,首先查看日志报错,发现为

postfix/sendmail[3993]: warning: inet_protocols:IPv6 support is disabled:Address family not supported by protocol

postfix/sendmail[3993]: warning: inet_protocols: configuring for IPv4 support only

于是先赶紧清除日志

echo > miallog

清除后依旧系统依旧提示

– bash echo: write erroe :No space left on device

于是使用下列命令去查看

[root@webmap_web:/var/spool/postfix]

#df -i

Filesystem       Inodes    IUsed    ifree IUse% Mounted on

/dev/vda1       2621440  2621423       17  100% /

tmpfs           4110040        1  4110039    1% /dev/shm

/dev/vdb1      19660800     2154 19658646    1% /home

/dev/vdc1      32768000 20503172 12264828   63% /var/www/html/map

发现系统盘的inode值已经被打满了。故系统盘一定存在大量小文件,未被删除。因log显示maillog有大量日志,故怀疑/var/spool/postfix/下应该有很多文件产生 于是进入该目录

[root@webmap_web:/var/spool/postfix]

#du -sh *

4.0K    active

4.0K    bounce

4.0K    corrupt

4.0K    defer

4.0K    deferred

4.0K    flush

4.0K    hold

4.0K    incoming

1.3G    maildrop

4.0K    pid

4.0K    private

4.0K    public

4.0K    saved

4.0K    trace

发现 maildrop目录下有大量文件,故决定删除。

[root@webmap_web:/var/spool/postfix/maildrop]

#rm -rf *

-bash: /bin/rm: Argument list too long

但发现系统提示,数据太多无法删除,于是通过命令统计了下目录下大致有多少文件

[root@webmap_web:/var/spool/postfix/maildrop]

#ls |wc -l

337912

emmmmm,文件数量很大,于是决定结合xargs命令来删除,ls | xargs -n 9 rm -rf ,ls列出当前目录下的所有文件,以空格作为分隔, xargs是一个过滤器, -n 9 表示每9个文件作为一组,作为 命令 rm -rf 的参数,这样命令行就不会过长了。

[root@webmap_web:/var/spool/postfix/maildrop]#

ls |xargs -n 9 rm -f

等待一段时间后,可以发现系统磁盘的inode值已经降低到83%了。系统以恢复正常

在系统正常后,我们再来处理上面maillog中的报错信息

修改方法:

/usr/sbin/postconf | grep inet_protocols  –查看当前的inet_protocols 

inet_protocols = all

vi /etc/postfix/main.cf

inet_protocols = all

改为inet_protocols = ipv4

重启/etc/init.d/postfix restart

相关阅读