inode 耗尽处理

1.昨天晚上收到zabbix 报警,磁盘 / 空间已满。

2.登陆上去查看磁盘空间:

# df -h

Filesystem            Size  Used Avail Use% Mounted on

/dev/vda1              20G  7.5G   15G  50% /

tmpfs                 3.9G   16K  3.9G   1% /dev/shm

/dev/vdb              148G  3.8G  137G   3% /data

由此可见,磁盘空间正常。

3.查看inode 使用情况

查看inode :

# df -i

Filesystem            Inodes   IUsed   IFree IUse% Mounted on

/dev/vda3            2289280    2289280 5    100% /

tmpfs                  62805       1   62804    1% /dev/shm

/dev/vda1              51200      44   51156    1% /boot

/dev/vdb4            1966080    1327 1964753    1% /data

/ 的inode 已经爆满

4.查看那个分区占用最多

du --max-depth=1 /

...

var 最多

继续查看:

du --max-depth=1 var/

....

spool 最多

继续查看:

du --max-depth=1 spool/

....

clientmqueue 最多

5.查看数量:

ls clientmqueue | wc -l

1248921

哇,竟然有这么多。

6./var/spool/clientmqueue目录文件的由来:

如果系统中有用户开启了cron,而cron中执行的程序有输出内容,输出内容会以邮件形式发给cron的用户,而sendmail没有启动所以就产生了这些文件。

cron输出从定向:

很简单,在cron的自动执行语句后加上> /dev/null 2>&1

7./var/spool/clientmqueue 文件太多 rm -f * 删除会报错,无法删除。使用另外一种删除方法

8.建立空文件夹:

#mkidr /data/haha

# rsync --delete-before -a -H -v --progress --stats haha/ /var/spool/clientmqueue/

.....

deleting dfr787X1dF022679

deleting dfr787W1rw022630

deleting dfr787W1dY022629

deleting dfr787V1Fm022571

.....

rsync 海量删除文件

9.删除完毕,查看:

# df -i

Filesystem            Inodes   IUsed   IFree IUse% Mounted on

/dev/vda3            2289280   63766 2225514    3% /

tmpfs                  62805       1   62804    1% /dev/shm

/dev/vda1              51200      44   51156    1% /boot

/dev/vdb4            1966080    1331 1964749    1% /data

已经恢复。


你可能感兴趣的:(iNode)