问题

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 % /
devtmpfs .8G .8G % /dev
tmpfs .8G .8G % /dev/shm
tmpfs .8G 9.1M .8G % /run
tmpfs .8G .8G % /sys/fs/cgroup
/dev/sda2 988M 121M 800M % /boot
/dev/sda5 418G 200G 197G % /opt
tmpfs .6G .6G % /run/user/
tmpfs .6G .6G % /run/user/ [root@localhost /]# df -i
文件系统 Inode 已用(I) 可用(I) 已用(I)% 挂载点
/dev/sda3 % /
devtmpfs % /dev
tmpfs % /dev/shm
tmpfs % /run
tmpfs % /sys/fs/cgroup
/dev/sda2 % /boot
/dev/sda5 % /opt
tmpfs % /run/user/
tmpfs % /run/user/

由此可见磁盘空间正常但是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 % / #没有删除完查看一下已经变小
devtmpfs % /dev
tmpfs % /dev/shm
tmpfs % /run
tmpfs % /sys/fs/cgroup
/dev/sda2 % /boot
/dev/sda5 % /opt
tmpfs % /run/user/
tmpfs % /run/user/
[root@localhost php]# df -i
文件系统 Inode 已用(I) 可用(I) 已用(I)% 挂载点
/dev/sda3 % /
devtmpfs % /dev
tmpfs % /dev/shm
tmpfs % /run
tmpfs % /sys/fs/cgroup
/dev/sda2 % /boot
/dev/sda5 % /opt
tmpfs % /run/user/
tmpfs % /run/user/
您在 /var/spool/mail/root 中有邮件

到此结束问题解决

Linux设备空间存储满问题的更多相关文章

  1. Linux inode空间占满 “no space left on device”

    Linux inode空间占满 提示 “no space left on device” 中文环境:“无法创建XXX目录,设备没有空间” Linux系统iNode耗尽硬盘无法写入文件怎么办?df -h ...

  2. linux磁盘空间用满的处理方法

    linux下空间满可能有两种情况 可以通过命令 df -h  查看磁盘空间占用,实际上是查看磁盘块占用的文件(block) df -i  查看索引节点的占用(Inodes) 磁盘块和索引节点其中之一满 ...

  3. linux磁盘空间占满问题快速定位并解决

    经常会遇到这样的场景:测试环境磁盘跑满了,导致系统不能正常运行!此时就需要查看是哪个目录或者文件占用了空间.常使用如下几个命令进行排查:df, lsof,du. 通常的解决步骤如下:1. df -h ...

  4. Linux磁盘空间占满问题快速定位

    1.df -h命令查看系统盘与各个磁盘的占用空间比率 [tidb@:vg_adn_tidbCkhsTest:172.31.30.62 /dev]$df -Th Filesystem Type Size ...

  5. linux磁盘空间使用问题

    linux磁盘空间用满的处理方法 linux下空间满可能有两种情况 可以通过命令 df -h  查看磁盘空间占用,实际上是查看磁盘块占用的文件(block) df -i  查看索引节点的占用(Inod ...

  6. linux 磁盘空间被占满但找不到目标文件的问题处理 lsof命令

    lsof简介 在终端下输入lsof即可显示系统打开的文件,因为 lsof 需要访问核心内存和各种文件,所以必须以 root 用户的身份运行它才能够充分地发挥其功能. 直接输入lsof部分输出为: 每行 ...

  7. Linux FC/iSCSI存储设备管理系列(一):Linux系统设备驱动入门

    Linux FC/iSCSI存储设备管理系列(一):Linux系统设备驱动入门 转载请在文首保留原文出处:EMC中文支持论坛 - https://community.emc.com/go/chines ...

  8. Linux设备模型(9)_device resource management ---devm申请空间【转】

    转自:http://www.wowotech.net/linux_kenrel/device_resource_management.html . 前言 蜗蜗建议,每一个Linux驱动工程师,都能瞄一 ...

  9. (转)Linux服务器磁盘空间占满问题

    转自:https://www.cnblogs.com/cindy-cindy/p/6796684.html 下面我们一起来看一篇关于Linux服务器磁盘占满问题解决(/dev/sda3 满了),希望碰 ...

随机推荐

  1. VS初始化设置

    来源于网上整理和 书<aps.net mvc企业级实战>中. 1.vs模版 版权注释信息 1.我的电脑上VS2015安装在D盘中,所以找的目录为:D:\Program Files (x86 ...

  2. 963B:Destruction of a Tree

    You are given a tree (a graph with n vertices and n - 1 edges in which it's possible to reach any ve ...

  3. SQL 查找存在某内容的存储过程

    --查找存在某表名的存储过程 SELECT distinct b.name from syscomments a,sysobjects b WHERE a.id=b.id and a.TEXT LIK ...

  4. JAVA数组的基本方法

    数组的基本方法 数组可以存放多个数据,多个数据类型要统一数组格式: 格式一:常用写法 数组类型[] 数组名称 = new 数据类型[数组长度]; 格式二:蛋疼写法 数组类型[] 数组名称; 数组名称 ...

  5. 51nod 最大子段和问题

    给出一个整数数组a(正负数都有),如何找出一个连续子数组(可以一个都不取,那么结果为0),使得其中的和最大? 用f[i]表示以i为结尾的最大字段和,也就是说i一定要取, 那么f[i] = max(a[ ...

  6. OpenJDK源码研究笔记(十四):三种经典的设计方法,接口,接口-抽象类-具体实现类,接口-具体实现类

    在研究OpenJDK源码过程中,我发现常用的设计方法就是2种:接口,接口-抽象类-具体实现类 . 在一些其它开源框架和业务开发中,经常存在着第3种设计,接口-具体实现类. 1.只有接口,没有实现类. ...

  7. CCF模拟题 字符串匹配

    字符串匹配 时间限制: 1.0s 内存限制: 256.0MB 问题描述 给出一个字符串和多行文字,在这些文字中找到字符串出现的那些行.你的程序还需支持大小写敏感选项:当选项打开时,表示同一个字母的大写 ...

  8. Cocos2D实现RPG队伍菜单随意调整角色顺序的效果

    大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 假设认为写的不好请多提意见,假设认为不错请多多支持点赞.谢谢! hopy ;) 前一篇我们实现了队伍实现拖尾效果,可是在实际游戏中我们往往须要 ...

  9. HDU4596 Yet another end of the world 扩展欧几里德性质

    这题坑了,我真该吃翔啊,竟然一開始方程设错了并且没有去想连列的问题,我真是坑货,做不出就该又一次理一下嘛.操蛋. 题意:给了N组x,y,z然后 问你是否存在两个或者两个以上的id,是的 id%x的值在 ...

  10. Dojo Chart之经常使用统计图

    非常多做web的都知道,在非常多web系统中会涉及到一些统计图.比如饼状图,柱状图.趋势图.以及叠加图等.提到这儿,做web的都非常熟悉的,jquery的highcharts就能搞定全部的涉及到统计图 ...