我在 ubuntu server 12.04 上安装了一个 1TB ext4 SSD 作为数据驱动器。我用它来存储文件,并注意到使用率达到 55% 时我无法添加任何新文件/文件夹(出现“设备上没有剩余空间”错误消息)。一种可能性是没有可用的 inode,但 tune2fs 显示仍有 58613749 个可用 inode(总共 58613760 个)。此驱动器上至少安装了数百万个文件,我不明白为什么没有占用适当数量的 inode。这些统计数据可能不准确吗?如果它们是准确的(不确定为什么)除了 inode 之外,还有什么可能导致磁盘已满的行为?
任何见解和想法都值得赞赏。
tune2fs 输出:
Filesystem flags: signed_directory_hash
Default mount options: user_xattr acl
Filesystem state: clean
Errors behavior: Continue
Filesystem OS type: Linux
Inode count: 58613760
Block count: 234422870
Reserved block count: 11721143
Free blocks: 230692951
Free inodes: 58613749
First block: 0
Block size: 4096
Fragment size: 4096
Reserved GDT blocks: 968
Blocks per group: 32768
Fragments per group: 32768
Inodes per group: 8192
Inode blocks per group: 512
Flex block group size: 16
Filesystem created: Mon Mar 24 00:21:23 2014
Last mount time: Mon Mar 24 00:26:29 2014
Last write time: Mon Mar 24 00:26:29 2014
Mount count: 1
Maximum mount count: -1
Last checked: Mon Mar 24 00:21:23 2014
Check interval: 0 (<none>)
Lifetime writes: 134 MB
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: 73ef2ab5-f6d4-4515-8abd-2fe94905901b
Journal backup: inode blocks
df-i 输出:
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/sdb1 58613760 58613760 0 100% /media/data
答案1
无法保证tune2fs -l
在文件系统挂载时显示最新信息。tune2fs
直接从磁盘读取文件系统,而文件系统挂载时状态则保存在内存中。超级块可能不会在任何时间点写回磁盘,除非文件系统卸载时。
为了获得已挂载文件系统的准确块和 inode 使用情况计数,最好始终使用df
和df -i
。