对于 Nagios、Puppet 和 LVM 工具(pvs、vgs 等)等许多应用程序来说,Var 显示为完整状态
df -h 输出
6.0G 4.3G 1.4G 77% /var
VG输出
/var/lock/lvm/V_rootvg:aux: open failed: No space left on device
Can't get lock for rootvg
Skipping volume group rootvg
lsof +L1
var 下不再显示任何内容,因此我认为没有尚未从/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
答案1
查看其他人的评论可以帮助您诊断索引节点不足。如果您需要提供一些可用的文件,以便能够对系统进行一些基本访问,那么您可以在 CentOS 5 安装上删除以下文件,假设您可以在没有它们的情况下生活。
例子
$ sudo rm -fr /var/log/*.[1-9]?(.gz)
这将删除/var/log
.这应该会为您购买几十个 inode 来启动。
计算索引节点
使用 df我通常使用该命令df
来确定可用的数量。
$ df -i /
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/mapper/VolGroup00-LogVol00
59932672 807492 59125180 2% /
使用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
释放了一些 inode,现在怎么办?
有了一些喘息空间,你基本上就有了几种选择。
我首先尝试快速获取可作为删除目标的文件列表,以便您可以开始获得更多空间。我将重点关注
/tmp
更多/var
可能要删除的文件。如果您有旧版本的 Java 或安装的任何东西
/usr/local
,/opt
我接下来会选择这些。我将开始制定可卸载的已安装 RPM 列表
如果您一直使用 YUM 在此服务器上进行更新,则可以清除其缓存。
$ sudo yum clean all
考虑添加额外的空间。
答案2
索引节点耗尽的一个可能原因是,无论出于何种原因,特定目录中积累了大量文件。您可以检查常见的可疑项,例如、/tmp
等。如果您没有找到任何内容,这里有一个我拼凑而成的命令,用于列出文件系统中包含第一级文件/目录最多的前 50 个目录。/var/tmp
/var/log
find / -xdev -type d -exec sh -c '
num=$(find "$0" -maxdepth 1 | wc -l); echo "$num $0"' {} \; |
sort -n |
tail -50
请注意,顶层的挂载点也包括在内——排除这一点并不容易。