Aid*_*ell 6 linux filesystems ext4
我已经解决了有关 inode 使用、安装问题和其他问题的其他问题/答案,但这些问题似乎都不适用......
df -h
/dev/sdd1 931G 100G 785G 12% /media/teradisk
df -ih
/dev/sdd1 59M 12M 47M 21% /media/teradisk
基本上,我有一个 EXT4 格式的驱动器,大小为 1TB,正在将大约 1200 万(12201106)个文件写入一个目录。我找不到关于 EXT4 的每个目录文件限制的任何文档,但文件系统报告没有剩余空间。
奇怪的是,我仍然可以在驱动器和目标文件夹上创建新文件,但是在执行大型 cp/rsync 时,调用mkstemp并rename报告设备上没有剩余空间。
rsync: mkstemp "/media/teradisk/files/f.xml.No79k5" 失败:设备上没有剩余空间 (28)
rsync:重命名“/media/teradisk/files/f.xml.No79k5”->“files/f.xml”:设备上没有剩余空间(28)
我知道出于多种原因,不建议将这么多文件存储在一个目录中,但除非我能帮上忙,否则我不想将它们分开。
tmpfs、设备和其他一切的 inode 和空间使用情况看起来不错。原因的任何想法?
您似乎正在达到目录大小限制。目录本身是某种特殊文件,其中包含所有文件的名称(+ inode 编号和可能的其他一些元数据)。并且不能大于2G。
无论如何,在一个目录中拥有超过数千个文件并不是一个好主意:按文件名搜索会非常慢,而且使用 ls、rm 等标准工具会遇到很多问题。
更新:
啊哈!
http://old.nabble.com/re:The-maximum-number-of-files-under-a-folder-td16033098.html
在 2008 年 3 月 13 日 13:23 -0400,Theodore Ts'o 写道:
文件夹中的文件数量没有限制,除了目录本身不能大于 2GB 以及整个文件系统可用的 inode 数量。当然,如果您没有打开目录索引,您可能不喜欢进行目录查找的性能,但这是另一回事。
当前的 ext3 htree 代码也有一个限制,只有 2 级深。随着 2GB 的限制,您会遇到大约 15M 文件的问题,具体取决于文件名的长度。
| 归档时间: |
|
| 查看次数: |
12203 次 |
| 最近记录: |