Some of you may be interested in running your qemu-kvm (or other) disk
image files on BTRFS. After some fumbling around, I have found out how
to do it so it works and works very well (especially if it is on an SSD).
Anyone investigating running on BTRFS immediately finds out that there
is a fragmentation problem (just putting image files on btrfs can result
in them having between 50,000 and 100,000 extents). Some may have seen
that adding nodatacow to the mount option is a solution ... it is not.
So what is the solution?
1. execute: chattr +C /var/lib/libvirt/images
or wherever your image files are. This needs to be done on the
directory whether you have a separate subvol or not.
2. This ONLY works for new files and ONLY works for "raw" storage
format files. Pretty much by definition, qcow2 files are sparse format
files and that is the primary problem on btrfs.
So that the vm creation wizard will create a new disk using the raw
storage format, you need to select:
Edit->Preferences->VM Details->Default Storage Format->Raw
After then, an created virtual will have the correct disk format.
You can use "filefrag" to verify that things are working.
Gene
Show replies by date