请教 XFS, JFS, UFS, EXT4, reiser 几个文件系统的问题 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
lzwt806
V2EX    Linux

请教 XFS, JFS, UFS, EXT4, reiser 几个文件系统的问题

  •  
  •   lzwt806 2019-11-20 20:57:07 +08:00 9459 次点击
    这是一个创建于 2155 天前的主题,其中的信息可能已经有所发展或是发生改变。

    继上次提问关于 Linux kernel 版本的问题得到了很满意的答案之后,再次前来求学,望前辈们一如继往的不吝赐教,感谢!

    几个文件系统 XFS,JFS,UFS,EXT4,reiser

    说说我的已知情况:

    XFS,我印象里特别好,原因是有个山寨 U 盘,不管格式化成 NTFS 还是 fat32,存的文件半年左右就会损坏,用这个文件系统存满文件已经有 2 年多了,完好。

    EXT4,在 2016 年以前,老赵告诉我它简单,实用,可靠,但是我发现,新买的 1TB 硬盘,格式化后什么文件都不存,就占用了几十 G 空间,个人估计是用于冗余纠错用的(坏块处理,或日志记录等),而 NTFS,xfs 这些文件系统新格式化的就占用很少。几年过去了,不知道 EXT4 有没有更新,还是说一直保持原来的特性(性能,可靠性这些)?

    JFS,UFS 百度了说是商用系统,一般人很少有接触,更是不知道他们到底如何,我想只有在 500 强的大公司工作的内部人士才有可能真正的了解。

    reiser,一个停更了的文件系统,据传存小文件很好,曾经看到海蜘蛛软路由软件推荐用它来当文件系统。

    本人水平很有限,网上有评测对比,但都是好几年以前的了,自己没能力测试,所以前来请教知情的前辈们!

    问题:

    1,reiser 的性能如何?可靠性如何?是不是还在 ext3 或 ntfs 的水平?

    2,现在的 ext4 与现在的 xfs 相比,哪个性能更好?更可靠?

    3,jfs 和 ufs 与 ext4 相比又如何?

    4,在超大容量( GB/BP 级数据库)存储下,以及海量文件(上亿个文件)存储下,如果只从以上几个文件系统选择,最推荐使用哪个?

    5,大文件( 1G-10G 不等),小文件( 1K-900M )都有,这种混合内容存储下,前辈们最推荐用哪个文件系统?

    性能我想大家都理解是什么意思,这里的可靠性是指在突然 /经常断电的情况下,数据损坏的机率,不要推荐加 ups,不在此次的讨论以内。

    另外有没有一种磁盘占用少,对 CPU 资源占用少,可安全可靠,性能也不错的文件系统?

    这里不说 ZFS 和 Btrfs 两个,因为我觉和他们太过臃肿庞大了。

    28 条回复    2020-06-08 17:03:25 +08:00
    secondwtq
        1
    secondwtq  
       2019-11-20 21:19:22 +08:00   1
    第一,不要看百度 ...

    你要可靠性,我觉得你应该去找数据,不过我觉得这个数据不好找
    因为一般就是”商用“才会统计这种数据,但是”商用“一般不会经常断电,另外”商用“的可靠性也并不是靠文件系统保证,而是靠冗余保证
    就算 ZFS,可靠性也不是”只要用了 ZFS“就能保证的( btrfs 倒是能保证用了之后立马丢失可靠性)
    ReiserFS 不太熟,我只知道有杀的功能。

    性能数据倒是好找,比如 https://www.phoronix.com/scan.php?page=article&item=linux-40-hdd&num=1

    还有很不幸的是,很多情况下我们并没有自由选择文件系统的权利,在选择文件系统时应该考虑平台的支持情况,比如 NTFS、HFS+ 和 APFS 在除本家之外的平台上支持都是渣(这些”本家平台“同时排斥除 FAT 系之外的其他文件系统),Linux 对 UFS 和 JFS 支持都不好,XFS 如果不是 Linux 有支持到现在也是”商用“ FS ( BSD 支持不好)
    liang96
        2
    liang96  
       2019-11-20 21:23:06 +08:00 via Android
    reiserfs 杀手文件系统, 一直在用。
    billlee
        3
    billlee  
       2019-11-20 21:30:41 +08:00
    根据 phornoix 的评测,xfs 各方面性能都是比 ext4 好的。
    www.phoronix.com/scan.php?page=article&item=linux-50-filesystems

    xfs 作为 centos 的默认文件系统,周边生态也是很完善的,一般无脑选 xfs 就好了。
    至于所谓商用系统,除非用小型机 UNIX 全家桶,自己折腾意义不大吧
    love
        4
    love  
       2019-11-20 21:55:54 +08:00
    ext 之类的文件系统 inode 数有限,存大量小文件基本都会 inode 超标(当然在格式化时可以选块大小改 inode 数,但也有别的问题)
    而 reiserfs 不限制 inode 数,小文件随便存,可能这是这个文件系统唯一的好处了。
    feather12315
        5
    fether12315  
       2019-11-20 21:59:07 +08:00   1
    1. ext4 默认 journal 是 128M,印象中不随着存储空间大小而改变,但可以手动指定。
    2. ext4 格式化后什么文件都不存,就占用了几十 G 空间,这是因为文件系统的 meta data,包括 super block / inode,空间占用主要是 inode 导致的。印象中 inode 默认大小是 256B, 可以在格式化的时候调整大小。
    3. ext4 会在开机的时候校验数据,印象中运行时并不会纠错。
    4. 当前各大发行版,ext4 是主流。使用得越多 bug 越少。ext4 在不断更新,一直有新 feature 加入。
    5. SuSE / RedHat 企业版数据盘印象中默认 xfs。xfs 由 RedHat 支持。
    6. SuSE 社区版默认文件系统是 btrfs。btrfs 由 SuSE / Fackbook 在开发、维护。
    7. 主流的文件系统,不断添加 feature,向 zfs 靠拢。
    Osk
        6
    Osk  
       2019-11-20 22:43:24 +08:00
    大磁盘 ext4 格式化一次慢到让我怀疑人生,换 xfs 好多了,而且 xfs 有 Redhat 背书,也是不错的。

    另外,我用 btrfs,因为有快照,fs 层次的 raid1,scrub,数据 crc 校验,除了 zfs 外,暂时没有一个 fs 能提供这些 feature,zfs 据说太烧内存,用不起。

    所以我个人的选择是:btrfs -> xfs -> ext4
    KENNHI
        7
    KENNHI  
       2019-11-20 22:48:25 +08:00 via Android
    xfs 性能在很多项测试里都比 ext4 要好的,还解决了一些 ext4 的问题。如果对 btrfs (不推荐)和 zfs 等“现代化”的文件系统没什么兴趣的话,xfs 其实是最佳选择。
    okudayukiko0
        8
    okudayukiko0  
       2019-11-20 22:58:13 +08:00 via iPhone
    现在 XFS 已替代 EXT4。Red Hat 默认就用 XFS。Reiser 现在好像用 Reiser4。
    Cooky
        9
    Cooky  
       2019-11-20 23:05:47 +08:00 via Android
    mkfs.ext4 -m 0
    lzwt806
        10
    lzwt806  
    OP
       2019-11-21 08:10:20 +08:00
    @liang96 请问前辈,“reiserfs 杀手文件系统”怎么理解?一直在用是用于什么场景?另外它的可靠性,性能如何?
    lzwt806
        11
    lzwt806  
    OP
       2019-11-21 08:11:34 +08:00
    @love “而 reiserfs 不限制 inode 数,小文件随便存,可能这是这个文件系统唯一的好处了。”这句话,我能不能理解为:除此之外,其它方面都很差?
    lzwt806
        12
    lzwt806  
    OP
       2019-11-21 08:16:50 +08:00
    @feather12315 请教前辈:
    “4. 当前各大发行版,ext4 是主流。使用得越多 bug 越少。ext4 在不断更新,一直有新 feature 加入。”
    是编译了最新的内核就拥有了最新的 ext4 文件系统支持吗?还是说如果我想用最新的 EXT4 文件系统支持,需要使用储如 GParted 分区工具( mkfs.ext4 )来重新建立磁盘分区?

    另一个问题是:如果我有个 U 盘是在 2015 年使用 Linux kernel 4.4 格式化为 ext4,那么这个 U 盘即不是最新的 ext4 文件系统,一些新加入的的特性就没有,这种理解对不对?

    换个方式问:最新加入 ext4 的 feature 是在内核模块(*.ko )中,还是存在于已经格式化的磁盘中?
    lzwt806
        13
    lzwt806  
    OP
       2019-11-21 08:19:40 +08:00
    @Osk btrfs 也适用于我需求?大小文件混存,且数量巨大。另外去年我还看到论坛有人说 btrfs 到 2018 年了还有些 bug,可靠性有待完善,不知这种道听途说是否正确?
    lzwt806
        14
    lzwt806  
    OP
       2019-11-21 08:21:53 +08:00
    @okudayukiko0 “Reiser 现在好像用 Reiser4”,我试过在 GParted 里面格式为 reiser4,能格式化成功,但不能访问,是否还需要其它东西才能找开格式化好的 reiser4 磁盘?

    另外 reiser4 的性能已经到什么程度了?能达到 ext4 的性能吗?
    salmon5
        15
    salmon5  
       2019-11-21 08:29:10 +08:00 via Android
    ntfs 或 fat32
    love
        16
    love  
       2019-11-21 08:36:39 +08:00 via Android
    @lzwt806 个人用有啥好纠结的,这里每一个通用的文件系统都是无数人在用,你能碰到 bug 的几率几乎没有,性能也是大同小异你根本感觉不出来。
    agagega
        17
    agagega  
       2019-11-21 09:24:39 +08:00 via iPhone
    @lzwt806 说 Reiser 是杀手不是因为作者杀老婆吗(
    NG6
        18
    NG6  
       2019-11-21 09:41:53 +08:00
    btrfs 真的有你们说的不堪么,那群辉为啥还敢作为默认文件系统呢
    VYSE
        19
    VYSE  
       2019-11-21 10:08:13 +08:00 via Android
    ssd 时代追求性能优先 f2fs 和 xfs
    msg7086
        20
    msg7086  
       2019-11-21 10:43:21 +08:00
    @NG6 为什么不去问问群辉呢。当年红帽主推 btrfs,你看看他现在为啥回去用 1993 年出的 XFS 了。

    @love 碰到 Bug 几率少,但是碰到异常损坏的概率可就高得多了。

    @lzwt806 #11 Reiser 是一个很先进的文件系统家族,处理小文件的速度远超其他家,没有太多明显的问题,Reiser4 主要还是因为作者被判刑了所以没得发展了。
    okudayukiko0
        21
    okudayukiko0  
       2019-11-21 11:04:03 +08:00 via iPhone
    @lzwt806 EXT4 模块可能位于 Linux 内核 Image (通常位于 /boot )下,可能位于 InitRAMFS 下(位于 /boot ),也可能位于 /lib 下。
    lzwt806
        22
    lzwt806  
    OP
       2019-11-21 11:25:46 +08:00 via Android
    @okudayukiko0 不是这个意思,我是想问:几年前格式的 ext4 分区,是不是就没有最新的 ext4 特性(最近加入的补丁之类)。还是说,更新 linux 就能享受到最新的 ext4 而与什么时候格式化磁盘无关?
    lzwt806
        23
    lzwt806  
    OP
       2019-11-21 11:28:09 +08:00 via Android
    @okudayukiko0 再换一种方式问,ext4 的更新提现在磁盘上还是提现在操作系统里面?
    iceecream
        24
    iceecream  
       2019-11-22 14:29:39 +08:00
    mkfs.ext4 -m reserevrd-blocks-percentage
    试试 mkfs.ext4 -m0 看看占用
    secondwtq
        25
    secondwtq  
       2019-11-22 19:19:38 +08:00
    群晖一个默认连 ECC RAM 都没有的,我是不敢作为参考的。
    ps1aniuge
        26
    ps1aniuge  
       2019-11-23 21:16:23 +08:00
    ----------------插楼,同问文件系统类问题,谢谢-------------
    假设我的 8tb 硬盘坏了,厂家给我换了一块修复盘,拿到手上机后,这块盘没有分区,在 linux 下,
    我如何测试盘 有没有坏块呀?或者如何全盘慢格式化呀?
    请给我推荐一个校验(格式化)命令。
    实际上,这也适用于 u 盘,存储卡,所以请给我推荐,更通用的命令,谢谢了。
    james122333
        27
    james122333  
       2019-11-25 04:48:21 +08:00
    reiser 小档案快 jfs 没用过 用过 nilfs 不过不能完全保证正确性
    现在不论 ufs 还是 ext4 都已经开机有 fsck 了 算起来还过得去
    但还是新世代 fs 好些 虽然做太多事情 有人认为不算是个 filesystem
    ACEonly
        28
    ACEonly  
       2020-06-08 17:03:25 +08:00
    @lzwt806 2019 年 10 月,我就炸一次,那候 BTRFS 失去信心
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5822 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 28ms UTC 01:44 PVG 09:44 LAX 18:44 JFK 21:44
    Do have faith in what you're doing.
    ubao 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