Regarding QEMU guest HDD images on btrfs:



Both BTRFS and ZFS are COW-based filesystems and I've come across some
warning notes in the interwebs, that this COW mechanism results in
unpleasant and worsening fragmentation problem, if such FS is used as
underlying storage for files that get "overwritten in place" a lot - such as
guest VM hdd images or database extents. Fragmentation hurts even on SSD's,
because it multiplies the number of IOps required to read the file. It is 
especially detrimental on spinning rust with its slow heads (some 60-100 
random IOps).




ZFS is namely good for storing backups = files that you store once, but 
after that you leave them alone (there are no in-place rewrites).  For
backups, the dedupe features of ZFS come in handy.




In btrfs, the COW can be suppressed, using the "nodatacow" mount option (on
a whole BTRFS volume), or you can apply it on individual subvolumes using 
the chattr +C command. This will rid you of COW and fragmentation for normal
operation. But, if you try some snapshots, COW will still activate, because
there's no way around it for snapshots.




On a tangential note, the DeviceMapper subsystem in Linux, which is the 
basis of Linux LVM, has a "snapshot-origin" option (an option to dmsetup).
Yes, DeviceMapper and LVM can do snapshots too, at the block layer. By
default, COW allocates new blocks for a write, and splices them to the live
"origin" file, whereas the snapshot file receives the stale blocks just 
deallocated from the origin file...


So the "snapshot-origin" option turns this around, data are replaced in-
place in the origin file upon mod, and the snapshot file gets a few extra 
blocks allocated, and the old data from the origin file gets copied onto 
this new storage...




Have you checked Proxmox? It has a nice GUI, and uses the LVM for storage 
(gives LV's to guests).




To save disk space on the hypervisor instance, you should aim to use sparse
image files or thin-provisione LVM. And, couple these to DISCARD emulation
in the guest (in the virtio storage device).




Frank

Reply via email to