BTRFS EXT3 EXT4 XFS and KVM virtual machine: a host-side filesystem comparison
Well, only some days passed since my latest filesystems comparison. In that article, we see how BTRFS, EXT3, EXT4 and XFS compared each other when used in server and desktop environment.
However, one question remain: what is, performance-wise, the host-side filesystem that you should use for your virtual machine hosting system? In other terms: what host-side filesystem will enable my guest virtual machines to run at full speed? This is not a simple question: while filesystem benchmarking is already a difficult task, it become even more difficult when you take into account the variables added by an HW/OS virtualization layer.
In this article we are going to see how different host-side filesystems affect read / write speed on guest side when using KVM as the virtualization system. But, before go deep, let me first specify how I measured guest performance.
Comments
When looking at fragmentation, do not forget that EXT4 supports a maximum 32K blocks in an extent, which at the default 4KB block size is 128MB.
As your benchmarks show, does not appear to be a performance limitation.
What would be more interesting is rerunning the benchmarks on an aged filesystem and compare how performance degrades with age.
sorry for the late reply.
You are correct about EXT4 extent size, but theoretically nothing prevents 2 extents to be placed one after the other. In fact, the filefrag utility checks if two extents are consecutively placed and, in this case, it does not report two different fragments, but only one.
Do you have any proposal about the aged filesystem? Any idea is welcomed ;)
Thanks for the very helpful article. Would you be open to the suggestion of running the same tests with OCFS2 on a single node (it is the only fs other than btrfs with 'reflink' file snapshots that are very useful for backing up VMs)
Kind regards
Jack
RSS feed for comments to this post