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

2014-08-13 11:47:25 +08:00
 hustlzp
帮一个朋友写爬虫爬东西。

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

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

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

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

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

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

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

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

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

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

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

© 2021 V2EX