天天看点

“no space left on device”(磁盘空间不足)问题解决

关于“no space left on device”(磁盘空间不足)问题

1.首先介绍两个命令

df -h查看磁盘使用情况

df -i 查看inode使用情况

2.block满了

通常解决方法是删除大文件,不要直接删除,先确认数据是否重要,否则就掉坑里了。

[[email protected] ~]# cd /app/logs/

[[email protected] logs]# ls -lh /bin/ls

-rwxr-xr-x. 1 root root 107K Mar 23 02:52 /bin/ls

[[email protected] logs]# df -h

Filesystem    Size  Used Avail Use% Mounted on

/dev/sdc        73K  14K  55K  21% /app/logs

[[email protected] logs]# cp /bin/ls .

cp: writing `./ls': No space left on device

[[email protected] logs]# df -h

Filesystem    Size  Used Avail Use% Mounted on

/dev/sdc        73K  70K    0 100% /app/logs

[[email protected] logs]#

3.inode用光了

出现这种情况,是小文件占用较多的inode,创建文件或目录占用一个inode,通常这些小文件是定时任务引起的,删除需慎重。

 [[email protected]]# df -h  

Filesystem    Size  Used Avail Use% Mounted on

/dev/sdc        73K  14K  55K  21% /app/logs

[[email protected] logs]# df -i

Filesystem    Inodes IUsed  IFree IUse% Mountedon

/dev/sdc          16    11      5  69% /app/logs

[[email protected] logs]# touch a{1..6}txt

touch: cannot touch `a6txt': No space left ondevice

[[email protected] logs]# df -h

Filesystem    Size  Used Avail Use% Mounted on

/dev/sdc        73K  14K  55K  21% /app/logs

[[email protected] logs]# df -i

Filesystem    Inodes IUsed  IFree IUse% Mountedon

/dev/sdc          16    16      0  100% /app/logs

[[email protected] logs]#

-------------------------

1.问题描述

no space left on device(磁盘空间不足)

2.文件删除原理

(1)硬链接数为0(所有硬链接均被删除)

(2)进程调用数为0(没有进程在调度文件)

3.原因分析

硬链接数为0,进程调度数不为0

4.过程演示

(1)创建大文件

[[email protected] ~]# seq 500000000 > /var/log/messages 

(2)查看磁盘使用情况

[[email protected] ~]# df -h

Filesystem    Size  Used Avail Use% Mounted on

/dev/sda3      19G  6.1G  12G  35% /

(3)删除日志文件/var/log/messages

[[email protected] ~]# rm -rf /var/log/messages 

(4)查看空间是否被释放

[[email protected] ~]# df -h

Filesystem    Size  Used Avail Use% Mounted on

/dev/sda3      19G  6.1G  12G  35% /

(5)查看文件还被哪些进程调用

[[email protected] ~]# lsof | grep delete

rsyslogd 2839      root    1w    REG                8,3 4888888898    393106 /var/log/messages (deleted)

(6)重启对应的服务

[[email protected] ~]# /etc/init.d/rsyslog restart

Shutting down system logger:                        [  OK  ]

Starting system logger:                                    [  OK  ]

(7)检查磁盘使用情况

[[email protected] ~]# df -h

Filesystem    Size  Used Avail Use% Mounted on

/dev/sda3        19G 1.5G  17G  9% /

本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-09/146689.htm

继续阅读