我知道文件系统支持者的战争即将到来,并且每个文件系统都有大量的微调指南,因此请遵守规范:我问您建议如何快速(读/写)处理大型文件,而可靠性不是优先考虑的。
真实场景:将大型虚拟机映像 (2++ TB) 从备份目标存储复制到本地 (sata) 存储。
已经尝试过:备份目标上的 ZFS(onlinux),但经过几个月的工作后,池变得碎片化并且 I/O(读/写)严重减慢。
接下来进行测试:XFS over LVM 用于目标存储,似乎是显而易见的选择...或者不是?对此有什么好的建议吗?谢谢你!
答案1
好吧,所以我想我已经明白了。说到性能,BTRFS 做得最好。
我尝试了多个基于 Linux 的 NAS,它们都使用相同的硬件但具有不同的文件系统。
我用的是FIO(http://freecode.com/projects/fio)按照 Veeam Software 白皮书的建议运行基准测试,因为我正在使用他们的备份产品(https://www.veeam.com/wp-veeam-backup-replication-v8-designing-planning-backup-repository-performance.html),这些是使用消费级硬盘(SATA WD RED 5400rpm 64mb 缓存)的结果。我相信这个结果对于进一步的测试来说是可靠的和鼓舞人心的,只需做一些数学计算就可以得到相当不言自明的百分比。
900GB non-zero generated data:
ZFS pool 2x1TB: bw=27300KB/s, iops=53, runt=3600053msec
BTRFS vol 2x1TB: bw=41541KB/s, iops=81, runt=3600033msec
BTRFS vol 2x1TB*: bw=48223KB/s, iops=94, runt=3600024msec
1800GB non-zero generated data:
ZFS pool 2x1TB: bw=19528KB/s, iops=38, runt=3600077msec
BTRFS vol 2x1TB: bw=31593KB/s, iops=61, runt=3600031msec
BTRFS vol 2x1TB*: bw=40911KB/s, iops=79, runt=3600023msec
5x10GB seq zeroed files with free space < 10%
ZFS pool 2x1TB: 111 MB/s 114 MB/s 112 MB/s 112 MB/s 124 MB/s
BTRFS vol 2x1TB: 155 MB/s 162 MB/s 145 MB/s 126 MB/s 95,4 MB/s
BTRFS vol 2x1TB*: 293 MB/s 296 MB/s 290 MB/s 283 MB/s 281 MB/s (LZO affects)
*安装选项 autodefrag、compress=LZO、nodatacow。
**与 zfs 相比,Ext4 和 XFS 的效率低了 20% 或更多,这是我的基准测试的最低入门级别。
请注意,这只是对“现实生活”基准测试的贡献,我并不是说 X 总是比 Y 更好,但在我的具体情况下当然是这样。