Filesystems mkdir不会在设备上留下任何空间,而创建一个大文件是可以的(有足够的空间和inode可用)
非常奇怪的行为 我无法创建目录Filesystems mkdir不会在设备上留下任何空间,而创建一个大文件是可以的(有足够的空间和inode可用),filesystems,mkdir,Filesystems,Mkdir,非常奇怪的行为 我无法创建目录 [root@XXXXXX DEV]# mkdir 1 mkdir: cannot create directory `1': No space left on device [root@dev-albert DEV]# pwd /deployment/.octopus/Applications/OctopusServer/DEV [root@XXXXXX DEV]# df -P /deployment Filesystem 1024-blocks
[root@XXXXXX DEV]# mkdir 1
mkdir: cannot create directory `1': No space left on device
[root@dev-albert DEV]# pwd
/deployment/.octopus/Applications/OctopusServer/DEV
[root@XXXXXX DEV]# df -P /deployment
Filesystem 1024-blocks Used Available Capacity Mounted on
/dev/mapper/deploymentvg-deployment 10321208 5229888 4567096 54%
/deployment
[root@dev-albert DEV]# df -Pi /deployment
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/mapper/deploymentvg-deployment 655360 69129 586231 11%
/deployment
正如你所看到的,大量的空间,大量的索引节点是免费的
有人知道我的系统发生了什么吗
[root@dev-albert DEV]# dmsetup ls
rootvg-tmp (252:6)
rootvg-usr (252:7)
rootvg-var (252:8)
deploymentvg-usropenv (252:3)
deploymentvg-deployment (252:2)
rootvg-agent (252:4)
rootvg-oracle (252:11)
rootvg-varlock (252:9)
rootvg-deployment (252:5)
rootvg-swap (252:1)
rootvg-root (252:0)
rootvg-varspool (252:10)
最高产量
top - 14:44:35 up 347 days, 20:40, 2 users, load average: 2.02, 2.02, 2.05
Tasks: 125 total, 2 running, 123 sleeping, 0 stopped, 0 zombie
Cpu(s):100.0%us, 0.0%sy, 0.0%ni,117100.0%id,-42916200.0%wa, 0.0%hi,
0.0%si,200.0%st
Mem: 4071932k total, 3394132k used, 677800k free, 780312k buffers
Swap: 4194300k total, 22604k used, 4171696k free, 1742552k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
747 root 20 0 0 0 0 S 3.0 0.0 303:33.05 jbd2/dm-2-8
20679 root 20 0 0 0 0 S 2.7 0.0 0:14.24 kworker/0:2
16319 root 20 0 0 0 0 R 2.3 0.0 266:30.45 flush-252:2
当我用strace运行mkdir时
open("/usr/lib/locale/locale-archive", O_RDONLY) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=99158576, ...}) = 0
mmap(NULL, 99158576, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7fd4c4b04000
close(3) = 0
mkdir("1", 0777) = -1 ENOSPC (No space left on
device)
open("/usr/share/locale/locale.alias", O_RDONLY) = 3
write(2, ": No space left on device", 25: No space left on device) = 25
uname输出
Linux 2.6.39-400.17.1.el6uek.x86_64 #1 SMP Fri Feb 22 18:16:18 PST 2013 x86_64 x86_64 x86_64 GNU/Linux
有时,这可能是由于ext4用作目录索引的b树达到了其高度限制。如果您在mkdir上得到一些名称的
No space less on device
错误,而其他名称则没有,或者存在大量的空间和索引节点,请检查您的dmesg
以获取以下警告:
EXT4-fs warning (device dm-0): ext4_dx_add_entry:2226: Directory (ino: 80087286) index full, reach max htree level :2
EXT4-fs warning (device dm-0): ext4_dx_add_entry:2230: Large directory feature is not enabled on this filesystem
这意味着您达到了b树限制,在必要时,您可以通过以下方式启用大目录:
tune2fs -O large_dir <dev>
tune2fs-O大型目录
它不需要卸载或重新启动,并且将限制从10M增加到2B。根据您所做的工作,您可能会遇到性能瓶颈或在再次达到极限之前实际填充磁盘,但我建议重新考虑目录结构,以避免在同一目录中创建过多的文件和子目录,并且仅在紧急情况下使用上述解决方案。有时,这可能是由于ext4用作目录索引的b树达到其高度限制而导致的。如果您在mkdir上得到一些名称的
No space less on device
错误,而其他名称则没有,或者存在大量的空间和索引节点,请检查您的dmesg
以获取以下警告:
EXT4-fs warning (device dm-0): ext4_dx_add_entry:2226: Directory (ino: 80087286) index full, reach max htree level :2
EXT4-fs warning (device dm-0): ext4_dx_add_entry:2230: Large directory feature is not enabled on this filesystem
这意味着您达到了b树限制,在必要时,您可以通过以下方式启用大目录:
tune2fs -O large_dir <dev>
tune2fs-O大型目录
它不需要卸载或重新启动,并且将限制从10M增加到2B。根据您所做的工作,您可能会遇到性能瓶颈或在再次达到极限之前实际填充磁盘,但我建议重新考虑目录结构,以避免在同一目录中创建过多的文件和子目录,并且仅在紧急情况下使用上述解决方案。df-p.和
df-Pi.
?与主要问题中提到的相同,/dev/mapper/deploymentvg deployment 10321208 5229888 4567096 54%/deployment[root@dev]#df-Pi上安装的文件系统1024个可用容量块。文件系统Inodes IUsed IFree IUse%安装在/dev/mapper/deploymentvg deployment 655360 69130 586230 11%/deployment
我不得不重新启动系统,现在问题还没有出现。将在此处监视并回答更多疑难解答和详细信息。什么是df-P.
和df-Pi.
?与主要问题中提到的相同文件系统1024块已使用的可用容量安装在/dev/mapper/deploymentvg部署10321208 5229888 4567096 54%/deployment[root@dev]#df-Pi。文件系统Inodes IUsed IFree IUse%安装在/dev/mapper/deploymentvg deployment 655360 69130 586230 11%/deployment
我不得不重新启动系统,现在问题还没有出现。将在此处监视并回复更多疑难解答和详细信息。