假设平均文件大小为 8-30GB,且在任何给定时间访问阵列的用户不超过 1-2 个,那么 Ubuntu 10.10 的最佳文件系统是什么?
答案1
在您列出的两个(ext3 和 XFS)中,我倾向于使用 XFS,它们的功能大致相似,而且您似乎不会特别努力地推行它们,但考虑到 ext3 实际上只能增长到最大 32 TB,而您在第一天就已经想要 20 TB,我会说使用 XFS,因为如果超过 32 TB 的限制,它将允许更大、更平稳的增长。
答案2
鉴于扩展和ext4仍然限制为 16TB 卷(ext2/3 的限制为 2^32 个 4KiB 块,而 ext4 理论上有更高的限制e2fsprogs由于不支持它,我想说,对于广泛使用、稳定的文件系统来说,唯一真正的选择是 XFS。
编辑:添加注释,说明为什么即使您更改块大小,ext3 也根本不起作用。
$ head -n2 /etc/motd
Linux uranium 2.6.35-24-generic #42-Ubuntu SMP Thu Dec 2 02:41:37 UTC 2010 x86_64 GNU/Linux
Ubuntu 10.10
$ mkfs.ext3 -b 8192 ./8KiBfs
Warning: blocksize 8192 not usable on most systems.
mke2fs 1.41.12 (17-May-2010)
mkfs.ext3: 8192-byte blocks too big for system (max 4096)
Proceed anyway? (y,n) y
Warning: 8192-byte blocks too big for system (max 4096), forced to continue
./8KiBfs is not a block special device.
Proceed anyway? (y,n) y
Filesystem label=
OS type: Linux
Block size=8192 (log=3)
Fragment size=8192 (log=3)
Stride=0 blocks, Stripe width=0 blocks
16384 inodes, 16384 blocks
819 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=33550336
1 block group
65528 blocks per group, 65528 fragments per group
16384 inodes per group
Writing inode tables: done
Creating journal (1024 blocks): done
Writing superblocks and filesystem accounting information: done
This filesystem will be automatically checked every 25 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
$ sudo mount ./8KiBfs /mnt/8KiBfs/ -o loop
mount: wrong fs type, bad option, bad superblock on /dev/loop0,
missing codepage or helper program, or other error
In some cases useful info is found in syslog - try
dmesg | tail or so
$ dmesg | tail -n 1
[1396759.041587] EXT3-fs (loop0): error: bad blocksize 8192
我并不是想在这里重复老生常谈,但那些坚持认为 ext3 可以让你使用 8KiB 块构建 32TiB 文件系统的人显然从未尝试过。我愿意听取关于如何让它工作的建议,但从表面上看,它就是行不通。好吧,我的测试文件系统只有 128MB,但我甚至不能使用 8KiB 块 - 这是架构限制。
我无法轻松访问 > 16TiB 块设备来演示 ext4 中的限制,但我可能可以在下周安排。
就我们目前所知,XFS 绝对是最佳选择。
答案3
通常,当文件 1) 非常小、文件 2) 非常多或目录树非常深时,文件系统性能会有所不同。由于这些标准都不适用于此,我预计您不会看到与文件系统的显著性能差异。我会选择 ext3,以便尽可能成为主流。
答案4
XFS、EXT4、JFS。Btrfs(适用于 real-brave):-)