继上次提问关于 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 两个,因为我觉和他们太过臃肿庞大了。
第一,不要看百度 ...
你要可靠性,我觉得你应该去找数据,不过我觉得这个数据不好找
因为一般就是”商用“才会统计这种数据,但是”商用“一般不会经常断电,另外”商用“的可靠性也并不是靠文件系统保证,而是靠冗余保证
就算 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 支持不好)
reiserfs 杀手文件系统, 一直在用。
根据 phornoix 的评测,xfs 各方面性能都是比 ext4 好的。
www.phoronix.com/scan.php?page=article&item=linux-50-filesystems
xfs 作为 centos 的默认文件系统,周边生态也是很完善的,一般无脑选 xfs 就好了。
至于所谓商用系统,除非用小型机 UNIX 全家桶,自己折腾意义不大吧
ext 之类的文件系统 inode 数有限,存大量小文件基本都会 inode 超标(当然在格式化时可以选块大小改 inode 数,但也有别的问题)
而 reiserfs 不限制 inode 数,小文件随便存,可能这是这个文件系统唯一的好处了。
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 靠拢。
大磁盘 ext4 格式化一次慢到让我怀疑人生,换 xfs 好多了,而且 xfs 有 Redhat 背书,也是不错的。
另外,我用 btrfs,因为有快照,fs 层次的 raid1,scrub,数据 crc 校验,除了 zfs 外,暂时没有一个 fs 能提供这些 feature,zfs 据说太烧内存,用不起