答案1
根据这个博客条目,作者估计,除非large_dir
启用文件系统选项,否则最大正常 ext4 目录大小约为 1000 万个文件:
认为,不完全是假设,有一天你发现你的 (Linux) 内核日志消息如下:
EXT4-fs 警告(设备 md1):ext4_dx_add_entry:2461:目录(ino:102236164)索引已满,达到最大 htree 级别:2 EXT4-fs 警告(设备 md1):ext4_dx_add_entry:2465:此文件系统上未启用大目录功能
某种意义上来说,恭喜你。从逻辑意义上讲,您已经设法在目录中积累了如此多的文件,以至于它已经填满了。不幸的是,进一步尝试创建文件将会失败;事实上,它们已经失败了,因为这就是您收到错误消息的方式。如果幸运的话,您的软件正在记录错误消息并且您会注意到它们。另外,由于您的目录变得如此之大,您可能会遇到不愉快的意外。
(这里的“大”是相对的。根据“ls -lh”的报告,发生这种情况的目录只有大约 575 MB;这对于目录来说非常大,但对于现代文件来说却没有那么大。整个文件系统有大量的可用空间。)
我建议使用查看内核日志dmesg
并查看是否收到类似的消息,然后考虑是否需要使用启用它调2fs与-O large_dir
选项。
答案2
有足够的磁盘空间,但由于磁盘上有大量文件,因此已达到文件系统可以容纳的最大数量。
运行df -ih
看看已使用的inode百分比,也许是100%?
来源