ext3 文件系统对大多数应用程序显示已满,但对 DF 只有 77% 已满

Gre*_*hal 6 filesystems ext3 df

Var 在 Nagios、Puppet 和 LVM 工具(pvs、vgs 等)等许多应用程序中显示为完整

df -h 输出

6.0G  4.3G  1.4G  77% /var
Run Code Online (Sandbox Code Playgroud)

视频输出

/var/lock/lvm/V_rootvg:aux: open failed: No space left on device
  Can't get lock for rootvg
  Skipping volume group rootvg
Run Code Online (Sandbox Code Playgroud)

lsof +L1var 下不再显示任何内容,因此我认为没有尚未从/var文件系统中清除的未链接文件。我不明白为什么 6G 文件系统上的 1.4G 免费被认为是满的。我知道系统在每个文件系统上都保留了一些空间,但这不可能,空间太大了。文件系统ext3在 Red Hat 5 上。

dumpe2fs 1.41.12 (17-May-2010)
Filesystem volume name:   <none>
Last mounted on:          <not available>
Filesystem UUID:          c8f44510-e8f7-4e2e-950a-1410b069910e
Filesystem magic number:  0xEF53
Filesystem revision #:    1 (dynamic)
Filesystem features:      has_journal ext_attr resize_inode dir_index filetype needs_recovery sparse_super large_file
Filesystem flags:         signed_directory_hash 
Default mount options:    user_xattr acl
Filesystem state:         clean
Errors behavior:          Continue
Filesystem OS type:       Linux
Inode count:              393216
Block count:              1572864
Reserved block count:     78627
Free blocks:              1183083
Free inodes:              388144
First block:              0
Block size:               4096
Fragment size:            4096
Reserved GDT blocks:      63
Blocks per group:         32768
Fragments per group:      32768
Inodes per group:         8192
Inode blocks per group:   512
Filesystem created:       Mon Apr 29 13:12:02 2013
Last mount time:          Wed Oct 23 19:10:44 2013
Last write time:          Wed Oct 23 19:10:44 2013
Mount count:              6
Maximum mount count:      -1
Last checked:             Mon Apr 29 13:12:02 2013
Check interval:           0 (<none>)
Reserved blocks uid:      0 (user root)
Reserved blocks gid:      0 (group root)
First inode:              11
Inode size:           256
Required extra isize:     28
Desired extra isize:      28
Journal inode:            8
Default directory hash:   half_md4
Directory Hash Seed:      8766dfd5-c802-4bc3-81cc-21869e810656
Journal backup:           inode blocks
Journal features:         journal_incompat_revoke
Journal size:             32M
Journal length:           8192
Journal sequence:         0x0112568e
Journal start:            3334
Run Code Online (Sandbox Code Playgroud)

slm*_*slm 2

查看其他人的评论可以帮助您诊断索引节点不足。如果您需要提供一些可用的文件,以便能够对系统进行一些基本访问,那么您可以在 CentOS 5 安装上删除以下文件,假设您可以在没有它们的情况下生活。

例子

$ sudo rm -fr /var/log/*.[1-9]?(.gz)
Run Code Online (Sandbox Code Playgroud)

这将删除/var/log. 这应该会为您购买几十个 inode 来启动。

计算索引节点

使用 df

我通常使用该命令df来确定可用的数量。

$ df -i /
Filesystem            Inodes   IUsed   IFree IUse% Mounted on
/dev/mapper/VolGroup00-LogVol00
                     59932672  807492 59125180    2% /
Run Code Online (Sandbox Code Playgroud) 使用tune2fs

您也可以使用tune2fs. 有了它,您需要为其提供 LVM LV 映射器的路径。

$ tune2fs -l /dev/mapper/VolGroup00-LogVol00 | grep -i inode
Filesystem features:      has_journal ext_attr resize_inode dir_index filetype needs_recovery sparse_super large_file
Inode count:              59932672
Free inodes:              59126861
Inodes per group:         32768
Inode blocks per group:   1024
First inode:              11
Inode size:       128
Journal inode:            8
First orphan inode:       21561629
Journal backup:           inode blocks
Run Code Online (Sandbox Code Playgroud)

释放了一些 inode,现在怎么办?

有了一些喘息空间,你基本上就有了几种选择。

  1. 我首先尝试快速获取可作为删除目标的文件列表,以便您可以开始获得更多空间。我将重点关注/tmp更多/var可能要删除的文件。

  2. 如果您有旧版本的 Java 或安装的任何东西/usr/local/opt我接下来会选择这些。

  3. 我将开始制定可卸载的已安装 RPM 列表

  4. 如果您一直使用 YUM 在此服务器上进行更新,则可以清除其缓存。

    $ sudo yum clean all
    
    Run Code Online (Sandbox Code Playgroud)
  5. 考虑添加额外的空间。