推荐一个适合存放海量小文件的文件系统?

2014 年 8 月 13 日
 hustlzp
帮一个朋友写爬虫爬东西。

数据库和文件系统中都要存。

单个文件都很小,但数量有接近70-80万,总大小有20多G。

放在服务器爬了5天,爬完了,发现很多数据库中有的条目,在文件系统中并不存在。

找原因才发现是inode用完了,TAT。Google后发现,ext3好像默认16K分配一个inode,挂载的磁盘是40G(ext3),所以最大可用的inode大概是2600000左右个。但关键在于文件一般都小于16K,所以把inode耗完了...

目前有一种解决方法是格式化EXT3,格式化的同时指定每4K分配一个inode,这样就把最大可用的inode数量扩大到4倍。

但往长远看,感觉EXT3还是不太适合这种场景,所以求推荐一种适合海量存储小文件的文件系统。

谢谢。
15976 次点击
所在节点    程序员
22 条回复
reusFork
2014 年 8 月 13 日
reiserfs
clino
2014 年 8 月 13 日
ext4?
楼上这个都说小文件性能好,不过作者估计要把牢底坐穿。。。
HavoStrean
2014 年 8 月 13 日
fastdfs
sanddudu
2014 年 8 月 13 日
@clino 只是 15 年而已,没有弄成 100 多年算不错了
tmqhliu
2014 年 8 月 13 日
hustlzp
2014 年 8 月 13 日
@clino
@sanddudu 原来他谋杀了他妻子...我去...15年很轻了。
hellojinjie
2014 年 8 月 13 日
douban 不是有个 douban fs 的嘛,用来存放小文件图片的,不知道现在的进展怎么样了
wangdaimishu
2014 年 8 月 13 日
你不会是把那些文件都放在同一个目录吧?我以前用 txt 存小说章节,300多万个,分三层目录,坨坨的。
likuku
2014 年 8 月 13 日
至少 ext4 , zfs也是个好选择...假若存储部分可以独立出去用 freebsd 的话。
likexian
2014 年 8 月 13 日
扔mongodb吧
jsq2627
2014 年 8 月 13 日
小文件完全可以存数据库的嘛
notnumb
2014 年 8 月 13 日
如果只是inode问题的话
xfs,zfs,jfs都可以。
chilaoqi
2014 年 8 月 13 日
我们以前也遇到过inodes耗尽的情况。用XFS
vainly
2014 年 8 月 13 日
请无视我,MongoDB
wy315700
2014 年 8 月 13 日
试试MongoDB或者HDFS
love
2014 年 8 月 13 日
reiserfs啊,没有inode限制,想放多少放多少
bigtan
2014 年 8 月 13 日
https://code.google.com/p/weed-fs/ 你可以看看这个项目
ryd994
2014 年 8 月 13 日
这样的数据还是进数据库比较好,或者按网站打包,每次抓完更新
soulteary
2014 年 8 月 13 日
openstack swift
soulteary
2014 年 8 月 13 日
ps,如果是小图标一类的,或许找家带open api的图床更靠谱?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://v2ex.ih06.com/t/127596

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX