I have created my own storage drivers for both ZFS and LizardFS file systems. My drivers store the disk images as a group via datasets in ZFS and directory in LizardFS. My drivers were written for older ONE before snapshots were supported. I would like to update the drivers to support snapshots.
Using ONE 5.6, I did a bit of experimenting to see what facilities are called when creating a snapshot. When I try to snap a VM, I see the script /var/tmp/one/vmm/kvm/snapshot_create is called. However, the script just returns error “unsupported configuration: internal snapshot for disk hda unsupported for storage type raw” I’m guessing it expects qcow type images for snapshots. However, technically I can still perform snaps for raw images because the filesystems I use support creating a snapshot of anything. For VM’s that have multiple disk images, I get a consistent snapshot by snapping the entire dataset or directory.
It seems like there should be a way for the KVM (or any other hypervisor driver) to pass the snap request down to the storage driver(s).
How best should I go about implementing this functionality? Should I modify the kvm vmm driver? I would prefer not to do that since it would make future ONE upgrades require merging my changes. Is there some other way that I’m not aware of?
Thanks in advance,