• 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 中有邮件

    到此结束问题解决

  • 相关阅读:
    android-layout-finder 在线生成findViewById
    Android 广播机制
    Android Service随笔
    新博客地址(https://minxin.github.io)
    angr学习(四)
    angr学习(三)
    angr学习(二)
    angr学习(一)
    android studio NDK开发方案
    python虚拟机
  • 原文地址:https://www.cnblogs.com/yanshicheng/p/9390010.html
Copyright © 2020-2023  润新知