推荐一个适合存放海量小文件的文件系统? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成内容
hustlzp
V2EX    程序员

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

  •  
  •   hustlzp 2014-08-13 11:47:25 +08:00 15126 次点击
    这是一个创建于 4085 天前的主题,其中的信息可能已经有所发展或是发生改变。
    帮一个朋友写爬虫爬东西。

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

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

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

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

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

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

    谢谢。
    第 1 条附言    2014-08-13 23:41:05 +08:00
    @reusFork
    @clino
    @HavoStrean
    @sanddudu
    @tmqhliu
    @hellojinjie
    @wangdaimishu
    @likuku
    @likexian
    @jsq2627
    @notnumb
    @chilaoqi
    @vainly
    @wy315700
    @love
    @bigtan
    @ryd994
    @soulteary 感谢大家的推荐!

    已经用XFS重新格式化了(使用默认选项),同样40G,inode的数量变成了41942016(大概是原来的20倍),这下绝对够用啦!现在scrapyd已经重新跑起来,过几天再看效果。再次感谢万能的V2EXer :)
    22 条回复    2017-05-01 22:38:42 +08:00
    reusFork
        1
    reusFork  
       2014-08-13 11:56:29 +08:00   1
    reiserfs
    clino
        2
    clino  
       2014-08-13 12:15:58 +08:00 via Android   1
    ext4?
    楼上这个都说小文件性能好,不过作者估计要把牢底坐穿。。。
    HavoStrean
        3
    HavoStrean  
       2014-08-13 12:16:03 +08:00   1
    fastdfs
    sanddudu
        4
    sanddudu  
       2014-08-13 12:19:38 +08:00   1
    @clino 只是 15 年而已,没有弄成 100 多年算不错了
    tmqhliu
        5
    tmqhliu  
       2014-08-13 12:26:17 +08:00   1
    hustlzp
        6
    hustlzp  
    OP
       2014-08-13 12:33:43 +08:00
    @clino
    @sanddudu 原来他谋杀了他妻子...我去...15年很轻了。
    hellojinjie
        7
    hellojinjie  
       2014-08-13 12:38:04 +08:00   1
    douban 不是有个 douban fs 的嘛,用来存放小文件图片的,不知道现在的进展怎么样了
    wangdaimishu
        8
    wangdaimishu  
       2014-08-13 12:40:50 +08:00   1
    你不会是把那些文件都放在同一个目录吧?我以前用 txt 存小说章节,300多万个,分三层目录,坨坨的。
    likuku
        9
    likuku  
       2014-08-13 13:17:17 +08:00   1
    至少 ext4 , zfs也是个好选择...假若存储部分可以独立出去用 freebsd 的话。
    likexian
        10
    likexian  
       2014-08-13 13:20:09 +08:00   1
    扔mongodb吧
    jsq2627
        11
    jsq2627  
       2014-08-13 13:32:56 +08:00   1
    小文件完全可以存数据库的嘛
    notnumb
        12
    notnumb  
       2014-08-13 13:37:31 +08:00   1
    如果只是inode问题的话
    xfs,zfs,jfs都可以。
    chilaoqi
        13
    chilaoqi  
       2014-08-13 14:26:02 +08:00   1
    我们以前也遇到过inodes耗尽的情况。用XFS
    vainly
        14
    vainly  
       2014-08-13 15:56:32 +08:00   1
    请无视我,MongoDB
    wy315700
        15
    wy315700  
       2014-08-13 16:01:31 +08:00   1
    试试MongoDB或者HDFS
    love
        16
    love  
       2014-08-13 16:04:22 +08:00   1
    reiserfs啊,没有inode限制,想放多少放多少
    bigtan
        17
    bigtan  
       2014-08-13 16:05:45 +08:00   1
    https://code.google.com/p/weed-fs/ 你可以看看这个项目
    ryd994
        18
    ryd994  
       2014-08-13 16:23:32 +08:00   1
    这样的数据还是进数据库比较好,或者按网站打包,每次抓完更新
    soulteary
        19
    soulteary  
       2014-08-13 19:04:56 +08:00   1
    openstack swift
    soulteary
        20
    soulteary  
       2014-08-13 19:05:47 +08:00
    ps,如果是小图标一类的,或许找家带open api的图床更靠谱?
    haoba
        21
    haoba  
       2014-08-14 17:33:33 +08:00   1
    fastDFS可以啊。
    faywong8888
        22
    faywong8888  
       2017-05-01 22:38:42 +08:00
    @bigtan seaweedfs 挺好的,我 Like it
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1033 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 22ms UTC 23:17 PVG 07:17 LAX 16:17 JFK 19:17
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86