I've learned some things also, based on benchmarking by using the Fedora 
installer as the test suite:

1. 3x3 matrix of host/guest cfq, noop, deadline, that on spinning rust cfq in 
both host and guest produces the best results.

2. 3x3 matrix of host/guest ext4, xfs, btrfs, also on spinning rust, that Btrfs 
on Btrfs products the best results. The configuration is host Btrfs has a 
preallocated Raw file with xattr +C. Both host and guest Btrfs's are created 
with defaults from current btrfs-progs-0.20.rc1.20131114git9f0c53f-1.fc20, 
meaning both have a leafsize/nodesize of 16KB.

Because the results are all actually quite similar, at least it means Btrfs is 
no worse than other file systems. Interestingly, while +C (nodatacow) also 
means no data checksumming for the file, the contained Btrfs file system of 
course does have checksumming for everything, so there isn't a loss of file 
integrity with this method.

3. I can successfully use qcow2 files, xattr +C, where fragmentation is reduced 
a lot by preallocation metadata. A 20GB QCOW2 starts out with 5 extents, at the 
end of each installation of Fedora 20 live desktop final TC1, file frag reports 
these results:upon creation> fedoratest.img: 5 extents found
after installation1> fedoratest.img: 1255 extents found
after installation2> fedoratest.img: 1773 extents found
after installation3> fedoratest.img: 2148 extents found
after installation4> fedoratest.img: 2245 extents found

I have no data that conclusively indicates a slow down as a result of 
additional extents created. So I'm uncertain of the long term ramifications of 
using qcow2 on Btrfs but it does work. I also don't know where these extents 
are located on the physical device. The Raw file is the only file on this 
particular Btrfs volume. If it were the case multiple qcow2 file extents were 
"interleaved" or otherwise non-contiguous, it's possible multiple VM 
performance would overall be better on Btrfs than on other file systems.

In any case, more testing is needed to demonstrate the pros and cons. This is 
also a question using LVM thinp as a backing for a VM for the same reasons.


Chris Murphy
-- 
users mailing list
users@lists.fedoraproject.org
To unsubscribe or change subscription options:
https://admin.fedoraproject.org/mailman/listinfo/users
Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct
Guidelines: http://fedoraproject.org/wiki/Mailing_list_guidelines
Have a question? Ask away: http://ask.fedoraproject.org

Reply via email to