Linux上的最大文件/目录数?
作者:互联网
我正在开发一个LAMP在线商店,它将允许管理员为每个项目上传多个图像.
我担心的是 – 马上就会有20000件商品,大概有60000张图片.
问题:
> Linux上的最大文件和/或目录数是多少?
>处理这种情况的常用方法是什么(最佳做法)?
我的想法是根据每个项目的唯一ID为每个项目创建一个目录,但是在主上传目录中我仍然有20000个目录,并且它将无限增长,因为旧项目不会被删除.
谢谢你的帮助.
解决方法:
ext [234]文件系统具有固定的最大inode数;每个文件或目录都需要一个inode.您可以使用df -i查看当前计数和限制.例如,在使用默认设置创建的15GB ext3文件系统上:
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/xvda 1933312 134815 1798497 7% /
除此之外,对目录没有限制;请记住,每个文件或目录至少需要一个文件系统块(通常为4KB),即使它是一个只有一个项目的目录.
但是,正如您所看到的,80,000个inode不太可能成为问题.使用dir_index选项(可以使用tune2fs),在大型目录中查找并不是什么大问题.但请注意,许多管理工具(例如ls或rm)可能很难处理包含太多文件的目录.因此,建议将文件拆分,以便在任何给定目录中没有超过几百到一千个项目.一种简单的方法是散列您正在使用的任何ID,并使用前几个十六进制数字作为中间目录.
例如,假设您有项目ID 12345,它哈希到’DEADBEEF02842 …….’.您可以将文件存储在/ storage / root / d / e / 12345下.您现在已将每个目录中的文件数减少了1/256.
标签:directory-structure,linux,directory 来源: https://codeday.me/bug/20191003/1850890.html