On 02/09/2016 09:37 AM, Denis V. Lunev wrote: > On 02/09/2016 05:21 PM, Stefan Hajnoczi wrote: >> On Fri, Feb 05, 2016 at 11:28:42AM +0300, Denis V. Lunev wrote: >>> On 02/03/2016 11:14 AM, Fam Zheng wrote: >>>> On Sat, 01/30 13:56, Vladimir Sementsov-Ogievskiy wrote: >>>>> Hi all. >>>>> >>>>> These series which aims to add external backup api. This is needed >>>>> to allow >>>>> backup software use our dirty bitmaps. >>>>> >>>>> Vmware and Parallels Cloud Server have this feature. >>>> What is the advantage of this appraoch over "drive-backup >>>> sync=incremental >>>> ..."? >>> This will allow third-party vendors to backup QEMU VMs into >>> their own formats or to the cloud etc. >> Backup software can implement NBD to receive the incremental blocks from >> QEMU. Use drive-backup sync=incremental and the backup appliance as the >> NBD target. >> >> It's more complicated to add this QMP command flow to backup software >> than to implement NBD. >> >> Stefan > it can, but this is a matter of problem due to the nature of > how this software is implemented. Usually it is written > in a semi-standard way and it uses "plugins" to actually > collect the data, i.e. the code is written in standard > interface/real implementation pattern and interfaces are > basically the same. > > With this standard approach backup software is working > as an active side of the process, i.e. it performs operations > and controls the flow. > > This means that "non-standard" QEMU technology will be > pain here. > > Den
Am I to understand that for e.g. VMWare the backup appliance is literally reading the disk image from storage directly while the VM is running? I'd be a bit surprised if that were true. My biggest concern here is that there is not a safe way, today, to read from a disk image atomically while the VM is running. I think that'd take a lot of work to do and you'll not find a lot of support in implementing it. Of course, while the VM is paused/off is a different story, but for now I still feel like NBD is the right answer for getting block data from QEMU. What am I missing? --js