Linux设备空间存储满问题

问题

      linux创建文件夹文件。补全,启动服务均报错,具体报错信息如下

[root@localhost log]# mkdir /log/mysql -p
mkdir: 无法创建目录"/log": 设备上没有空间
[root@localhost log]# rm -rf ma-bash: 无法为立即文档创建临时文件: 设备上没有空间
-bash: 无法为立即文档创建临时文件: 设备上没有空间

[root@localhost ~]# systemctl restart nginx
Job for nginx.service failed because a configured resource limit was exceeded. See "systemctl status nginx.service" and "journalctl -xe" for details.
[root@localhost ~]# systemctl status nginx.service
● nginx.service - The nginx HTTP and reverse proxy server
Loaded: loaded (/usr/lib/systemd/system/nginx.service; disabled; vendor preset: disabled)
Active: failed (Result: resources)

7月 30 10:42:48 localhost.localdomain systemd[1]: nginx.service failed to run 'start-pre' task: No space left on device
7月 30 10:42:48 localhost.localdomain systemd[1]: Failed to start The nginx HTTP and reverse proxy server.
7月 30 10:42:48 localhost.localdomain systemd[1]: Unit nginx.service entered failed state.
7月 30 10:42:48 localhost.localdomain systemd[1]: nginx.service failed.
7月 30 10:42:48 localhost.localdomain systemd[1]: Starting The nginx HTTP and reverse proxy server...

解决流程

1.1.1 查看磁盘空间以及inode的数量

[root@localhost lib]# df -h
文件系统        容量  已用  可用 已用% 挂载点
/dev/sda3        99G   16G   78G   17% /
devtmpfs        7.8G     0  7.8G    0% /dev
tmpfs           7.8G     0  7.8G    0% /dev/shm
tmpfs           7.8G  9.1M  7.8G    1% /run
tmpfs           7.8G     0  7.8G    0% /sys/fs/cgroup
/dev/sda2       988M  121M  800M   14% /boot
/dev/sda5       418G  200G  197G   51% /opt
tmpfs           1.6G     0  1.6G    0% /run/user/0
tmpfs           1.6G     0  1.6G    0% /run/user/1010


[root@localhost /]# df -i
文件系统          Inode 已用(I)  可用(I) 已用(I)% 挂载点
/dev/sda3       6569984 6569984        0     100% /
devtmpfs        2029003     501  2028502       1% /dev
tmpfs           2031454       1  2031453       1% /dev/shm
tmpfs           2031454     661  2030793       1% /run
tmpfs           2031454      16  2031438       1% /sys/fs/cgroup
/dev/sda2         66384     346    66038       1% /boot
/dev/sda5      27803648  747154 27056494       3% /opt
tmpfs           2031454       1  2031453       1% /run/user/0
tmpfs           2031454       1  2031453       1% /run/user/1010

由此可见磁盘空间正常但是inode已经爆满

1.1.2什么是磁盘inode

一、inode是什么?

理解inode,要从文件储存说起。
文件储存在硬盘上,硬盘的最小存储单位叫做"扇区"(Sector)。每个扇区储存512字节(相当于0.5KB)。
操作系统读取硬盘的时候,不会一个个扇区地读取,这样效率太低,而是一次性连续读取多个扇区,即一次性读取一个"块"(block)。这种由多个扇区组成的"块",是文件存取的最小单位。"块"的大小,最常见的是4KB,即连续八个 sector组成一个 block。
文件数据都储存在"块"中,那么很显然,我们还必须找到一个地方储存文件的元信息,比如文件的创建者、文件的创建日期、文件的大小等等。这种储存文件元信息的区域就叫做inode,中文译名为"索引节点"。
文章原文地址:https://www.cnblogs.com/itech/archive/2012/05/15/2502284.html
1.1.3解决inode爆满问题
      解决思路:查找inode数量大的文件夹,确定文件夹后跟开发沟通,确定无误删除重启机器。
[root@localhost /]# for i in /*; do echo $i; find $i |wc -l|sort -nr; done 
.....
部分省略
.....
/run
733
/sbin
1
/srv
1
/sys
31369
/tmp
12
/tools
181
/uploads
42
/usr
248909
/var
6308823

    从根部开始查找由此可见/var文件夹竟然有600w+一定是有问题了继续查找

[root@localhost lib]# for i in /var/*; do echo $i; find $i |wc -l|sort -nr; done

找到/var/lib文件夹继续查找

[root@localhost lib]# for i in /var/lib/*; do echo $i; find $i |wc -l|sort -nr; done
```
部分省略
```
/var/lib/pear
37
/var/lib/php
6292685
[root@localhost lib]# cd php
[root@localhost php]# ls
session

由此查找到/var/lib/php/session目录确定可以删除就直接删除

查一下容量

[root@localhost lib]# du -sh * | sort -n 

  690M php

删除

cd /var/lib/php
rm -rf *

再次查看inode

[root@localhost php]# df -i
文件系统          Inode 已用(I)  可用(I) 已用(I)% 挂载点
/dev/sda3       6569984 4483299  2086685      69% /      #没有删除完查看一下已经变小
devtmpfs        2029003     501  2028502       1% /dev
tmpfs           2031454       1  2031453       1% /dev/shm
tmpfs           2031454     627  2030827       1% /run
tmpfs           2031454      16  2031438       1% /sys/fs/cgroup
/dev/sda2         66384     346    66038       1% /boot
/dev/sda5      27803648  747154 27056494       3% /opt
tmpfs           2031454       1  2031453       1% /run/user/0
tmpfs           2031454       1  2031453       1% /run/user/1010
[root@localhost php]# df -i
文件系统          Inode 已用(I)  可用(I) 已用(I)% 挂载点
/dev/sda3       6569984  281396  6288588       5% /
devtmpfs        2029003     501  2028502       1% /dev
tmpfs           2031454       1  2031453       1% /dev/shm
tmpfs           2031454     627  2030827       1% /run
tmpfs           2031454      16  2031438       1% /sys/fs/cgroup
/dev/sda2         66384     346    66038       1% /boot
/dev/sda5      27803648  747154 27056494       3% /opt
tmpfs           2031454       1  2031453       1% /run/user/0
tmpfs           2031454       1  2031453       1% /run/user/1010
您在 /var/spool/mail/root 中有邮件

到此结束问题解决

posted @ 2018-07-30 12:52  闫世成  阅读(2530)  评论(0编辑  收藏  举报