V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
hustlzp
V2EX  ›  程序员

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

  •  
  •   hustlzp · 2014 年 8 月 13 日 · 15295 次点击
    这是一个创建于 4177 天前的主题,其中的信息可能已经有所发展或是发生改变。
    帮一个朋友写爬虫爬东西。

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

    单个文件都很小,但数量有接近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 年 8 月 13 日
    @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 年 8 月 13 日   ❤️ 1
    reiserfs
    clino
        2
    clino  
       2014 年 8 月 13 日 via Android   ❤️ 1
    ext4?
    楼上这个都说小文件性能好,不过作者估计要把牢底坐穿。。。
    HavoStrean
        3
    HavoStrean  
       2014 年 8 月 13 日   ❤️ 1
    fastdfs
    sanddudu
        4
    sanddudu  
       2014 年 8 月 13 日   ❤️ 1
    @clino 只是 15 年而已,没有弄成 100 多年算不错了
    tmqhliu
        5
    tmqhliu  
       2014 年 8 月 13 日   ❤️ 1
    hustlzp
        6
    hustlzp  
    OP
       2014 年 8 月 13 日
    @clino
    @sanddudu 原来他谋杀了他妻子...我去...15年很轻了。
    hellojinjie
        7
    hellojinjie  
       2014 年 8 月 13 日   ❤️ 1
    douban 不是有个 douban fs 的嘛,用来存放小文件图片的,不知道现在的进展怎么样了
    wangdaimishu
        8
    wangdaimishu  
       2014 年 8 月 13 日   ❤️ 1
    你不会是把那些文件都放在同一个目录吧?我以前用 txt 存小说章节,300多万个,分三层目录,坨坨的。
    likuku
        9
    likuku  
       2014 年 8 月 13 日   ❤️ 1
    至少 ext4 , zfs也是个好选择...假若存储部分可以独立出去用 freebsd 的话。
    likexian
        10
    likexian  
       2014 年 8 月 13 日   ❤️ 1
    扔mongodb吧
    jsq2627
        11
    jsq2627  
       2014 年 8 月 13 日   ❤️ 1
    小文件完全可以存数据库的嘛
    notnumb
        12
    notnumb  
       2014 年 8 月 13 日   ❤️ 1
    如果只是inode问题的话
    xfs,zfs,jfs都可以。
    chilaoqi
        13
    chilaoqi  
       2014 年 8 月 13 日   ❤️ 1
    我们以前也遇到过inodes耗尽的情况。用XFS
    vainly
        14
    vainly  
       2014 年 8 月 13 日   ❤️ 1
    请无视我,MongoDB
    wy315700
        15
    wy315700  
       2014 年 8 月 13 日   ❤️ 1
    试试MongoDB或者HDFS
    love
        16
    love  
       2014 年 8 月 13 日   ❤️ 1
    reiserfs啊,没有inode限制,想放多少放多少
    bigtan
        17
    bigtan  
       2014 年 8 月 13 日   ❤️ 1
    https://code.google.com/p/weed-fs/ 你可以看看这个项目
    ryd994
        18
    ryd994  
       2014 年 8 月 13 日   ❤️ 1
    这样的数据还是进数据库比较好,或者按网站打包,每次抓完更新
    soulteary
        19
    soulteary  
       2014 年 8 月 13 日   ❤️ 1
    openstack swift
    soulteary
        20
    soulteary  
       2014 年 8 月 13 日
    ps,如果是小图标一类的,或许找家带open api的图床更靠谱?
    haoba
        21
    haoba  
       2014 年 8 月 14 日   ❤️ 1
    fastDFS可以啊。
    faywong8888
        22
    faywong8888  
       2017 年 5 月 1 日
    @bigtan seaweedfs 挺好的,我 Like it
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   3416 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 37ms · UTC 11:00 · PVG 19:00 · LAX 03:00 · JFK 06:00
    ♥ Do have faith in what you're doing.